ホームページ  >  記事  >  データベース  >  4 つの SQL 言語の詳細な説明: DDL DML DCL TCL_MySQL

4 つの SQL 言語の詳細な説明: DDL DML DCL TCL_MySQL

WBOY
WBOYオリジナル
2016-08-20 08:48:101549ブラウズ

SQL が 4 つのタイプに分類されることを多くの人が議論しているのを目にしました。ここでその知識を広め、それぞれの違いをまとめてみましょう。

1. DDL – データ定義言語

データベース定義言語: データベースの構造を定義します。

主なコマンドはCREATE,ALTER,DROPなどで、以下に例を挙げて詳しく説明します。この言語はコミットを必要としないため、注意が必要です。

CREATE – データベースにオブジェクトを作成します データベースにオブジェクトを作成します

例:

リーリー

ALTER – データベースの構造を変更します データベース構造を変更します

例:

リーリー

DROP – データベースからオブジェクトを削除します データベースからオブジェクトを削除します

例:

リーリー

その他:

TRUNCATE – テーブルの内容を切り捨てる (開発期間中に非常に一般的)

COMMENT – データ辞書にメモを追加します

2. DML – データ操作言語

データベース操作言語:SQLでデータベース内のデータを処理する

主なコマンドとしては INSERT,UPDATE,DELETE などが挙げられます。これらの例は誰でもよく使うものなので、一つずつ紹介することはしません。この言語にはコミットが必要です。よく使用される LOCK TABLE もあります。

他にも見慣れないものがあります:

CALL – PL/SQL または Java サブルーチンを呼び出します

EXPLAIN PLAN – データアクセスパスの分析と分析

3. DCL – データ制御言語

データベース制御言語: 認可、ロール制御など

GRANT – ユーザーにアクセスを許可します

REVOKE – 承認を撤回します

4. TCL – トランザクション制御言語

トランザクション制御言語

COMMIT – 完了した作業を保存します

SAVEPOINT – トランザクションにセーブポイントを設定すると、そこにロールバックできます

ROLLBACK –ロールバック

SET TRANSACTION – 取引オプションを変更します

例: Java の JDBC はトランザクションのサポートをカプセル化します。たとえば、最初に新しいテーブル test

を作成します。

test.sql

リーリー

JDBC トランザクション ロールバックの最初の例 - JDBC データベース トランザクション ロールバック:

リーリー

19 行目: トランザクション分離レベルは SERIALIZABLE に設定されており、基礎となる呼び出しは TCL 言語の SET TRANSACTION です。

22行目: 実行パス、データの挿入

23 行目: 実行は失敗し、主キー 4 のレコードは存在せず、例外が直接スローされます

31 行目: トランザクションのロールバック、TCL ステートメントの ROLLBACK がカプセル化されています

JDBC トランザクション ロールバックの 2 番目の例 - JDBC データベース トランザクション ロールバック、特定のセーブ ポイントへのロールバック:

リーリー

最初の例と重複するものについては言及しません。

9行目: セーブポイントを宣言します

24行目: セーブポイントセット

33 行目: このセーブポイントまでトランザクションをロールバックします

上記のコードには、TCL 言語の SAVEPOINT が含まれています

最後に、まとめた画像を以下に示します: (SELECT は DQL に属します)

この記事が SQL を学習するすべての人に役立つことを願っています。

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