一、LIMIT
限制查询结果返回的数量
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
select * from user;
除了可以对记录进行排序,还可以限制记录返回的数量,我们使用limit关键词,比如我们要查找user表中的前3条记录。操作命令及结果如下:
select * from user limit 3;
3表示我们限制查询3条记录,从结果可以看出,查询出了前3条记录。跟id号是没有关系的。假设我们要查找第3、4条记录我们该怎么办呢,那么指定一个参数就不够了,我们可以输入两个参数,第一个参数表示从第几条返回,第二个参数表示返回几条。
下面我们来试一下,操作命令及结果如下:
select * from user limit 2,2;
原因是select语句中的记录是从0开始编号的,也就是说如果我们要查找第3,4条记录,我们需要输入limit 2,2;除此之外,我们的id号和结果的排列顺序并没有任何的直接关系。这一点希望大家注意一下。
第一个参数表示从第几条开始返回。
第二个参数表示返回几条。
如果我们要查找第4,5条记录,我们需要输入limit 3,2。
select * from user limit 3,2;
第一个参数表示从第几条开始返回。
第二个参数表示返回几条。
二、INSERT SELECT语句
既然我们现在已经明白了select语句,现在我们就返回到之前我们提到过的insert select语句,他的意思就是把我们查找的结果插入到指定的表中,我们先来新建一张test数据表,操作命令及结果如下:
create table test( id tinyint unsigned primary key auto_increment, username varchar(20) );
select * from test;
现在我们把user表中年龄>30的记录导入到test表中,这里需要注意一点,因为test里只有一个username字段需要插入数据,所以我们从user表里select的时候就选择select username字段,操作命令及结果如下:
insert test (username) select username from user where age>=30; select * from test;
我们发现记录已经写入到test数据表中,希望大家多练习一下。
三、本章回顾
本章我们主要学习了记录的增删改查四个基本操作。
第一个,insert,我们可以通过3种方法进行记录的插入操作,分别是普通的insert语句,insert set和insert select,update有两种更新语句,分别是单表更新和多表更新,多表更新操作我们会在后面给大家讲解。
同样的,delete语句也单表删除和多表删除两种操作语句,多表删除我们后续再讲。
最后一个就是select语句,其中where可以进行条件的设定,group by可以进行结果的分组,having可以对分组的条件进行设定,order by可以对结果进行排序,limit来限制返回结果的数量。这就是我们本章学习的主要内容,希望大家多多练习。