數據的插入(INSERT語句的使用方法) 原則上,執行一次INSERT語句會插入一行數據。 對錶進行全列INSERT時,可以省略表名後的列清單。 省略INSERT語句中的列名,就會自動設定為該列的預設值(沒有預設值時會設定為NULL)。 從其他表中複製數據:INSERT …SELECT。 INSER ...
數據的插入(INSERT語句的使用方法)
INSERT INTO ShohinIns (shohin_id, shohin_mei, shohin_bunrui, hanbai_tanka,
原則上,執行一次INSERT語句會插入一行數據。
對錶進行全列INSERT時,可以省略表名後的列清單。
省略INSERT語句中的列名,就會自動設定為該列的預設值(沒有預設值時會設定為NULL)。
從其他表中複製數據:INSERT …SELECT。
INSERT語句的SELECT語句中,可以使用WHERE子句或者GROUP BY子句等任何SQL語法。(但使用ORDER BY子句並不會產生任何效果)。
數據的刪除(DELETE語句的使用)
DROP TABLE語句可以將表完全刪除。
DELETE語句會留下表(容器),而刪除表中的全部數據。
清空表:DELETE FROM Shohin;
DELETE語句的刪除對象並不是表或者列,而是記錄(行)。
可以通過WHERE字句指定對象條件來刪除部分數據。
註:TRUNCATE <表名>; 只能刪除全部數據,正因為它不能具體地控制刪除對象,所有其處理速度比DELETE要快的多。因此需要刪除全部數據時,使用TRUNCATE可以縮短執行時間。
數據的更新(UPDATE語句的使用方法)
UPDATE語句:
UPDATE <表名>
SET <列名> = <表達式>
WHERE <條件>;
使用UPDATE語句可以將值清空為NULL(但只限於未設置NOT NULL約束的列)。
多列更新:使用逗號將列進行分隔排列
UPDATE Shohin
SET hanbai_tanka = hanbai_tanka * 10,
shiire_tanka = shiire_tanka / 2
WHERE shohin_bunrui = '廚房用具';
事務
事務是需要在同一個處理單元執行的一系列更新處理的集合。
START TRANSACTION;
-- 運動T恤的銷售單價下調1000日元
UPDATE Shohin
SET hanbai_tanka = hanbai_tanka - 1000
WHERE shohin_mei = '運動T恤';
-- T恤的銷售單價上浮1000日元
UPDATE Shohin
SET hanbai_tanka = hanbai_tanka + 1000
WHERE shohin_mei = 'T恤';
COMMIT;
START TRANSACTION;
-- 運動T恤的銷售單價下調1000日元
UPDATE Shohin
SET hanbai_tanka = hanbai_tanka - 1000
WHERE shohin_mei = '運動T恤';
-- T恤的銷售單價上浮1000日元
UPDATE Shohin
SET hanbai_tanka = hanbai_tanka + 1000
WHERE shohin_mei = 'T恤';
ROLLBACK;
事務處理何時開始:
幾乎所有的資料庫產品,每條SQL語句就是一個事務(自動提交模式)。
如果需要回滾操作,需要關閉自動提交或者明示開始事務(start transaction)
事務的ACID特性:原子性、一致性、隔離性、持久性。.