2个查询命令

  • 查询当前的MySQL版本号

有时候我们需要了解一下我们的MySQL版本号,有2种查询方式供我们使用,

  1. 在MySQL命令行中输入

    1. SELECT VERSION();

    MySQL将为我们打印当前的版本号,如下图所示
    image.png

  2. 不需要进入MySQL,在Windows的cmd命令行下也可以查询当前版本号(前提是MySQL的路径已经设置了环境变量),我们可以使用命令mysql --versionmysql -V 来查询版本号。

    1. mysql --verison
    2. mysql -V

    如果环境变量设置没有问题,也可以正常返回当前MySQL的版本号。
    image.png

  • 查询当前所在数据库

前面我们讲到,可以使用USE 数据库名; 来却切换到某个数据库下,但有时候我们可能需要查看下我们现在处在哪个数据库中,以方便我们进行其他操作,此时可使用一条简单的命令

  1. SELECT DATABASE();

如果我们使用过USE命令,MySQL将会返回我们当前所处的数据库名,如图
image.png
如果此时你刚登陆MySQL,还没有执行过切换数据库的操作,执行该命令后将返回NULL。
image.png

查询数据表单列,多列和所有列数据

MySQL中最常用的就是SELECT语句,可以实现对数据表从简单到复杂的查询。

查询单列

先从最基本的查询开始,比如我们要查询数据表中某列数据,可以使用SELECT 列名 from [数据库名.]表名来查询,例如

  1. SELECT first_name FROM employees;

如果该表中有first_name字段且该自断下有数据的话,将会打印到屏幕上,如图
image.png

查询多列

查询多列的操作和单列很类似,即SELECT 列名1, 列名2,列名3... FROM [数据库名.]表名来进行多列查询,其中多列的顺序可以随意放置而无需考虑原数据库的列顺序。
比如我们想要查询first_name, last_name, email三个字段的值,那么我们的MySQL命令如下

  1. SELECT last_name, first_name, email FROM employees;

执行后返回的结果如下image.png

查询所有列

查询所有列一般有两种方法

  1. 使用*通配符查询所有列,命令很简单,如下

    1. SELECT * FROM employees;

    即可查询到该表所有列下的数据,当然除非必要,否则这种查询非常耗时和性能,而且通常打印出的列顺序就是该表中列的顺序。如图所示
    image.png

  2. 使用多列查询的语法,只不过把多列换成所有的列,如下命令

    1. SELECT
    2. employee_id,
    3. last_name,
    4. first_name,
    5. email,
    6. phone_number,
    7. job_id,
    8. salary,
    9. commission_pct,
    10. manager_id,
    11. department_id,
    12. hiredate
    13. FROM employees;

    这样做相比较于*(通配符)的好处在于可以自己决定列的顺序,差的地方在于如果列非常多的情况下比较费时且容易出错。
    另外注意的一点是:当MySQL命令较长时,我们一般分成多行来写,将关键字写在一行上,这样写既美观又不容易出错,最重要的是MySQL会忽略我们写的空格和换行,不会引起操作上的错误。

    创建表

    使用MySQL最基础的一步大概就是创建表了,只有创建表之后才能进行插入数据、查询数据、删除数据等操作,我们这里只涉及最基本的创建表操作,更复杂地我们会在后面详细讲解。
    创建表要用到CREATE TABLE关键字,同时还需要对MySQL的数据类型有一定了解,我们这里仅演示创建一个最基本的数据表。
    假如我们要创建这样一个表stuinfo,该表有2列,分别是学生id列和学生name列,id列为数字int类型,name列为字符串类型,我们可以使用这样的SQL命令

    1. CREATE TABLE stuinfo(stu_id int, stu_name char(20));

    此时我们已经成功创建了表stuinfo,我们可以使用SHOW命令查看

    1. SHOW TABLES FROM test;

    可以看到下图中的stuinfo表。
    image.png

    插入数据

    同创建表一样,我们这里也只会讲解最基本的插入数据命令,更复杂的我们会在后面单独讲解。
    插入数据要用到关键字INSERT INTO,后面跟上要插入的表名,然后再指定插入的列和数据即可,例如我们要向我们刚刚创建的stuinfo插入一条id为1000,名字为Tom的数据,执行以下SQL命令:

    1. INSERT INTO stuinfo(
    2. stu_id,
    3. stu_name)
    4. VALUES(
    5. 1000,
    6. 'Tom');

    然后我们使用SELECT语句来验证下我们是否插入成功,执行如下命令:

    1. SELECT * FROM stuinfo;

    image.png
    可以看到我们刚才的数已经成功插入到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.