检索数据——select
目录
检索多个列:select 列名1,列名2,列名3 from 表名;
只返回不同的值:select distinct 列名 from 表名;
限制结果,只返回几行:select 列名 from 表名 limit 数字;
使用完全限定的表名来引用列:select 表名.列名 from 表名;
检索单个列:select 列名 from 表名;
检索多个列:select 列名1,列名2,列名3 from 表名;
从一个表中检索多个列,在SELECT关键字后给出多个列名,列名之间必须以逗号分隔,但最后一个列名后不加。
检索所有列:select * from 表名;
一般,除非你确实需要表中的每个列,否则最好别使用*通配符。虽然使用通配符可能会使你自己省事,不用明确列出所需列,但检索不需要的列通常会降低检索和应用程序的性能。
只返回不同的值:select distinct 列名 from 表名;
DISTINCT关键字应用于所有列而不仅是前置它的列,即不能部分使用DISTINCT。如果给出SELECT DISTINCT vend_id,prod_price,除非指定的两个列都不同,否则所有行都将被检索出来。
限制结果,只返回几行:select 列名 from 表名 limit 数字;
为得出下一个5行,可指定要检索的开始行和行数:select 列名 from 表名 limit 5,5;
LIMIT 5, 5指示MySQL返回从行5开始的5行。第一个数为开始位置,第二个数为要检索的行数。
行0 检索出来的第一行为行0而不是行1。因此,LIMIT 1, 1将检索出第二行而不是第一行。
LIMIT中指定要检索的行数为检索的最大行数。如果没有足够的行(例如,给出LIMIT 10, 5,但只有13行),MySQL将只返回它能返回的那么多行。
使用完全限定的表名来引用列:select 表名.列名 from 表名;
表名也可以是完全限定的:select products.prod_name from lu_test.products;