数据库查询语句select有什么用?


本文摘自PHP中文网,作者青灯夜游,侵删。

数据库查询语句select用于从表中选取数据,结果被存储在一个结果表中(称为结果集);语法格式为“SELECT [列名称] FROM 表名称 [WHERE子句的等限制条件];”。

(推荐教程:mysql视频教程)

SELECT 语句

SELECT 语句用于从表中选取数据。

结果被存储在一个结果表中(称为结果集)。

SELECT 的语法格式如下:

1

2

3

4

5

6

7

8

9

10

SELECT

{* | <字段列名>}

[

FROM <表 1>, <表 2>…

[WHERE <表达式>

[GROUP BY <group by definition>

[HAVING <expression> [{<operator> <expression>}…]]

[ORDER BY <order by definition>]

[LIMIT[<offset>,] <row count>]

]

其中,各条子句的含义如下:

  • {*|<字段列名>}包含星号通配符的字段列表,表示所要查询字段的名称。

  • <表 1>,<表 2>…,表 1 和表 2 表示查询数据的来源,可以是单个或多个。

  • WHERE <表达式>是可选项,如果选择该项,将限定查询数据必须满足该查询条件。

  • GROUP BY< 字段 >,该子句告诉 MySQL 如何显示查询出来的数据,并按照指定的字段分组。

  • [ORDER BY< 字段 >],该子句告诉 MySQL 按什么样的顺序显示查询出来的数据,可以进行的排序有升序(ASC)和降序(DESC),默认情况下是升序。

  • [LIMIT[<offset>,]<row count>],该子句告诉 MySQL 每次显示查询出来的数据条数。

使用“*”查询表的所有字段

SELECT 可以使用“*”查找表中所有字段的数据,语法格式如下:

1

SELECT * FROM 表名;

使用“*”查询时,只能按照数据表中字段的顺序进行排列,不能改变字段的排列顺序。

例 1

从 tb_students_info 表中查询所有字段的数据,SQL 语句和运行结果如下所示。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

mysql> use test_db;

Database changed

mysql> SELECT * FROM tb_students_info;

+----+--------+---------+------+------+--------+------------+

| id | name   | dept_id | age  | sex  | height | login_date |

+----+--------+---------+------+------+--------+------------+

|  1 | Dany   |       1 |   25 | F    |    160 | 2015-09-10 |

|  2 | Green  |       3 |   23 | F    |    158 | 2016-10-22 |

|  3 | Henry  |       2 |   23 | M    |    185 | 2015-05-31 |

|  4 | Jane   |       1 |   22 | F    |    162 | 2016-12-20 |

|  5 | Jim    |       1 |   24 | M    |    175 | 2016-01-15 |

|  6 | John   |       2 |   21 | M    |    172 | 2015-11-11 |

|  7 | Lily   |       6 |   22 | F    |    165 | 2016-02-26 |

|  8 | Susan  |       4 |   23 | F    |    170 | 2015-10-01 |

|  9 | Thomas |       3 |   22 | M    |    178 | 2016-06-07 |

| 10 | Tom    |       4 |   23 | M    |    165 | 2016-08-05 |

+----+--------+---------+------+------+--------+------------+

10 rows in set (0.26 sec)

结果显示,使用“*”通配符时,将返回所有列,数据列按照创建表时的顺序显示。

注意:一般情况下,除非需要使用表中所有的字段数据,否则最好不要使用通配符“*”。虽然使用通配符可以节省输入查询语句的时间,但是获取不需要的列数据通常会降低查询和所使用的应用程序的效率。使用“*”的优势是,当不知道所需列的名称时,可以通过“*”获取它们。

查询表中指定的字段

查询表中的某一个字段的语法格式为:

1

SELECT < 列名 > FROM < 表名 >;

例 2

查询 tb_students_info 表中 name 列所有学生的姓名,SQL 语句和运行结果如下所示。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

mysql> SELECT name FROM tb_students_info;

+--------+

| name   |

+--------+

| Dany   |

| Green  |

| Henry  |

| Jane   |

| Jim    |

| John   |

| Lily   |

| Susan  |

| Thomas |

| Tom    |

+--------+

10 rows in set (0.00 sec)

输出结果显示了 tb_students_info 表中 name 字段下的所有数据。

使用 SELECT 声明可以获取多个字段下的数据,只需要在关键字 SELECT 后面指定要查找的字段名称,不同字段名称之间用逗号“,”分隔开,最后一个字段后面不需要加逗号,语法格式如下:

1

SELECT <字段名1>,<字段名2>,…,<字段名n> FROM <表名>;

例 3

从 tb_students_info 表中获取 id、name 和 height 三列,SQL 语句和运行结果如下所示。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

mysql> SELECT id,name,height

    -> FROM tb_students_info;

+----+--------+--------+

| id | name   | height |

+----+--------+--------+

|  1 | Dany   |    160 |

|  2 | Green  |    158 |

|  3 | Henry  |    185 |

|  4 | Jane   |    162 |

|  5 | Jim    |    175 |

|  6 | John   |    172 |

|  7 | Lily   |    165 |

|  8 | Susan  |    170 |

|  9 | Thomas |    178 |

| 10 | Tom    |    165 |

+----+--------+--------+

10 rows in set (0.00 sec)

输出结果显示了 tb_students_info 表中 id、name 和 height 三个字段下的所有数据。

以上就是数据库查询语句select有什么用?的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

jsp链接mysql步骤方法

jdbc连接操作mysql,直接操作和预处理方式

mysql中if语句如何使用

mysql更新语句怎么写?

mysql&nbsp;创建三张关系表实操

mysql如何查询当前用户下的所有表名

mysql产生随机数并连接字符串如何实现

如何解决mysql config 缺失问题

mysql关于加密解密的函数

mysql中关于修改root密码以及安装与配置调优的方法介绍

更多相关阅读请进入《mysql》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...