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