加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL数据更新操作的方法有哪几点

发布时间:2023-03-30 13:18:10 所属栏目:MySql教程 来源:
导读:这篇“MySQL数据更新操作的方法有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看

这篇“MySQL数据更新操作的方法有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“MySQL数据更新操作的方法有哪些”文章吧。

数据更新有两种办法:

1:使用数据可视化工具操作

2:SQL语句

添加数据

前面的添加数据命令一次只能插入一条记录。如果想一次插入多条记录怎么办呢?

可以将子查询的结果,以集合的方式向表中添加数据。

格式:INSERT INTO <表名> 子查询

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

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(值列表)

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

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

INSERT INTO Student(stu_ID,name,sex,birthdate)

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

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

INSERT INTO Student

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

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

学生学号:&rsquo;021B310002&rsquo;

学生姓名:&rsquo;张三&rsquo;

学生性别:&rsquo;女&rsquo;

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 <列名=值|表达式>[,&hellip;][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= '王旭'

更改&lsquo;张三&rsquo;借阅&lsquo;高等数学&rsquo;的借阅日期为&lsquo;2022-6-8&rsquo;

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行,可以快很多。

(编辑:银川站长网)

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