MySQL是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQL AB 公司開發(fā)嗓节,目前屬于 Oracle 旗下產(chǎn)品胳徽。MySQL 最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),在 WEB 應用方面MySQL是最好的 RDBMS (Relational Database Management System江耀,關(guān)系數(shù)據(jù)庫管理系統(tǒng)) 應用軟件之一。
MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫管理系統(tǒng)诉植,關(guān)聯(lián)數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中祥国,而不是將所有數(shù)據(jù)放在一個大倉庫內(nèi),這樣就增加了速度并提高了靈活性晾腔。
MySQL所使用的 SQL 語言是用于訪問數(shù)據(jù)庫的最常用標準化語言舌稀。MySQL 軟件采用了雙授權(quán)政策,它分為社區(qū)版和商業(yè)版灼擂,由于其體積小壁查、速度快、總體擁有成本低剔应,尤其是開放源碼這一特點睡腿,一般中小型網(wǎng)站的開發(fā)都選擇 MySQL 作為網(wǎng)站數(shù)據(jù)庫。由于其社區(qū)版的性能卓越峻贮,搭配 PHP 和 Apache 可組成良好的開發(fā)環(huán)境席怪。
一、更新數(shù)據(jù)
為了更新(修改)表中的數(shù)據(jù)纤控,可使用UPDATE語句挂捻。可采用兩種方式使用UPDATE:
(1)更新表中特定行船万。
(2)更新表中所有行刻撒。
UPDATE語句非常容易使用骨田,基本的UPDATE語句由3部分組成,分別是:
(1)要更新的表声怔;
(2)列名和它們的新值态贤;
(3)確定要更新行的過濾條件。
例如捧搞,客戶10005現(xiàn)在有了電子郵件地址抵卫,因此他的記錄需要更新狮荔,語句如下:
UPDATE customers SET cust_email='elmer@fudd.com' WHERE cust_id=10005;
此語句的輸出如下圖所示:
UPDATE語句以WHERE子句結(jié)束胎撇,它告訴MySQL更新哪一行。沒有WHERE子句殖氏,MySQL將會用這個電子郵件地址更新customers表中所有行晚树。
更新多個列:
UPDATE customers SET cust_name='The Fudds', cust_email='elmer@fudd.com' WHERE cust_id=10005;
此語句的輸出如下圖所示:
為了刪除某個列的值,可設置它為NULL(假如表定義允許NULL值)雅采,如下所示:
UPDATE customers SET cust_email=NULL WHERE cust_id=10005;
此語句的輸出如下圖所示:
二爵憎、刪除數(shù)據(jù)
為了從一個表中刪除(去掉)數(shù)據(jù),可使用DELETE語句婚瓜”模可采用兩種方式使用DELETE:
(1)從表中刪除特定行。
(2)從表中刪除所有行巴刻。
下面的語句從customers表中刪除一行:
DELETE FROM customers WHERE cust_id=10006;
此語句的輸出如下圖所示:
三愚铡、更新和刪除的指導原則
(1)除非確實打算更新和刪除每一行,否則絕對不要使用不帶WHERE子句的UPDATE或DELETE語句胡陪。
(2)保證每個表都有主鍵沥寥,盡可能像WHERE 子句那樣使用它。
(3)在對UPDATE或DELETE語句使用WHERE子句前柠座,應該先用SELECT進行測試邑雅,保證它過濾的是正確的記錄,以防編寫的WHERE子句不正確妈经。
(4)使用強制實施引用完整性數(shù)據(jù)庫淮野,這樣MySQL將不允許刪除具有與其他表相關(guān)聯(lián)的數(shù)據(jù)的行。