chapter20:更新和刪除數(shù)據(jù)

UPDATE和DELETE語(yǔ)句。

更新數(shù)據(jù)

UPDATE語(yǔ)句由3部分組成:

  • 要更新的表;
  • 列名和他們的新值;
  • 確定要更新行的過(guò)濾條件。

例:客戶10005現(xiàn)在有了電子郵件地址,更新記錄:

UPDATE customers
SET cust_email = 'elmer@fudd.com'
WHERE cust_id = 10005;

UPDATE語(yǔ)句以WHERE子句結(jié)束,如果沒(méi)有會(huì)更新所有行。

更新多個(gè)行:

UPDATE customers
SET cust_name = 'The Fudds',
    cust_email = 'elmer@fudd.com'
WHERE cust_id = 10005;
  • UPDATE語(yǔ)句可以使用子查詢;
  • IGNORE關(guān)鍵字:如果更新多條時(shí)一條出錯(cuò)操作會(huì)整個(gè)被取消;為即使發(fā)生錯(cuò)誤也繼續(xù)進(jìn)行更新:UPDATE IGNORE customers...

如果要?jiǎng)h除某列,可設(shè)置其為NULL:

UPDATE customers
SET cust_email = NULL
WHERE cust_id = 10005;

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

例:從customers表中刪除一行:

DELETE FROM customers
WHERE cust_id = 10006;

DELETE不需要列名或通配符。刪除整行而不是整列。

更新和刪除的指導(dǎo)原則

  • 除非確實(shí)打算更細(xì)和刪除每一行,否則絕對(duì)不要使用不帶WHERE子句的UPDATE和DELETE語(yǔ)句;
  • 保證每個(gè)表都有主鍵;
  • 在對(duì)UPDATE或DELETE語(yǔ)句使用WHERE子句前,應(yīng)該先用SELECT進(jìn)行測(cè)試,保證它過(guò)濾的是正確的記錄;
  • 使用強(qiáng)制實(shí)施引用完整性的數(shù)據(jù)庫(kù)(見(jiàn)chapter15),這樣MySQL將不允許刪除具有與其他表相關(guān)聯(lián)的數(shù)據(jù)的行。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容