如果没有明确排序查询结果,则返回的数据的顺序没有特殊意义。返回数据的顺序可能是数据被添加到表中的顺序,也可能不是。
表test
Field | Type | Null | Key | Default | Extra |
id | int(11) | NO | PRI | NULL | auto_increment |
name | char(50) | NO | NULL | ||
city | char(50) | YES | NULL | ||
school | char(50) | YES | NULL |
1.检索单个列
SELECT name FROM test;
2.检索多个列
SELECT name, city FROM test;
3.检索所有列
SELECT语句还可以检索所有的列而不必逐个列出它们。可以通过在实际列名的位置使用星号(*)通配符来达到:
SELECT * FROM test;
一般,除非确实需要表中的所有列,否则最好别使用*通配符。检索不需要的通常会降低检索和应用程序的性能。
4.检索不同的行
使用DISTINCT关键字可以指示MySQL只返回不同的值。
例子:SELECT DISTINCT name FROM test;
此例返回test表中不同的name字段。
****DISTINCT 关键字应用于所有列而不是前置它的列。例如SELECT DISTINCT name, city FROM test;返回name和city字段不同的组合。
5.限制返回结果数量-----LIMIT关键字
例子1:SELECT name FROM test LIMIT 5;
LIMIT 5指示MySQL返回不多于5行。
例子2:SELECT name FROM test LIMIT 5,5;
LIMIT 5,5指示MySQL返回从行5开始的5行。第一个数位开始位置,第二个数位要检索的行数。
所以,带一个值的LIMIT总是从第一行开始,给出的数位返回的行数。带两个值的LIMIT可以指定从行号为第一个值的位置开始
注:行0为检索出来的第一行
注:MySQL支持LIMIT的另一种替代语法。LIMIT 4 OFFSET 3 和 LIMIT 3,4的意义是一样的。