創作內容

0 GP

MySQL學習-06-列(rows)資料新增,修改,刪除

作者:鹹魚│2020-05-30 01:51:30│巴幣:0│人氣:148
表格資訊
想要新增資料時首先要知道該表格的資料規格,利用DESCRIBE可以獲得這些資訊。
公式:DESCRIBE(可縮寫DESC) 表格
執行結果

新增資料
利用INSERT可以在表格內新增資料
公式:INSERT INTO 表格 VALUES(新增資料)
INTO可省略
執行結果(上面數下來第5筆資料為剛剛新增的資料)

注意新增資料時必須依照表格DESC出來的順序且數量也必須相同,否則將出錯。
若是想要指定欄位新增可以使用以下公式
INSERT 表格(選擇的欄位) VALUES (新增資料)
注意新增的順序是按照自己定義的順序而不是表格順序且沒被指定的表格會輸入default的內容。

此為正確
此為錯誤
執行結果(正確在第6筆,錯誤在第1筆)

另外新增資料也能這樣打
公式:INSERT 表格 SET 欄位 = 值
執行結果(第6筆為上述新增內容)

若是想一次新增多筆只需要在VALUES後複數()之間以,隔開即可。

索引值
每個表格一定都有一個主索引值primary key,注意此欄位的值不可重複,否則錯誤。
若是此索引值得資料已經存在,可以使用ON DUPLICATE KEY UPDATE來直接更新該列資料。
這裡幫剛剛輸入錯誤的資料更新指導老師和名字。
執行結果

注意primary key欄位的值是不能透過這方法更新的。
所以無法用這方法把錯誤的學號和班級互換。

前面有說到INSERT無法新增已存在主索引資料只能用更新的方式,但若是想強制新增也不是沒辦法。
可以使用REPLACE關鍵字,使用方法與INSERT一模一樣,但是當主索引已經存在時,使用REPLACE會將原資料覆蓋。
執行結果(第6筆)
可以看到已存在的411346被強制覆蓋新資料了。

修改資料
使用UPDATE可以修改已存在的資料。
修改前先執行 set sql_safe_updates=0 否則無法執行。
公式:UPDATE 表格 SET 欄位=修改資料
由於直接照上面公式使用會直接修改整個表格的該欄位資料,所以使用時會配合where來限制修改的地方。
以下範例使用student表格

範例:
將未滿60的成績+20分
執行結果

另外使用IGNORE可以防止因為錯誤而讓語法不被執行。
跟主索引有關的錯誤IGNORE將會通過但不會修改資料,跟參數型態有關的錯誤會填入該型態的最小值後繼續修改後面的內容而不會被攔截。
範例:
執行結果
可以看到ya並不是數字,所以填入grade時以0代替。

配合order by 和 limit 可以達到以下效果
將最低分的人加到60分
執行結果

刪除資料
公式:DELETE FROM 表格
一樣通常配合Where order by limit 限制範圍。
範例:
開除最低分學生。
執行結果
可以看到11號以最低分60分慘遭開除。
引用網址:https://home.gamer.com.tw/TrackBack.php?sn=4799446
All rights reserved. 版權所有,保留一切權利

相關創作

留言共 0 篇留言

我要留言提醒:您尚未登入,請先登入再留言

喜歡★QWERTYUIOP32 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:MySQL學習-05-S... 後一篇:MySQL學習-07-字...

追蹤私訊切換新版閱覽

作品資料夾

SALOL~~
望德勒斯圖書館更新中~看更多我要大聲說昨天15:03


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】