溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

MySQL數(shù)據(jù)更新操作的方法有哪些

發(fā)布時(shí)間:2023-03-07 11:55:20 來源:億速云 閱讀:227 作者:iii 欄目:MySQL數(shù)據(jù)庫

這篇“MySQL數(shù)據(jù)更新操作的方法有哪些”文章的知識點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“MySQL數(shù)據(jù)更新操作的方法有哪些”文章吧。

數(shù)據(jù)更新有兩種辦法:

1:使用數(shù)據(jù)可視化工具操作

2:SQL語句

添加數(shù)據(jù)

前面的添加數(shù)據(jù)命令一次只能插入一條記錄。如果想一次插入多條記錄怎么辦呢?

可以將子查詢的結(jié)果,以集合的方式向表中添加數(shù)據(jù)。

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

【例】創(chuàng)建一個(gè)新表&lsquo;清華大學(xué)出版圖書表&rsquo;并將清華大學(xué)出版社出版的圖書添加到此表中。

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='清華大學(xué)出版社'

插入數(shù)據(jù)

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

注意:列名列表 與 值列表 永遠(yuǎn)保持一致!

【例】試把數(shù)據(jù)“(&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')

要插入的數(shù)據(jù)如果恰好與表的列數(shù)以及各列的順序保持一致,所以“列名列表”也可以省略掉,變成如下的形式:

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

【例】Student表中插入下面的數(shù)據(jù):

學(xué)生學(xué)號:&rsquo;021B310002&rsquo;

學(xué)生姓名:&rsquo;張三&rsquo;

學(xué)生性別:&rsquo;女&rsquo;

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

刪除數(shù)據(jù)

語法格式:DELETE FROM 表名 WHERE 數(shù)據(jù);

【例】刪除Book表中的全部數(shù)據(jù)

DELETE FROM Book

【例】刪除價(jià)格大于100元的圖書

DELETE FROM Book WHERE price>100

【例】刪除王旭的借閱紀(jì)錄

子查詢方式實(shí)現(xiàn)

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

修改數(shù)據(jù)

語法格式:UPDATE <表名> SET <列名=值|表達(dá)式>[,&hellip;][WHERE <更新條件>]

【例】所有的圖書價(jià)格打8折

UPDATE Book SET price = price*0.8

【例】所有“清華大學(xué)出版社”的圖書價(jià)格加價(jià)15%

UPDATE Book SET price = price*1.15 WHERE public='清華大學(xué)出版社'

【例】使用library數(shù)據(jù)庫,把王旭的出生日期改成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;高等數(shù)學(xué)&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= '高等數(shù)學(xué)')

mysql千萬級數(shù)據(jù)量更新操作

首先對于千萬級數(shù)據(jù)更新,如果一次性更新,肯定導(dǎo)致卡死,要關(guān)注內(nèi)存變化,注意看一下內(nèi)存。

可以嘗試寫一個(gè)存儲(chǔ)過程,一次更新2000行,可以快很多。

以上就是關(guān)于“MySQL數(shù)據(jù)更新操作的方法有哪些”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對大家有幫助,若想了解更多相關(guān)的知識內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI