加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL数据更新操作设置的方法有哪些

发布时间:2023-07-05 15:07:16 所属栏目:MySql教程 来源:
导读:这篇“MySQL数据更新操作的方法有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看
这篇“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行,可以快很多。
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!