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;