SQL言語は、データクエリ言語DQL、データ操作言語DML、データ定義言語DDL、データ制御言語DCLの4つのカテゴリに分類されます。以下は、これらの4つの言語とトランザクション処理言語の概要です。
1.データ定義言語-DDL
- データベースまたはデータベースコンポーネントの構造に対する操作(データ定義言語):
- 機能:トランザクションのロールバックはできません。
1.1 CREATE-tableの作成
構文
CREATE TABLEテーブル名(
フィールド名データ型制約、
フィールド名データ型制約
)
1.2テーブルのDROP削除
DROP TABLEテーブル名
1.3 ALTER-Changeテーブル
1.4切り捨てられたテーブル
-
テーブルの切り捨て。テーブル内のすべてのレコードをクリアします。
-
構文構造:
TRUNCATE TABLEテーブル名 -
TRUNCATEとDELETEの違い
- TRUNCATEはDDLであり、テーブル内のすべてのレコードの削除、ストレージ領域の解放のみが可能で、ROLLBACKはロールバックできません。
- DELETEはDMLであり、ストレージスペースを解放せずに指定したレコードを削除でき、ROLLBACKを使用してロールバックできます。
2.データ操作言語-DML
- データ操作言語(DML)は、主にデータベーステーブルのデータに操作を実装するために使用されます(追加、削除、変更)。
- データ操作言語には主に次のものが含まれます。
•行データの追加:INSERTステートメントを
使用して行データを変更:UPDATEステートメントを使用して達成
•行データを削除:DELETEステートメントを使用して達成 - 機能:トランザクションのロールバックを実行できます
2.1テーブルにレコードを挿入するINSERT
- 構文:
INSERT INTOテーブル名(フィールドリスト)VALUES(値リスト) - その中で:
1.フィールドリストと値リストはカンマで区切られています
2.値リストの値、文字列と日付定数は一重引用符で囲む必要があります。
3.値のタイプはフィールドのデータタイプと一致する必要があります
。4。INTOは省略できます
。5 。フィールドリストがテーブル全体に挿入されたフィールドの場合は省略できますが、値リストの数と順序は、定義されたテーブルフィールドの順序に従う必要があります。同じ。
6.フィールドは、それらのいくつかを書き込むこともできます。これは、後続の値の数に対応します。
7. VALUESキーワードでもVALUEを使用できますが、通常は値を使用します
または、以下の図を参照してください
。例:
複数のレコードをバッチで挿入する
- insertステートメントを使用して、一度に複数のレコードをテーブルにバッチ挿入します。構文の形式は次のとおりです。
INSERT INTOテーブル名(フィールド名)VALUES(値リスト1)、(値リスト2)、...、(値リストn);
- 例えば:
2.2データベース内のデータを変更するためのUPDATE句
-
データの変更は主に、指定された条件に従ってテーブル内の特定の行の列データを変更するために使用されます。
-
UPDATE句を使用してデータを変更します。構文構造は次のとおりです
。UPDATEテーブル名SETフィールド名1 =値1、フィールド名2 =値2 WHERE句 -
注:
- where句は、変更されたレコードを制限するために使用されます。where句が追加されていない場合、テーブル内のすべてのレコードがデフォルトで変更されます。
- SET句は、変更する列を制限するために使用されます。
- 複数のレコードを一度に変更できます
- 変更時に整合性制約エラーに注意してください
2.3 DELETEステートメントは、テーブル内の条件を満たす行を削除します
- データの削除は主に、指定された条件に従ってテーブルから特定の行を削除するために使用されます。
- 構文
DELETE FROM table WHERE句 - 例えば:
a。選択したレコードを削除します
b。すべてのレコードを削除します
レコードを削除するときは、整合性制約エラーにも注意してください
3.データクエリ言語-DQL(DQL DATA QUERY LANGUAGE)
DQLの詳細な手順については、次の記事を参照してください:MySQLステートメント-データクエリ言語DQL詳細説明
- 基本的なSELECTステートメントの構文:
SELECT [DISTINCT] {* | column | expression [alias]、…} FROM table where句。 - 注意:
- SELECT句は、取得するデータ列を示します。
- FROM句は、取得したデータがどのテーブルからのものかを示します。
- 例えば:
4.データ制御言語-DCL(データ制御言語)
- 付与
- 取り消す
5.トランザクション処理言語-TPL(TRANSACTION PROCESS LANGUAGE)
TPLの詳細な説明については、次の記事を参照してください:MySql Office TPL Summary
-
トランザクションプロセス言語:トランザクションプロセス言語(略してTPL)は、主にトランザクションを構成するDMLステートメントの操作結果を確認またはキャンセルするために使用されます。確認とはCOMMITコマンドを使用して実現されるDML操作を有効にすることを意味し、キャンセルとはROLLBACKコマンドを使用して実現されるDML操作を無効にすることを意味します。
-
自動トランザクションコミットモード
- mysqlのトランザクションは自動的にコミットされます。つまり、デフォルトでCOMMITステートメントが各SQLステートメントの後に追加されます
- mysqlトランザクションの自動コミットモードを表示します。SHOWVARIABLES LIKE'autocommit '
- mysqlの自動コミットモードを変更します
SET AUTOCOMMIT = 1は開くことを意味します
SET AUTOCOMMIT = 0は閉じることを意味します
-
MySQLトランザクション処理には主に2つの方法があります
-
:使用して、達成するためにコミット、ロールバックを開始し
、トランザクションを開始し始め
、ロールバックロールバックトランザクション
トランザクションのコミットコミットを -
MySQLの自動送信モードをMySQLのデフォルトである自動送信に変更するには、直接設定を使用します。つまり、SQLを送信すると、SQLが直接実行されます。set autocommit = 0を使用して自動送信を禁止することができますset autocommit = 1で自動送信を有効にしてトランザクション処理を実現できます。
ただし、set autocommit = 0を使用すると、コミットが確認されるか、ロールバックが終了するまで、後続のすべてのSQLがトランザクションとして処理されます。このトランザクションが終了すると、新しいトランザクションも開かれることに注意してください。最初の方法によると、現在のものだけがトランザクションです!
-
公式を見て、この記事が悪くないと思われる場合は、いいねをクリックして注意を払い、次に^-^
MySqlシリーズの記事をご覧ください。