TRUNCATEの基本構文
SQLのTRUNCATE文を使うことで、テーブルを再作成(テーブルごと削除してから再作成)することができます。
TRUNCATEの基本構文
TRUNCATE TABLE テーブル名;
本記事では、TRUNCATE 文を用いてテーブルを再作成する方法について解説しています。
TRUNCATE文の書き方
テーブルを再作成する
それでは、TRUNCATE文を用いてテーブルを再作成します。次の例では「item」テーブルを「TRUNCATE」を用いて再作成しています。
■TRUNCATE実施前
> SELECT * FROM item;
+----+-------+-------+----------+ | id | name | price | category | +----+-------+-------+----------+ | 1 | 商品A | 1980 | 書籍 | | 2 | 商品B | 4980 | 家具 | | 3 | 商品C | 7200 | 家具 | | 4 | 商品D | 500 | 書籍 | | 5 | 商品E | 1500 | 雑貨 | +----+-------+-------+----------+
■TRUNCATEの実行例
> TRUNCATE TABLE item;
TRUNCATE文を実行した結果、「item」テーブルに登録されているレコードはすべて削除され、テーブルが再作成されます。
「TRUNCATE」と「DELETE」の違い
テーブル内のすべてのデータを削除する方法には「TRUNCATE」と「DETELE」があります。
■TRUNCATEの特徴
- テーブルを再作成する
- テーブルを再作成するのでDELETE文よりも高速
- ロールバック(rollback)ができない
- テーブルを再作成するので「AUTO_INCREMENT」の値は初期化される
■DELETEの特徴
- テーブルのデータを1つずつ削除する
- ロールバック(rollback)できる
- データが削除されるだけなので「AUTO_INCREMENT」の値は初期化されない
テーブルのデータをすべて削除する場合は「TRUNCATE」の方が高速です。
ただし「TRUNCATE」の場合はロールバック(rollback)ができないので、用途に応じて使い分ける必要があります。
学習書の紹介
SQL 第2版 ゼロからはじめるデータベース操作 (プログラミング学習シリーズ) [ ミック ] 価格:2,068円 |
SQL 第2版 ゼロからはじめるデータベース操作
大好評のSQL定番入門書が改訂! SQLの書き方からアプリでの利用までしっかり学ぼう!
プログラミング学習シリーズ『SQL ゼロからはじめるデータベース操作』は、「データベースやSQLがはじめて」という初心者を対象に、プロのデータベース(DB)エンジニアである著者がSQLの基礎とコツをやさしく丁寧に教える入門書です。