SQl留存数据/插入行/修改记录-2021年12月20日

问题1:
对数据表内容精简,并留存历史数据;
已经创建了一张新表exam_record_before_2021用来备份2021年之前的试题作答记录,结构和exam_record表一致,请将2021年之前的已完成了的试题作答纪录导入到该表。

题解1:

从另一个表导入:
INSERT INTO table_name SELECT * FROM table_name2 [WHERE key=value]

插入记录的方式汇总:

普通插入(全字段):
INSERT INTO table_name VALUES (value1, value2, ...)
普通插入(限定字段):
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...)
多条一次性插入:
INSERT INTO table_name (column1, column2, ...) VALUES (value1_1, value1_2, ...), (value2_1, value2_2, ...), ...
从另一个表导入:
INSERT INTO table_name SELECT * FROM table_name2 [WHERE key=value]

问题2:
现在有一套ID为9003的高难度SQL试卷,时长为一个半小时,请你将 2021-01-01 00:00:00 作为发布时间插入到试题信息表examination_info,不管该ID试卷是否存在,都要插入成功,请尝试插入它。
题解2:

`replace` into examination_info 
values(null,'9003','SQL','hard','90',"2021-01-01 00:00:00")

掌握replace into···values的用法
replace into 跟 insert into功能类似,不同点在于:replace into 首先尝试插入数据到表中,如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据否则,直接插入新数据
要注意的是:插入数据的表必须有主键或者是唯一索引!否则的话,replace into 会直接插入数据,这将导致表中出现重复的数据

问题3:
更新表记录,将指定列的制定值PYTHON修改为Python
题解3:

UPDATE examination_info
SET tag = "Python"
WHERE tag = "PYTHON";
UPDATE examination_info
SET tag = REPLACE(tag, "PYTHON", "Python")
WHERE tag = "PYTHON";

修改记录的方式汇总:
设置为新值:
UPDATE table_name SET column_name=new_value [WHERE column_name=value]
根据已有值替换:
UPDATE table_name SET key1=replace(key1, ‘查找内容’, ‘替换成内容’) [WHERE column_name3=value3]

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值