新着情報

HOME > 開発者ブログ > intra-mart > DELETE文 TRUNCATE文 DROP文の違い(SQL構文)

DELETE文 TRUNCATE文 DROP文の違い(SQL構文)

 

sql

 

みなさんどうもこんにちは。自称エリート(見習い)です。
社内で名前が痛いと言われますが、このまま名乗り続けようと思います。


本日はタイトルの通り、
DELETE文 ・ TRUNCATE文 ・ DROP文の違いを紹介していきたいと思います。

 

 

語訳は 削除 ・ 切り取る ・ 落とすとどれも"捨てる"みたいなニュアンスですが、
それぞれ DML(データ操作言語) ・ DDL(データ定義言語) ・ DDL(データ定義言語) と違います。

 

※DDL文が被っています。

※因みにOracleの勉強で身につけた知識なので、

 MySQLやPostreSQLなど他のDBについては違うかもしれないです。

 

それでは構文の使い方のおさらいを。

 


■DELETE文
表内のデータを(全)削除する。

DELETE FROM (表名);

WHERE句で条件指定しないと表内の全てのデータが削除されるので注意してください。
COMMITしていなければロールバック可能です。

 

 

■TRUNCATE文
表内のデータを全削除する。

TRUNCATE TABLE (表名);

TRUNCATE文はWHERE句で指定できませんのでテーブルのデータを全て削除します。
テーブルごと削除してから再作成するのでDELETE文よりも高速です。
ただしロールバックができませんので注意してください。

 

 


■DROP文
表内のオブジェクトを完全に削除する。

DROP TABLE (表名);

完全に削除するのでロールバックができません。表構造も残りません。
因みにDROP文はオブジェクトに対するSQL文なのでTABLEを変えてあげれば索引なども削除できます。

 

 

 


簡単なまとめといった内容なので、

詳しい構文を知りたいという方は各構文について検索してみてください。

 

 

・単純に1行単位での削除はDELETE文
・大量のデータを一度にすべて削除したい時はTRUNCATE文
・オブジェクト単位で削除したいときはDROP文

 

慣れないうちは上記で覚えるといいかもしれません。

2017年06月19日(月)

テレマーケティングシステムsakuraトライアル

コールセンターシステム sakuraCTI

資料請求

お問合わせ

コラム

用語集

開発者ブログ

イントラマート

Sakuraテレマーケティングシステム

 

 

営業リスト

インフラソリューションのご案内

導入事例

テレアポノウハウ本プレゼントキャンペーン

認証マーク

アースリンクは
プライバシーマークを
取得しています。

プライバシーポリシー


SSLとは?

当サイトでは、実在性の証明とプライバシー 保護のためSSLサーバ証明書を使用しSSL 暗号化通信を実現しています。

このページの先頭へ