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定番入門書が改訂! SQLの書き方からアプリでの利用までしっかり学ぼう!
プログラミング学習シリーズ『SQL ゼロからはじめるデータベース操作』は、「データベースやSQLがはじめて」という初心者を対象に、プロのデータベース(DB)エンジニアである著者がSQLの基礎とコツをやさしく丁寧に教える入門書です。
SQLの苦手を克服する本 データの操作がイメージできれば誰でもできる [ 生島 勘富 ] 価格:2728円 |
本書は、SQLの文法は学んだもののSQLに苦手意識を持っているITエンジニアのための書籍です。
複雑なSQLを読める/書けるようになるには、データベースの表をカタマリで操作する考え方(集合志向)を理解する必要があります。本書では、「データベースの表をカタマリで操作するイメージ」を持てるように、文法の解説はいったん脇に置き、どのようにイメージすれば良いか、ほかの手続き型言語とどう違うか、というポイントを豊富な図を使って入念に解説します。
また、SQLやデータベースで起こりがちな性能、メンテナンス性、開発効率などの問題を解決するには、データベースのしくみを理解し、アプリケーションとデータベースの役割を適切に分担する必要があります。こちらについても、さまざまな図と例を使って、問題が起きるメカニズムと解決のアイデアを紹介します。