データベース設計

【SQL入門】TRUNCATEの使い方(テーブル再作成)

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定番入門書が改訂! SQLの書き方からアプリでの利用までしっかり学ぼう!

プログラミング学習シリーズ『SQL ゼロからはじめるデータベース操作』は、「データベースやSQLがはじめて」という初心者を対象に、プロのデータベース(DB)エンジニアである著者がSQLの基礎とコツをやさしく丁寧に教える入門書です。

本書は、SQLの文法は学んだもののSQLに苦手意識を持っているITエンジニアのための書籍です。
複雑なSQLを読める/書けるようになるには、データベースの表をカタマリで操作する考え方(集合志向)を理解する必要があります。本書では、「データベースの表をカタマリで操作するイメージ」を持てるように、文法の解説はいったん脇に置き、どのようにイメージすれば良いか、ほかの手続き型言語とどう違うか、というポイントを豊富な図を使って入念に解説します。
また、SQLやデータベースで起こりがちな性能、メンテナンス性、開発効率などの問題を解決するには、データベースのしくみを理解し、アプリケーションとデータベースの役割を適切に分担する必要があります。こちらについても、さまざまな図と例を使って、問題が起きるメカニズムと解決のアイデアを紹介します。

-データベース設計

error: Content is protected !!