SELECT 语句
SELECT的用途是从一个或多个表中检索信息。
使用 SELECT 检索表数据,必须至少给出两条信息——想选择什么,以及从什么地方选择。
检索单个列
列名写在 SELECT 关键字之后, FROM 关键字指出从哪个表中检索数据
SELECT 列名, 列名 FROM 表名;
SELECT 语句从 Products 表中检索一个名为 prod_name的列:
MySql命令行最后一条信息说明检索了多少行,以及花了多长时间。
结束 SQL 语句
多条 SQL 语句必须以分号( ; )分隔。
SQL 语句和大小写
SQL 语句不区分大小写。
许多 SQL 开发人员喜欢对 SQL 关键字使用大写,而对列名和表名使用小写,这样做代码更易于阅读和调 试。
使用空格
在处理 SQL 语句时,其中所有空格都被忽略。 SQL 语句可以写成长长的一行,也可以分写在多行。
下面这 3 种写法的作用是一样的:
SELECT prod_name
FROM Products;
SELECT prod_name FROM Products;
SELECT
prod_name
FROM
Products;
检索多个列
想从一个表中检索多个列,必须在 SELECT 关键字后给出多个列名,列名之间必须以逗号分隔。
Products 表中选择 3 列:
检索所有列
SELECT 语句还可以检索所有的列,实际列名的位置使用星号(*)通配符可以做到这点:
检索不需 要的列通常会降低检索速度和应用程序的性能。
检索不同的值
使用 DISTINCT 关键字,指示数据库只返回不同的值。
DISTINCT 关键字作用于所有的列,不仅仅是跟在其后的那一列。
限制结果行数
MySQL中,使用 SELECT 时,可以用 LIMIT 关键字来限制最多返回多少行:
LIMIT 5 指示 MySQL 返回不超过5行的数据。
指定从第几行开始
LIMIT 带的 OFFSET 指定从哪里开始:
LIMIT 5 OFFSET 5 指示 MySQL 等 DBMS 返回从第 5 行起的 5 行数据。Products 表中只有 9 种产品,所以 LIMIT 5 OFFSET 5 只返回了 4 行数据。
第 0 行
第一个被检索的行是第 0 行,而不是第 1 行。因此,LIMIT 1 OFFSET 1 会检索第 2 行,而不是第 1 行。
MySQL捷径
MySQL可以把 LIMIT 4 OFFSET 3 语句简化为 LIMIT 3,4。使用这个语法,逗号之前的值对应 OFFSET,逗号之后的值对应LIMIT(反着的,要小心)。
使用注释
行内注释
注释使用-- (两个连字符)嵌在行内。 -- 之后的文本就是注释:
在一行的开始处使用#,这一整行都将作为注释。
多行注释
多行注释可以在脚本的任何位置停止和开始,注释从/*开始,到*/结束, /*和*/之间的任何内容都是注释。这种方式常用于把代码注释掉:
/* SELECT prod_name, vend_id
FROM Products; */
SELECT prod_name
FROM Products;