2个查询命令
- 查询当前的MySQL版本号
有时候我们需要了解一下我们的MySQL版本号,有2种查询方式供我们使用,
在MySQL命令行中输入
SELECT VERSION();
MySQL将为我们打印当前的版本号,如下图所示

不需要进入MySQL,在Windows的cmd命令行下也可以查询当前版本号(前提是MySQL的路径已经设置了环境变量),我们可以使用命令
mysql --version或mysql -V来查询版本号。mysql --verisonmysql -V
如果环境变量设置没有问题,也可以正常返回当前MySQL的版本号。

- 查询当前所在数据库
前面我们讲到,可以使用USE 数据库名; 来却切换到某个数据库下,但有时候我们可能需要查看下我们现在处在哪个数据库中,以方便我们进行其他操作,此时可使用一条简单的命令
SELECT DATABASE();
如果我们使用过USE命令,MySQL将会返回我们当前所处的数据库名,如图
如果此时你刚登陆MySQL,还没有执行过切换数据库的操作,执行该命令后将返回NULL。
查询数据表单列,多列和所有列数据
MySQL中最常用的就是SELECT语句,可以实现对数据表从简单到复杂的查询。
查询单列
先从最基本的查询开始,比如我们要查询数据表中某列数据,可以使用SELECT 列名 from [数据库名.]表名来查询,例如
SELECT first_name FROM employees;
如果该表中有first_name字段且该自断下有数据的话,将会打印到屏幕上,如图
查询多列
查询多列的操作和单列很类似,即SELECT 列名1, 列名2,列名3... FROM [数据库名.]表名来进行多列查询,其中多列的顺序可以随意放置而无需考虑原数据库的列顺序。
比如我们想要查询first_name, last_name, email三个字段的值,那么我们的MySQL命令如下
SELECT last_name, first_name, email FROM employees;
查询所有列
查询所有列一般有两种方法
使用*通配符查询所有列,命令很简单,如下
SELECT * FROM employees;
即可查询到该表所有列下的数据,当然除非必要,否则这种查询非常耗时和性能,而且通常打印出的列顺序就是该表中列的顺序。如图所示

使用多列查询的语法,只不过把多列换成所有的列,如下命令
SELECTemployee_id,last_name,first_name,email,phone_number,job_id,salary,commission_pct,manager_id,department_id,hiredateFROM employees;
这样做相比较于*(通配符)的好处在于可以自己决定列的顺序,差的地方在于如果列非常多的情况下比较费时且容易出错。
另外注意的一点是:当MySQL命令较长时,我们一般分成多行来写,将关键字写在一行上,这样写既美观又不容易出错,最重要的是MySQL会忽略我们写的空格和换行,不会引起操作上的错误。创建表
使用MySQL最基础的一步大概就是创建表了,只有创建表之后才能进行插入数据、查询数据、删除数据等操作,我们这里只涉及最基本的创建表操作,更复杂地我们会在后面详细讲解。
创建表要用到CREATE TABLE关键字,同时还需要对MySQL的数据类型有一定了解,我们这里仅演示创建一个最基本的数据表。
假如我们要创建这样一个表stuinfo,该表有2列,分别是学生id列和学生name列,id列为数字int类型,name列为字符串类型,我们可以使用这样的SQL命令CREATE TABLE stuinfo(stu_id int, stu_name char(20));
此时我们已经成功创建了表stuinfo,我们可以使用
SHOW命令查看SHOW TABLES FROM test;
插入数据
同创建表一样,我们这里也只会讲解最基本的插入数据命令,更复杂的我们会在后面单独讲解。
插入数据要用到关键字INSERT INTO,后面跟上要插入的表名,然后再指定插入的列和数据即可,例如我们要向我们刚刚创建的stuinfo插入一条id为1000,名字为Tom的数据,执行以下SQL命令:INSERT INTO stuinfo(stu_id,stu_name)VALUES(1000,'Tom');
然后我们使用
SELECT语句来验证下我们是否插入成功,执行如下命令:SELECT * FROM stuinfo;

可以看到我们刚才的数已经成功插入到stuinfo表中。
最后,我们来总结下我们这章学到的MySQL命令
| 命令 | 含义 |
|---|---|
| SELECT VERSION(); | 在MySQL中查询当前的MySQL版本号 |
| SELECT DATABASE(); | 查询当前所在的数据库 |
| SELECT stu_id FROM stuinfo; | 查询表stuinfo中stu_id列的所有数据 |
| SELECT stu_id, stu_name FROM stuinfo; | 查询表stuinfo下stu_id,stu_name列的所有数据 |
| SELECT * FROM stuinfo; | 查询表stuinfo中的所有数据 |
| CREATE TABLE stuinfo(stu_id int, stu_name char(20)); | 创建表stuinfo,且该表下有2个列,分别是stu_id和stu_name |
| INSERT INTO stuinfo(stu_id, stu_name) VALUES(1000, ‘Tom’); | 想stuinfo表插入一条数据 |
End.
