文章目录
- 1. 筛选分页结果
-
- 1.1 从0开始,筛选n条结果
- 1.2 从s开始,筛选n条结果
- 1.3 例题
-
- 按数学成绩进行分页显示三条结果
- 2. Update 更新
-
- 2.1 例题
-
- 将全表的语文成绩改为60
- 将张三的语文成绩改为90
- 将张三的语文成绩改为80,数学成绩改为88
- 将总成绩倒数前三的3位同学的数学成绩加上30分
- 3. Delete 删除
-
- 3.1 删除数据
-
- 3.1 例题
-
- 删除张三的考试成绩
- 3.1 删除整表 谨慎使用
- 4. 截断表 谨慎使用
- 5. 插入查询结果
-
- 5.1 例题
-
- 将表1中的元素插入表2,删除表中的重复记录
1. 筛选分页结果
1.1 从0开始,筛选n条结果
1.2 从s开始,筛选n条结果
select ... from 表名 [where...] [order by...] limit s,n;
select ... from 表名 [where...][order by...] limit n offset s;
对未知表进行查询时,最好加上一条limit限制,避免因为表中数据过大,查询全表数据导致数据库卡死
1.3 例题
按数学成绩进行分页显示三条结果
对于
limit n offset m
如果m或者n超出范围,均不会有影响。
2. Update 更新
语法:
2.1 例题
将全表的语文成绩改为60
update student set chinese = 60;
全表更新要谨慎使用哦!
将张三的语文成绩改为90
update student set chinese = 90 where name = '张三';
将张三的语文成绩改为80,数学成绩改为88
将总成绩倒数前三的3位同学的数学成绩加上30分
update student set math = math+30 order by chinese+math+english limit 3;
数据更新不能用+=运算符哦
3. Delete 删除
3.1 删除数据
语法:
delete from 表名 [where...][order by...][limit...]
3.1 例题
删除张三的考试成绩
3.1 删除整表 谨慎使用
在这里我们先建立一张测试表进行删除
4. 截断表 谨慎使用
语法:
- 只能对整表操作,不能像delete一样针对部分数据操作。
- truncate不对数据操作,比delete更快。
- 如果有auto_increment会重置。
5. 插入查询结果
语法:
5.1 例题
将表1中的元素插入表2,删除表中的重复记录
创建原始表:
create table table1 (id int, name varchar(20));
向表中插入数据:
insert into table1 values(100, 'aaa'),(100, 'aaa'), (200, 'bbb'),(200, 'bbb'),(200, 'bbb'),(300, 'ccc');
思路:
- 创建一张空表table2和table1的结构一样
create table table2 like table1;
2. 将table1的去重数据插入到table2
3. 查看最终结果