MySQL数据更新操作

文章目录


前言

提示:这里可以添加本文要记录的大概内容:

数据更新有两种办法:

  1. 使用数据可视化工具操作(简单)
  1. SQL语句(容易出错,但必须要会)

添加/插入数据

INSERT语句的基本语法:INSERT INTO 表名(列名列表) VALUES(值列表)

注意:列名列表 与 值列表 永远保持一致!

【例】试把数据"('021B310001','张三', '男', '1999-11-26')和数据('021B310002','李四', '男', '1999-10-20')"插入到Student表中。

sql 复制代码
INSERT INTO Student(stu_ID,name,sex,birthdate)
VALUES('021B310001','张三','男','1999-11-26'),
	  ('021B310002','李四','男','1999-10-20');

要插入的数据如果恰好与表的列数以及各列的顺序保持一致,所以"列名列表"也可以省略掉,变成如下的形式:

sql 复制代码
INSERT INTO Student
VALUES('021B310001','张三','男','1999-11-26')

【例】Student表中插入下面的数据:

学生学号:'021B310002'

学生姓名:'张三'

学生性别:'女'

sql 复制代码
INSERT INTO Student(stu_ID,name,sex)
       VALUES('021B310002','张三','女')
  或者:
INSERT INTO Student
       VALUES('021B310002','张三','女',NULL)

删除数据

语法格式:DELETE FROM 表名 WHERE 条件;

我们在使用某些操作系统时,有时候也会点击删除按钮,看似看不见了,其实数据还在

只是我们看不见了而已,比如说数据可见是1,数据不可见是2。

【例】删除Book表中的全部数据

sql 复制代码
DELETE FROM Book

【例】删除价格大于100元的图书

sql 复制代码
DELETE FROM Book WHERE price>100

【例】删除张三的借阅纪录

子查询方式实现

sql 复制代码
DELETE FROM Borrow WHERE Reader_id IN
(SELECT Reader_id FROM Reader WHERE name='张三')

修改数据

语法格式:UPDATE <表名> SET [WHERE <更新条件>]

【例】所有的图书价格打8折

sql 复制代码
UPDATE Book SET price = price*0.8

【例】所有"清华大学出版社"的图书价格加价15%

sql 复制代码
UPDATE Book SET price = price*1.15 WHERE public='清华大学出版社'

【例】使用library数据库,把张三的出生日期改成1999-03-21

sql 复制代码
update reader set birthdate='1999-03-21' 
where name='张三'

【例】修改reader表中为021B310005的读者的名字改为李四,性别改为男

sql 复制代码
update Reader set name='李四',sex='男'
where Reader_ID='021B310005'

【例】将张三所借图书的日期更改为2022-5-1

子查询方式

sql 复制代码
UPDATE Borrow SET Borrowdate= '2022-5-1'
WHERE reader_ID IN (SELECT reader_ID FROM Reader WHERE name= '张三')

多表连接方式:

sql 复制代码
UPDATE Borrow SET Borrowdate= '2022-5-1'
FROM Borrow JOIN Reader ON Borrow.reader_ID = Reader.reader_ID 
WHERE name= '张三'

更改'张三'借阅'高等数学'的借阅日期为'2022-6-8'

sql 复制代码
UPDATE Borrow SET Borrowdate= '2022-6-8'
    WHERE reader_ID IN 
(SELECT reader_ID FROM Reader
    WHERE name= '张三')
and book_ID IN 
(SELECT book_ID FROM book
    WHERE name= '高等数学')
相关推荐
J_bean20 分钟前
MySQL 事务是否必须手动开启?
数据库·mysql·数据库事务·自动提交·手动提交
J_bean24 分钟前
MySQL InnoDB 如何检测死锁、判定死锁、处理死锁
数据库·mysql·死锁·死锁检测·处理死锁·死锁判定
浪子明X1 小时前
从 MongoDB 文档到关系模型:构建可重跑、可对账的数据迁移流水线
数据库·mongodb·oracle
杜子不疼.1 小时前
国产数据库撑起固井软件自主化:金仓 × 中海油服「海恒 Cemsol」落地解析
数据库
隔窗听雨眠1 小时前
GBase 8s并发控制深度解析:封锁机制、隔离级别与死锁处理全攻略
服务器·数据库·oracle
刀客Doc1 小时前
即时零售不只是多一个渠道,品牌开始重做终端生意
大数据·数据库
就叫飞六吧2 小时前
防抖、幂等、唯一约束三件套 ;
数据库
神奇霸王龙2 小时前
Agent 准入门控屠夫:5 旗舰 4 维度评估
linux·运维·数据库·ai·ai作画·agent·ai编程
鲸采云SRM采购管理系统2 小时前
采购管理系统哪家好?2026最新测评对比
java·服务器·数据库
cfm_29142 小时前
基于Binlog实现不停机数据库平滑迁移技术
运维·数据库·架构