MySQL數(shù)據(jù)更新操作的兩種辦法(數(shù)據(jù)可視化工具和SQL語(yǔ)句)
數(shù)據(jù)更新有兩種辦法:
1:使用數(shù)據(jù)可視化工具操作
2:SQL語(yǔ)句
添加數(shù)據(jù)
前面的添加數(shù)據(jù)命令一次只能插入一條記錄。如果想一次插入多條記錄怎么辦呢?
可以將子查詢的結(jié)果,以集合的方式向表中添加數(shù)據(jù)。
格式:INSERT INTO <表名> 子查詢
【例】創(chuàng)建一個(gè)新表‘清華大學(xué)出版圖書表’并將清華大學(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語(yǔ)句的基本語(yǔ)法:INSERT INTO 表名(列名列表) VALUES(值列表)
注意:列名列表 與 值列表 永遠(yuǎn)保持一致!
【例】試把數(shù)據(jù)“(’021B310001’,’張冬’, ’男’, ’1999-11-26’)”插入到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é)號(hào):’021B310002’
學(xué)生姓名:’張三’
學(xué)生性別:’女’
INSERT INTO Student(stu_ID,name,sex) VALUES('021B310002','張三','女') 或者: INSERT INTO Student VALUES('021B310002','張三','女',NULL)
刪除數(shù)據(jù)
語(yǔ)法格式: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ù)
語(yǔ)法格式:UPDATE <表名> SET <列名=值|表達(dá)式>[,…][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ù)庫(kù),把王旭的出生日期改成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= '王旭'
更改‘張三’借閱‘高等數(shù)學(xué)’的借閱日期為‘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= '高等數(shù)學(xué)')
mysql千萬(wàn)級(jí)數(shù)據(jù)量更新操作
首先對(duì)于千萬(wàn)級(jí)數(shù)據(jù)更新,如果一次性更新,肯定導(dǎo)致卡死,要關(guān)注內(nèi)存變化,注意看一下內(nèi)存。
可以嘗試寫一個(gè)存儲(chǔ)過程,一次更新2000行,可以快很多。
總結(jié)
到此這篇關(guān)于MySQL數(shù)據(jù)更新操作的兩種辦法的文章就介紹到這了,更多相關(guān)MySQL數(shù)據(jù)更新操作內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL InnoDB行記錄存儲(chǔ)結(jié)構(gòu)分析
工作中我們基本上都是用MySQL的InnoDB存儲(chǔ)引擎,但是大家有去了解過它的底層存儲(chǔ)結(jié)構(gòu)嗎,想必絕大部分人不知道或者說(shuō)不知道怎么查相關(guān)知識(shí),剛好來(lái)看這篇文章就對(duì)了2023-07-07MySQL數(shù)據(jù)庫(kù)恢復(fù)(使用mysqlbinlog命令)
binlog是通過記錄二進(jìn)制文件方式來(lái)備份數(shù)據(jù),然后在從二進(jìn)制文件將數(shù)據(jù)恢復(fù)到某一時(shí)段或某一操作點(diǎn)。2011-08-08mysql聚集索引、輔助索引、覆蓋索引、聯(lián)合索引的使用
本文主要介紹了mysql聚集索引、輔助索引、覆蓋索引、聯(lián)合索引的使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02MySQL 視圖 第1349號(hào)錯(cuò)誤解決方法
把下面SQL里的SELECT單獨(dú)執(zhí)行,沒有問題,但是用來(lái)CREATE VIEW 就報(bào)錯(cuò)了.2008-03-03MySQL中使用group by 是總是出現(xiàn)1055的錯(cuò)誤(推薦)
這篇文章主要介紹了MySQL中使用group by 是總是出現(xiàn)1055的錯(cuò)誤,小編通過查閱相關(guān)資料才把問題解決,今天小編記錄下分享到腳本之家平臺(tái),需要的朋友可以參考下2020-02-02mysql如何按字段查詢重復(fù)的數(shù)據(jù)
這篇文章主要介紹了mysql如何按字段查詢重復(fù)的數(shù)據(jù)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05很全面的Mysql數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)表、數(shù)據(jù)基礎(chǔ)操作筆記(含代碼)
這篇文章主要為大家分享了很全面的Mysql數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)表、數(shù)據(jù)基礎(chǔ)操作筆記,感興趣的小伙伴們可以參考一下2016-04-04