- 参考资料
- 《MySQL必知必会(文字版)》
1、检索数据 - SELECT 语句
1.1 检索单列
SELECT price FROM list;

1.2 检索多列
SELECT price, type FROM list;

- 检索所有列
SELECT * FROM list;
1.3 检索不同的行
- 使用
DISTINCT关键字:只返回不同的值。
- 不能部分使用
DISTINCT。DISTINCT关键字应用于所有列而不仅是前置它的列。- 如果给出
SELECT DISTINCT price, type FROM list;,除非指定的两个列都不同,否则所有行都将被检索出来。
// 错误写法
SELECT type, DISTINCT price FROM list;
// 正确写法
SELECT DISTINCT price, type FROM list;

1.4 限制结果
- 带一个值的
LIMIT总是从第一行开始,给出的数为返回的行数。
- 例:
SELECT id,price FROM list LIMIT 5—> 返回5项

- 带两个值的
LIMIT可以指定从行号为第一个值的位置开始。
- 例:
SELECT id,price FROM list LIMIT 5,5;—》 从第5项开始,返回5项

- 行0:检索出来的第一行为行0而不是行1。因此,
LIMIT 1, 1将检索出第二行而不是第一行。
1.5 排序
- 字句
ORDER BY:
- 多个列排序,按先后顺序排序
- 例:
ORDER BY price,type===》 先按价格排序,再到按种类排序
- 不过,仅在多个行具有相同的
price值时才对产品按type进行排序,如果price列中所有的值都是唯一的,则不会按type排序。

- 指定排序方向 —》
DESC关键字(降序)【默认是升序—ASC】DESC关键字只应用到直接位于其前面的列名- 如果想在多个列上进行降序排序,必须对每个列指定
DESC关键字。
SELECT id,price,name FROM list ORDER BY price DESC,type;

- 注意:
- 在给出
ORDER BY子句时,应该保证它位于FROM子句之后。- 如果使用
LIMIT,它必须位于ORDER BY之后。- 使用子句的次序不对将产生错误消息。