ホームページ  >  記事  >  データベース  >  DDL、DML、DCL、TCL の概念の詳細な説明

DDL、DML、DCL、TCL の概念の詳細な説明

一个新手
一个新手オリジナル
2017-09-09 14:49:532796ブラウズ

経験豊富な開発者としては、DDL、DML、DCL、TCL などの略語 (名詞) に馴染みがないかもしれませんが、Yiyi プログラム開発の初心者としては、多くの混乱があるかもしれません。詳細を説明します。読者の参考になれば幸いです。

1. データ定義言語 DDL

DDL ((データ定義言語): 主なコマンドは、データ オブジェクト (データ オブジェクトなど) のデータ構造を定義/変更/削除するために使用されます。テーブル間のデータ型、リンク、制約などの初期化作業は、テーブルを作成するときに主に使用されます。つまり、DDL 言語の操作の対象となるのは、オブジェクトに含まれるデータではなく、データベース内のオブジェクトです。 DDL には次のステートメントが含まれています:

 1、CREATE : 在数据库中创建新的数据对象
 2、ALTER : 修改数据库中对象的数据结构
 3、DROP : 删除数据库中的对象
 4、DISABLE/ENABLE TRIGGER : 修改触发器的状态
 5、UPDATE STATISTIC : 更新表/视图统计信息
 6、TRUNCATE TABLE : 清空表中数据
 7、COMMENT : 给数据对象添加注释
 8、RENAME : 更改数据对象名称

注:
DDL ステートメントを実行するとき、ユーザーが insert コマンドを使用してデータベースにレコードを挿入すると、データベース (oracle/Mysql) は各ステートメントの前後に現在のトランザクションを送信します。 、DDL ステートメント (テーブルの作成など)、DDL ステートメントが実行されると、データはデータベースに送信され、DDL ステートメントはロールバックできません。言語 DML

DML (Data Manipulation Language) : SELECT、UPDATE、INSERT、DELETE、MERGEなど、データベース内のデータを追加/削除/変更/クエリ/マージするために使用される言語です。データベースには、次のステートメントが含まれています:


 1、INSERT :将数据插入到表或视图
 2、DELETE :从表或视图删除数据
 3、SELECT :从表或视图中获取数据
 4、UPDATE :更新表或视图中的数据
 5、MERGE : 对数据进行合并操作(插入/更新/删除)

注:

DML コマンドの実行時に送信されない場合、DML コマンドの後に DDL コマンドまたは DCL コマンドが実行されない限り、他のセッションには表示されません。 、またはユーザーがセッションを終了するか、インスタンスを終了すると、システムは自動的に commit コマンドを発行して、未送信の DML コマンドを送信します

3. データ制御言語 DCL

DCL (データ制御言語): 使用されるステートメントです。 (付与、拒否、取り消しなど) を含むデータベース ユーザーまたはロールの権限を設定または変更するには、

DCL には次のステートメントが含まれます:


 1、GRANT : 赋予用户某种控制权限
 2、REVOKE :取消用户某种控制权限

データ制御言語は、パスワードの作成、削除、変更、付与のみを必要とします。


4. トランザクション制御言語 (TCL): トランザクションを管理するために使用されます。

TCL には次のステートメントが含まれます。テーブル データを操作する場合は、確認が完了した後にトランザクションを追加する必要があります。処理後に COMMIT コマンドを完了する必要があります。そうしないと、変更がデータベースに書き込まれない可能性があります。これらの操作を元に戻したい場合は、ROLLBACK を使用できます。
INSERT、DELETE、UPDATE ステートメントを実行する前に、実行可能な操作のレコード範囲を見積もるのが最善です。10,000 レコードなど、より小さい範囲に制限する必要があります。そうしないと、ORACLE はこれを処理するために大きなロールバック セグメントを使用します。もの。プログラムの応答が遅くなったり、応答しなくなったりすることがあります。これらの操作が数十万件以上記録されている場合。これらの SQL ステートメントはセクションで完了できます。 COMMITを追加してトランザクション処理を確認します。

さまざまなステートメント操作のターゲットに基づいて、次の 4 つのタイプを簡単に区別できます。DDL データ オブジェクト、DCL データ、TCL トランザクション。

注意が必要な唯一の点は TRUNCATE です。機能的にはテーブル内のすべてのデータを削除するのと同等ですが、行ではなくテーブル レベルで動作します (何らかの理由でテーブル データをすぐに削除できない場合、TRUNCATE はデータをロックします)。 DELETE は行をロックしますが、テーブル全体をロックするため、DDL に含まれます。


以上がDDL、DML、DCL、TCL の概念の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。