这篇“MySQL数据更新操作的方法有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“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千万级数据量更新操作
首先对于千万级数据更新,如果一次性更新,肯定导致卡死,要关注内存变化,注意看一下内存。
可以尝试写一个存储过程,一次更新2000行,可以快很多。