检索数据


--select 语句
检索单个列:
select student_name from school;
利用select语句从school数据库中查询学生的姓名。

sql语句的结束:
sql语句需要使用分号(;)分隔,
sql语句查询中不区分大小写,写成select或者Select或者SELECT查询的结果都是一样的。
对于sql开发人员,喜欢对所有sql关键字使用大写,而对表名使用小写,这样做更利于阅读和调试。

--检索多列:中间使用逗号分隔,最后一列不需要加上逗号。
select id,name,sex from student;

--检索所有列:
使用通配符* 返回表中的所有列,但是会把不需要的列也检索出来,这就导致了检索的效率和应用程序的性能,推荐使用指定列检索查找。
select * from student;
通配符也有一个优点就是能够检索出来不知道的列。

--distinct关键字,进行去重复。
检索student表中的id 列:
select num_id from student;
返回的结果中有重复的id,所以使用distinct 进行去重复,把重复的id 进行一下过滤。
select distinct num_id from student;
distinct关键字必须放在列名的前面。


--使用limit限制结果
select语句返回所有匹配的行,他们可能是指定表中的每个行。为了返回第一行或者前几行,或者后几行,可以使用limit子句。
select stu_name from student limit 5;
limit 5 指示MySQL返回的数据不多于5行,


--使用limit得到指定的结果
为了得到下一个5行,可以指定要检索的开始行和行数,如下;
select stu_name from student  limit 5,5;
这个就是从第五行开始,然后再往后面再取5行数据。
第一个数为开始位置,第二个数是要检索的行数。所以,带一个值的limit总是从第一行开始,给出的数为返回的行数;带两个值的limit可以指定从行号为第一个值的位置开始。
limit初始是从0开始,而不是1,这个一定要记住,下面做了一个小例子和注释。
SELECT * FROM table LIMIT 5,10; // 检索记录行 6-15   

--在行数不够时,limit中指定要检索的行数为检索的最大行数。如果没有足够的行,例如给出limit 10,5    ,但是只有13行,MySQL将只返回它能够返回的那么多行。






























原文地址:https://www.cnblogs.com/ludundun/p/11571409.html