天天看点

MySQL中的筛选分页limit、更新表update、删除表delete、截断表truncate1. 筛选分页结果2. Update 更新3. Delete 删除4. 截断表 谨慎使用5. 插入查询结果

文章目录

  • 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;
           
MySQL中的筛选分页limit、更新表update、删除表delete、截断表truncate1. 筛选分页结果2. Update 更新3. Delete 删除4. 截断表 谨慎使用5. 插入查询结果

对未知表进行查询时,最好加上一条limit限制,避免因为表中数据过大,查询全表数据导致数据库卡死

1.3 例题

按数学成绩进行分页显示三条结果

MySQL中的筛选分页limit、更新表update、删除表delete、截断表truncate1. 筛选分页结果2. Update 更新3. Delete 删除4. 截断表 谨慎使用5. 插入查询结果

对于

limit n offset m

如果m或者n超出范围,均不会有影响。

2. Update 更新

语法:

2.1 例题

MySQL中的筛选分页limit、更新表update、删除表delete、截断表truncate1. 筛选分页结果2. Update 更新3. Delete 删除4. 截断表 谨慎使用5. 插入查询结果

将全表的语文成绩改为60

update student set chinese = 60;
           
MySQL中的筛选分页limit、更新表update、删除表delete、截断表truncate1. 筛选分页结果2. Update 更新3. Delete 删除4. 截断表 谨慎使用5. 插入查询结果

全表更新要谨慎使用哦!

将张三的语文成绩改为90

update student set chinese = 90 where name = '张三';
           
MySQL中的筛选分页limit、更新表update、删除表delete、截断表truncate1. 筛选分页结果2. Update 更新3. Delete 删除4. 截断表 谨慎使用5. 插入查询结果

将张三的语文成绩改为80,数学成绩改为88

MySQL中的筛选分页limit、更新表update、删除表delete、截断表truncate1. 筛选分页结果2. Update 更新3. Delete 删除4. 截断表 谨慎使用5. 插入查询结果

将总成绩倒数前三的3位同学的数学成绩加上30分

update student  set math = math+30 order by chinese+math+english limit 3;
           
MySQL中的筛选分页limit、更新表update、删除表delete、截断表truncate1. 筛选分页结果2. Update 更新3. Delete 删除4. 截断表 谨慎使用5. 插入查询结果

数据更新不能用+=运算符哦

3. Delete 删除

3.1 删除数据

语法:

delete from 表名 [where...][order by...][limit...]

3.1 例题

删除张三的考试成绩

MySQL中的筛选分页limit、更新表update、删除表delete、截断表truncate1. 筛选分页结果2. Update 更新3. Delete 删除4. 截断表 谨慎使用5. 插入查询结果

3.1 删除整表 谨慎使用

在这里我们先建立一张测试表进行删除

MySQL中的筛选分页limit、更新表update、删除表delete、截断表truncate1. 筛选分页结果2. Update 更新3. Delete 删除4. 截断表 谨慎使用5. 插入查询结果

4. 截断表 谨慎使用

语法:

  • 只能对整表操作,不能像delete一样针对部分数据操作。
  • truncate不对数据操作,比delete更快。
  • 如果有auto_increment会重置。
    MySQL中的筛选分页limit、更新表update、删除表delete、截断表truncate1. 筛选分页结果2. Update 更新3. Delete 删除4. 截断表 谨慎使用5. 插入查询结果

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');
           

思路:

  1. 创建一张空表table2和table1的结构一样

create table table2 like table1;

MySQL中的筛选分页limit、更新表update、删除表delete、截断表truncate1. 筛选分页结果2. Update 更新3. Delete 删除4. 截断表 谨慎使用5. 插入查询结果

2. 将table1的去重数据插入到table2

MySQL中的筛选分页limit、更新表update、删除表delete、截断表truncate1. 筛选分页结果2. Update 更新3. Delete 删除4. 截断表 谨慎使用5. 插入查询结果

3. 查看最终结果

MySQL中的筛选分页limit、更新表update、删除表delete、截断表truncate1. 筛选分页结果2. Update 更新3. Delete 删除4. 截断表 谨慎使用5. 插入查询结果

继续阅读