目次
ふりかえり

筆者
本記事は、SQLの基本、実務使用例編になります。
SQLの基礎に関しましては、
【初学者必見!】SQLの超基礎編の記事をご覧くださいませ。

A子
本編に入ります!
TRUNCATE TABLE とは?
TRUNCATE TABLE は、テーブル内の全データを一瞬で削除するSQL文です。
以下のような特徴があります:
| 特徴 | 内容 |
|---|---|
| 削除対象 | テーブル内の全行 |
| ロック | テーブル単位でロックします(高速) |
| ログ | 削除ログを最小限にするため高速 |
| ロールバック | 基本的にはロールバックできません(Oracleではできる場合あり) |
| 自動採番 | ID(シーケンス)はリセットされません(DBにより異なる) |
実務レベルの使用例を見ていこう!

筆者
実際に、SQLを使用してデータを確認していきましょう。
SQLに関しては以下を使用して解説していきます。
create table文、select文、insert文、update文、delete文、
drop table文、につきましては、過去にアップロードした
【初学者必見!】SQLの超基礎編の記事をご覧くださいませ。

A子
目次の、「ふりかえり」のところにそれぞれの記事のリンクが
貼ってあるよ!
または、サイドバーのカテゴリーにSQLがあるから、そちらからでも
参照できます!
Oracle Live SQLで実行していきます!
今回、実行するSQLの一覧
CREATE TABLE(テーブル作成)
create table employees (
id number,
name varchar2(50)
);
INSERT(データ挿入)
insert into employees (id, name) values (1, '田中');
insert into employees (id, name) values (2, '佐藤');
SELECT(データ確認)
select * from employees;
TRUNCATE TABLE(全データ削除)
truncate table employees;
SELECT(再確認)
select * from employees;
DELETE との違い
| 比較項目 | DELETE | TRUNCATE |
|---|---|---|
| 条件指定 | できる(where) | できない(全削除のみ) |
| ロールバック | できる | 原則できない |
| 処理速度 | 遅い(1行ずつ) | 速い(一括) |
| トリガー | 発火する | 発火しない |
まとめ

筆者
TRUNCATE TABLEについて解説しました。
次回もお楽しみに!










コメント