[学会MySql系列] 第二篇:检索数据

文章目录

        • 1. 一些规则
          • 1.1 关键词
          • 1.2 大小写
          • 1.3 语句
        • 2. SHOW
        • 3. USE
        • 4. SELECT
          • 4.1 多选
          • 4.2 定义限制结果
        • 5. ORDER BY

1. 一些规则

1.1 关键词

学过编程语言的肯定知道,关键词就是在语言系统中保留字,具备特定的意义和功能,SQL语句也是一样的。不过SQL语言系统中的保留字相对会较多,具体可见附录。

接下来若干篇幅会根据常用的关键字介绍功能。

1.2 大小写

在SQL语句中,并不分大小写,所以关键词的大写和小写都执行一样的功能。

不过一般约定俗称的习惯是将关键词全大写,将对象(数据库实例、表、列等)全小写。

1.3 语句

SQL语句是由关键词和待处理实例(对象)组成的,语句结束符是;或者\g(因为方便一般会使用;),空格和换行都不意味这语句的结束。

2. SHOW

SHOW关键词主要功能是查看,可以查看数据库列表,表列表,列列表等等。

对于我来说是非常好用又基础的命令,因为在处理数据之前有可能会忘记实例的准确名字,通过SHOW关键词可以帮我解决我需要帮助的记性。

句法如下:

SHOW DATABASES;
#显示服务器上的数据库列表
SHOW TABLES;
#数据库中的表列表,这里需要先选定某一数据库
SHOW COLUMNS FROM tablename;
#显示表中的列

结果如下

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| library            |    #<---------------这是我们建立的数据库,其他都是系统的数据库
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)
mysql> SHOW TABLES;
+-------------------+
| Tables_in_library |
+-------------------+
| products          |
+-------------------+
1 row in set (0.00 sec)
mysql> SHOW COLUMNS FROM products;
+------------+-------------+------+-----+---------+----------------+
| Field      | Type        | Null | Key | Default | Extra          |
+------------+-------------+------+-----+---------+----------------+
| prod_id    | int(11)     | NO   | PRI | NULL    | auto_increment |
| prod_name  | char(50)    | NO   |     | NULL    |                |
| quantity   | int(11)     | NO   |     | NULL    |                |
| item_price | float       | NO   |     | NULL    |                |
| supplier   | varchar(50) | NO   |     | NULL    |                |
| numbers    | int(11)     | NO   |     | NULL    |                |
| address    | varchar(50) | NO   |     | NULL    |                |
+------------+-------------+------+-----+---------+----------------+
7 rows in set (0.00 sec)

3. USE

USE关键词主要功能是导入数据库,一般都是在最前面定义的语句。比如上面查看表列表的时候需要先导入某一个数据库
句法如下

USE mydatabase;
SHOW TABLES;

这就是查看在数据库mydatabase中可用表的列表,结果如下,表示有两个表可以使用(分别是friends、family)。

+---------------------------+
|  Tables_in_mydatabases    |
+---------------------------+
|  myfriends                |
|  family                   |
+---------------------------+

4. SELECT

SELECT关键词主要功能就是选择数据(众所周知select就是选择的意思)。这大概是最常用的关键词。SELECT能够组合很多子句,达到条件下选择数据的功能。后面会见到。

句法如下

USE mydatabase;
SELECT names FROM myfriends;
#这里使用的是列名(names)同样可以用完全限定列名(myfriends.names)
SELECT names
From myfriends;

第二句和第三、四句实现的功能都是一样的,但是后面这种方式看代码时更加容易理解。

4.1 多选

可以选择多列或者全部列

#选择两列
SELECT names, telephones
FROM myfriends;
#选择全部列
SELECT *
FROM myfriends;
4.2 定义限制结果

可以通过关键词LIMIT定义结果数量,DISTINCT定义非重复结果。

SELECT DISTINCT names
FROM myfriends
LIMIT 2,5;

语句表示在friends中的非重复项中从第3行开始选择5行作为结果。

  • 注:行索引从0开始。

5. ORDER BY

SELECT语句选出的结果并没有一般意义上的排序含义,如果想要结果能够以某种顺序的形式出现,可以使用ORDER BY子句。

SELECT names 
FROM myfriends
ORDER BY names

输出的就是names按照首字母排序的结果。

当然关于排序也有很多种设置,比如多列排序,升序降序等。例如

SELECT names, statue
FROM myfriends
ORDER BY statue DESC, names;

输出的是names、statue两列,并且按照statue降序排列names升序排列(排列默认是升序)。

你可能感兴趣的:(mysql)