MySQL数据更新操作

Posted 二哈喇子!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL数据更新操作相关的知识,希望对你有一定的参考价值。

文章目录


前言

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

数据更新有两种办法:
1:使用数据可视化工具操作
2:SQL语句


添加数据

前面的添加数据命令一次只能插入一条记录。如果想一次插入多条记录怎么办呢?
可以将子查询的结果,以集合的方式向表中添加数据。
格式:INSERT INTO <表名> 子查询

【例】创建一个新表‘清华大学出版图书表’并将清华大学出版社出版的图书添加到此表中。

CREATE TABLE thboPRIMARY KEY,
name VARCHAR(30)  ,
author VARCHAR(10),
publish VARCHAR(20),
price DECIMAL(6,2)
)
INSERT INTO thbook
    SELECT * FROM Book WHERE publish='清华大学出版社'

插入数据

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

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

【例】试把数据“(’021B310001’,’张冬’, ’男’, ’1999-11-26’)”插入到Student表中。

INSERT INTO Student(stu_ID,name,sex,birthdate)
VALUES('021B310001','张冬','男','1999-11-26')

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

INSERT INTO Student
VALUES('021B310001','张冬','男','1999-11-26')

【例】Student表中插入下面的数据:
学生学号:’021B310002’
学生姓名:’张三’
学生性别:’女’

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

删除数据

语法格式:DELETE FROM 表名 WHERE 数据;

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

DELETE FROM Book

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

DELETE FROM Book WHERE price>100

【例】删除王旭的借阅纪录
子查询方式实现

DELETE FROM Borrow WHERE Reader_id IN
(SELECT Reader_id FROM Reader WHERE name='王旭')

修改数据

语法格式:UPDATE <表名> SET <列名=值|表达式>[,…][WHERE <更新条件>]

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

UPDATE Book SET price = price*0.8

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

UPDATE Book SET price = price*1.15 WHERE public='清华大学出版社'

【例】使用library数据库,把王旭的出生日期改成1995-3-2

update reader set birthdate='1995-3-2' 
where name='王旭'

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

update Reader set name='宋玮凌',sex='男'
where Reader_ID='021B310005'

【例】将王旭所借图书的日期更改为2022-5-1
子查询方式

UPDATE Borrow SET Borrowdate= '2022-5-1'
WHERE reader_ID IN (SELECT reader_ID FROM Reader WHERE name= '王旭')

多表连接方式:

UPDATE Borrow SET Borrowdate= '2022-5-1'
FROM Borrow JOIN Reader ON Borrow.reader_ID = Reader.reader_ID 
WHERE name= '王旭'

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

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= '高等数学')

以上是关于MySQL数据更新操作的主要内容,如果未能解决你的问题,请参考以下文章

SQL笔记--MySQL高级操作

mysql二:库操作

[每日更新-MySQL基础]2.数据库基本操作

mysql 插入更新在一条sql ON DUPLICATE KEY UPDATE

MySQL库的操作 𸼵

MySQL库的操作 񥎬