來自MySQL的學習筆記,寫的不對的地方大家多多指教哦
SELECT、DISTINCT、FROM、JOIN、ON、WHERE、GROUP BY、HAVING、SUM、COUNT、MAX、AVG、ORDER BY、LIMIT
SELECT->DISTINCT->FROM->JOIN->ON->WHERE->GROUP BY->HAVING->ORDER BY->LIMIT
必須字段:SELECT、FROM
可選字段:DISTINCT、JOIN、ON、WHERE、GROUP BY、HAVING、SUM、COUNT、MAX、AVG、ORDER BY、LIMIT
FROM->ON->JOIN->WHERE->GROUP BY(開始使用SELECT中的別名,後面的語句中都可以使用別名)->SUM、COUNT、MAX、AVG->HAVING->SELECT->DISTINCT->ORDER BY->LIMIT
FROM:從哪個表中檢索數據
ON:關聯條件,與join壹起使用
JOIN:對需要關聯的表進行關聯
WHERE:過濾數據條件,執行順序:自下而上、從右到左
GROUP BY:將過濾的數據進行分組,執行順序:從左往右
SUM:求和
COUNT:數量統計
MAX:最大值
AVG:求平均值
HAVING:對分組的數據過濾條件,與group by壹起使用
SELECT:查看結果集
DISTINCT:結果集去重
ORDER BY:排序,升序:ASC;降序:DESC
LIMIT:截取出目標頁數據
詳細用法會在後面進行補充
首先創建壹張表,添加字段,表名字為:goodsmaster
添加數據的語法結構為:
添加數據可以是插入數據或插入查詢的結果
1.1 插入數據
運行語句,查詢結果:SELECT * FROM goodsmaster
部分字段有做非空約束,那麽這邊插入部分數據,驗證下非空約束
上面的語句運行之後會報錯,錯誤內容為“[Err] 1364 - Field 'barcode' doesn't have a default value”,即“barcode”這個字段有創建非空約束,表示這個字段不能為空,如果插入數據時不給這個字段賦值,那麽就需要給它壹個默認值。
部分字段沒有默認值,可以為空,那麽現在驗證壹下插入數據時,這些字段不進行賦值會有什麽結果
運行語句,查詢結果:SELECT * FROM goodsmaster
仔細看會發現,上面的語句中插入數據也沒有插入“itemnumber”字段,這個字段有添加主鍵約束,不能為空,但由於設置了自增約束,所以沒有賦值也會自動在當前字段最大值+1,這就是自增約束;
上面的語句顯示沒有進行賦值的字段會默認顯示Null。
1.2 插入查詢結果
MySQL 支持把查詢的結果插入到數據表中,我們可以指定字段,甚至是數值,插入到數據表中。
語法結構為:
刪除語句使用DELETE刪除,語法結構為:
刪除記錄可以使用WHERE來篩選刪除的數據,下面為刪除“barcode”字段數據為006的記錄
由於部分數據可以為空,所以再刪除的時候,WHERE的過濾條件必須用到主鍵約束或者唯壹性約束的字段。MySQL 的這種安全性設置,主要就是為了防止刪除或者修改數據時出現誤操作,導致刪除或修改了不相關的數據。
刪除表中的全部數據
MySQL中用UPDATE來修改數據,語法結構為:
註意:不要修改主鍵字段的值。因為主鍵是數據記錄的唯壹標識,如果修改了主鍵的值,就有可能會破壞數據的完整性。
語法結構:
具體需要用到的關鍵字查看本文第壹部分即可