Mariadb學習總結(四):數據的插入刪除與修改
INSERT插入數據INSERT語句格式:
表結構如下:
插入單條數據
因為在很多時候有些值是默認的,所以我們可以指定為哪些列插入數據,而其他列則使用默認值,如下:
同樣的,插入特定列數據還可以這樣寫:
這樣就僅僅插入了用戶名和密碼,其他值則使用默認。
插入多行數據
很多時候我們會有使用一條INSERT語句向數據表插入多條記錄的需求,就可以這樣寫:
莫名其妙的優先順序?
當使用的存儲引擎(MyISAM, MEMORY, MERGE)使用表級鎖的時候,可以使用
所以,當INSERT語句執行前有SELECT語句執行時,INSERT阻塞並等待SELECT讀取完畢,但此時,如果有SELECT再次進入調度,則SELECT被阻塞(按理讀鎖可以直接讀)但此時因為INSERT語句跟SELECT語句有同樣的優先順序,所以SELECT要等INSERT結束才能執行,所以INSERT可以加LOW_PRIORITY來優化讀取速度。
這裡慢慢看吧,對鎖這個東西懂的不是很多。
修改數據
UPDATE語句語法如下:
更新所有
當不使用WHERE子句約束選擇條件的時候,則更新所有數據,例如,修改user表所有記錄的登陸時間為現在:
更新最早註冊的三個人的登錄IP為127.0.0.1
ORDER BY語句可以用於SELECT UPDATE DELETE等,是指示該表輸出、刪除、更新時遵循該表哪個欄位排列。
例如以上,ORDER BY regtime就是根據註冊時間來正序排列更新,並且配合LIMIT語句只更新了前三行。
再使用DESC來指定倒敘排列,例如:ORDER BY regtime DESC
LIMIT語句:用於限制查詢結果的條數。
用法:
LIMIT[位置偏移量,]行數
第一行從0開始,所以以下:
因為WHERE子句也有很多東西,這裡就不過多貼內容了。
REPLACE語句
以上這條語句是MariaDB的擴展SQL,相當於刪除重複(主鍵或唯一索引)的記錄再添加新的記錄。
好像有點雞肋?….
刪除數據
刪除所有數據
不使用WHERE語句來約束條件時,則刪除所有數據,如下:
使用WHERE語句約束選中行
那麼?這篇文章就簡單寫到這吧~~
※Chrome OS已經支持Linux應用,何時兼容Windows?
※Linux系統有啥好的,你們都去學?
TAG:Linux資訊速推 |