DDLとDMLの違い


DDL(Data Definition Languageデータ定義言語)
SQLデータベース内のすべてのオブジェクトを定義および管理するためのデータ定義言語
1 2 3 4 5 6 create   table         alter   table        drop   table       truncate   table         create   index       drop   index   
DDL文を実行すると、oracleは各文の前後で現在のトランザクションをコミットします.
ユーザーがinsertコマンドを使用してレコードをデータベースに挿入した後、create tableなどのDDL文を実行すると、insertコマンドからのデータがデータベースにコミットされます.
DDL文の実行が完了すると、DDL文は自動的にコミットされ、ロールバックできません. 
DML(Data Manipulation Languageデータ操作言語)
1 2 3 insert     update     delete  
DMLコマンドを実行してもコミットされない場合、他のセッションには表示されません.
DMLコマンドの後にDDLコマンドまたはDCLコマンドが実行されたり、ユーザーがセッションを終了したり、インスタンスを終了したりしない限り、システムは自動的にcommitコマンドを発行し、コミットされていないDMLコマンドをコミットします.
 
両者の違いをまとめます.
DMLは、SELECT、UPDATE、INSERT、DELETEの名前のように、データベース内のデータを操作するための言語です.
DDLはDMLよりも多く、主なコマンドはCREATE、ALTER、DROPなどであり、DDLは主にテーブル(TABLE)の構造、データ型、テーブル間のリンクや制約などの初期化作業に用いられ、テーブルの構築時に使用されることが多い.