软件安装教程及环境配置参考此博客Windows下Mysql和Navicat的安装及使用。连接到mysql,需要以下信息:
主机名(计算机名)——若连接到本地mysql服务器,为localhost;端口(若使用默认端口3306之外的端口);用户名和密码 在Windows下,利用cmd登录mysql,命令如下: net start mysql #启动mysql服务 mysql -u root -p #登录mysql当配置文件更改后,需要重启mysql服务,命令如下:
net stop mysql #停止mysql服务 net start mysql #启动mysql服务 mysql -u root -p #登录mysql结果如下图: 使用SHOW命令来查看数据库信息
SHOW DATABASES;结果如下: 使用SHOW TABLES命令来获取一个数据库中表的列表,命令如下:
SHOW TABLES;结果如下: 这里输入上述命令的时候,出现ERROR 1046:No database selected,因为没有选择数据库,所以先使用USE命令选择数据库的名称,再使用SHOW TABLES命令,查看test数据库下的表格,如图所示:
USE test; SHOW TABLES; SHOW COLUMNS FROM table1;SHOW COLUMNS要求给出一个表名,其对每个字段返回一行,行中包含字段名、数据类型、是否允许NULL、键信息、默认值以及其他信息 自动增量: 在每个行添加到表中时,mysql可以自动地为每个行分配下一个可用的编号,不用在添加一行时手动分配唯一值。 所支持的其他SHOW语句还有:
SHOW STATUS——用于显示服务器状态;SHOW CREATE DATABASE和SHOW CREATE TABLE——分别用来显示创建特定数据库或表的mysql语句;SHOW GRANTS——用来显示授予用户(所有用户或特定用户)的安全权限;SHOW ERRORS和SHOW WARNINGS,用来显示服务器错误或警告信息。检索单个列,命令格式如下:
# SELECT 列名称 FROM 表名称; SELECT id FROM table1; #在表table1中检索id列所需列名在SELECT关键字之后给出,FROM关键字指出从其中检索数据的表名
注: 结束sql语句: 多条SQL语句必须以分号;分隔 sql语句和大小写: SQL语句不区分大小写 使用空格: 在处理SQL语句时,语句中所有空格都被忽略
在SELECT关键字后给出多个列名,列名之间必须以逗号分隔,即可检索一个表中的多个列。命令格式如下:
SELECT id,name,home FROM table1;用星号(*)通配符来检索所有的列,如下所示:
SELECT * FROM table1;当检索的列中有相同的行时,可使用DISTINCT关键字来指示mysql只返回不同的值,如下所示:
SELECT DISTINCT id FROM table1;SELECT DISTINCT id告诉mysql只返回不同(唯一)的id行,DISTINCT关键字必须放在列名的前面。
SELECT语句返回所有匹配的行,它们可能是指定表中的每个行。为 了返回第一行或前几行,可使用LIMIT子句,命令如下:
SELECT name FROM table1 LIMIT 3;LIMIT 3返回从首行开始的三行。下面返回第n行开始的m行,命令如下:
SELECT name FROM table1 LIMIT 3,2;LIMIT 3,2表示MySQL返回从行3开始的2行。第一个数为开始位置,第二个数为要检索的行数。 行0: 检索出来的第一行为行0而不是行1。因此LIMIT 1,1将检索出第二行而不是第一行。 mysql 5支持LIMIT的另一种替代语法:LIMIT 4 OFFSET 3为从第3行开始取4行,类似LIMIT 3, 4。
若table1已存在test数据库中,则可使用以下命令:
SELECT table1.name FROM test.table1;为了明确地排序用SELECT语句检索出的数据,可使用ORDER BY子句。ORDER BY子句取一个或多个列的名字,据此对输出进行排序:
SELECT id FROM table1 ORDER BY home;此命令对id列以home中的元素的字母顺序排序输出,即对home按照字母进行排序,然后id按照此排序输出。
此命令对phone列先按home中的元素的字母顺序排序,再按照id排序输出。
数据排序不限于升序排序(从A到Z)。这只是默认的排序顺序,还可以使用ORDER BY子句以降序(从Z到A)顺序排序。为了进行降序排序,必须指定DESC关键字,命令如下:
SELECT phone FROM table1 ORDER BY home DESC;注: DESC关键字只应用到直接位于其前面的列名。
结合上述例子,可结合ORDER BY和LIMIT,找出一个列中最高或最低的值,命令如下:
SELECT phone FROM table1 ORDER BY home DESC LIMIT 1;