目次
01. DELETE文
02. Truncate文
03. Drop Table文
DELETE文でテーブルの行を削除する
サンプル
DELETE FROM employee
WHERE id = 3;
解説
DELETE FROM テーブル名 WHERE 条件; |
- where句の条件に合致した行を削除します。
- where句の条件に合致した行が複数行の場合、複数行削除します。
→条件はキーを指定する、またはキー以外の場合はなるべく複数の項目を指定して、想定していない行が削除されないようにします。
→deleteの前にwhere句にdeleteで指定するのと同じ条件でselectを実行して削除対象の行を確認してみるのもありです。 - where句の条件に合致する行がない場合は何もしません。
- where句がない場合、全ての行を削除します。
- where句に副問合せを記述できます。
- ロールバックできます。
使用例
employeeテーブルのid=3の行を、削除します。
id | name | romaji |
---|---|---|
1 | 鈴木 | suzuki |
2 | 田中 | tanaka |
3 | 佐藤 | sato |
以下のSQLを実行します。
DELETE FROM employee
WHERE id = 3;
2行目は、削除するidを指定しています。
結果は、以下のとおりです。
id | name | romaji |
---|---|---|
1 | 鈴木 | suzuki |
2 | 田中 | tanaka |
id=3のデータが削除されました。
likeの前方一致で行を削除する
DELETE FROM employee
where romaji like 'tana%'
likeの前方一致で削除という使い方もできます。
列名「romaji」で「tana」で始まる行を抽出します。
Truncate文ですべての行を削除する
サンプル
Truncate table employee;
解説
Truncate table テーブル名; |
- テーブルのデータを全て削除します。
→テーブル自体は削除されません。 - where句をつけることはできません。
- delete文より高速です。
- ロールバックできません。
- truncateは、切り捨てるという意味です。
使用例
employeeテーブルの全ての行を、削除します。
id | name | romaji |
---|---|---|
1 | 鈴木 | suzuki |
2 | 田中 | tanaka |
3 | 佐藤 | sato |
以下のSQLを実行します。
Truncate table employee;
結果は、以下のとおりです。
id | name | romaji |
---|---|---|
employeeテーブルのデータが全て削除されます。
テーブル自体は消えません。
Drop Table文でテーブルを削除する
サンプル
Drop table employee;
解説
Drop Table テーブル名; |
- テーブル自体を削除します。
使用例
Drop Table文で以下のテーブルを削除します。
id | name | romaji |
---|---|---|
1 | 鈴木 | suzuki |
2 | 田中 | tanaka |
3 | 佐藤 | sato |
以下のSQLを実行します。
Drop table employee;
結果は、テーブルが削除されます。
関連の記事