MySQL:基础教程-09(个人笔记)

目录

更新记录

复制符合条件的记录

排序后复制

删除复合条件的记录

练习题


更新记录

格式:修改列的所有记录

update 表名 set 列名 = 设置的值;

ex:

alter table tb add remark varchar(100);
update tb set remark = '无特殊记录';
select * from tb;

 

格式:只修改符合条件的记录

update 表名 set 列名 = 设置的值where条件;

ex:

查看销售信息表tb就会发现有几个销售额超过100万元的优秀成绩

update tb set remark = '优秀' where sales >= 100;
select * from tb;

ex:

给销售额较低的记录输入鼓励的信息。给所有销售额排序,并将“加油!”输入到销售额最低的3条记录的备注中

update tb set remark = '加油!' order by sales limit 3;
select * from tb;

 


复制符合条件的记录

仅复制指定记录

create table tb_A101 select * from tb
where empid like 'A101';
select * from tb_A101;

 

如果要将记录插入到已存在的表中:

insert into 已存在的表select * from tb where empid like 'A101';


排序后复制

ex:

创建新表tb_2to5,提取销售信息表tb中,按照销售额从高到低的顺序排在第2名到第5名的记录;

create table tb_2to5 
select* from tb
order by sales desc limit 4 offset 1;

select* from tb_2to5;


删除复合条件的记录

格式:删除符合条件的记录

delete from 表名 where 条件

ex:

删除表tb1I中列age的值小于30的记录。删除记录后,试着显示表tb1I的所有记录。
 

delete from tb1l where age < 30;
select * from tb1l;

排序后删除

ex:

删除列sales中值最大的4条记录,然后显示表tb_copy的所有记录。

delete from tb_copy
order by sales desc limit 4;

select * from tb_copy;

练习题

问题一:

提取表t_stock的列c中除距今5年前以外的值的记录并创建表t_stock_new。这个“5年前”的时间用下面的命令表示。假设这个处理是在2018年进行的

create table t_stock_new
select * from t_stock where c > now() - interval 5 year;

select * from t_stock_new;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值