SQL CRUDとトランザクション
INSERT データを挿入する
# 1行のINSERT insert into soft (id, name, price, category) values ('8', 'chrome', 800, null); # カラムの指定なしでも可能 insert into soft values ('9', 'phpstorm', 1000, 'IDE'); # 複数行のINSERT # values につなげて記述 insert into soft values ('10', 'webstorm', 1100, 'IDE'), ('11', 'memo', 1200, 'Editor'); # DEFAULTの値を明示的にする insert into soft values ('10', 'webstorm', 1100, DEFAULT);
他のテーブルからデータをコピーする
# 事前にテーブルを作成する必要あり # soft_secondというテーブルを作成したと仮定 # select の結果が挿入される insert into soft_second (second_id, second_name, second_price, second_category) select id, name, price, category from soft;
DELETE データを削除する
# テーブルを残したまま、全ての行を削除するDELETE文 DELETE FROM soft; # 該当の行だけ削除するDELETE # idが11だけ削除する delete from soft where id = '11';
UPDATE データを更新する
# 全て更新 # 全てのデータのpriceが1000に更新 update soft set price = 1000; # 該当のみ更新 # priceが500以上のデータのpriceを2倍にする。 update soft set price = price * 2 where price > 500; #複数の更新 # カンマで区切る update soft set price = price * 2, category = 'Editor' where price > 500;
トランザクション
# COMMMITする (確定) BEGIN TRANSACTION; UPDATE soft set price = 1000; COMMIT; # ROLLBACKする (取り消し) BEGIN TRANSACTION: UPDATE soft set price = 1000; ROLLBACK;