MySQLの言語カテゴリー--DML

DML
DMLはデータベース管理言語、データベース管理言語の略です。次のものがあります。

挿入、削除、更新、最適化します。

Benpianは、一つ一つを紹介しました

INSERTの
データベーステーブルの挿入データによって:

  1、全体のフィールド名を書き込む処理でプロジェクトを行う:(完全な構文を挿入し、)理解することは簡単です

      単一レコード挿入構文:TABLE_NAME(column_name1、......)の値(column_value1、......)に挿入します。

      構文を挿入する複数のレコード:(column_name1、......)の値(column_value1、......)、(column_value1、......)、(column_value1は、table_nameに挿入..... 。);

コードをコピーして
表STU作成します(
ID int型主キーAUTO_INCREMENT、
符号なしの年齢はint、
名前VARCHAR(20)、
「。1 'ジェンダーのenum( '0'、)、デフォルトを'0'
);
INSERT INTO STU(名前、年齢)の値(' LS '17);
INSERT INTO STU(ID、年齢、名前、性別)の値(1,18、' ZS」、 '1 ');
INSERT INTO STU(年齢、性別、名前)の値(15、' 1' 'WW')、(17 、 '0'、 'ZL')、(20、 '0'、 'TQ');
コードをコピー
      テーブルに結果セットを挿入する:フィールド名と新しい挿入処理結果セットフォームフィールド名が完全に一致する必要があります。

      図1に示すように、単に二つの異なる方法が、新しいテーブルにテーブル構造のデータを挿入します。

表の作成new_table_name AS(* table_nameの中から選択);
      2を、フォームの複製は、2つの手順が必要です。①新しいテーブルへの最初のコピーテーブル構造データ②

コードをコピー

コピーテーブルの構造

TABLE_NAMEのようなテーブルnew_table_nameを作成します。

フィールド名が一貫する必要が前と後、声明で新しいテーブルを挿入し、結果セットに記載されています

new_table_name(column_name1、column_name2、...)に挿入
を選択しcolumn_name1、column_name2、... table_nameのから、
复制代码

  2、窓に、cmd輸入ターミナルコマンド:

      SQLフォルダのディレクトリへの第一のスイッチ:ソースxxxx.sql

  3、エクスポート・データベース、Windowsターミナルコマンドラインコマンドラインモードでのデータベーステーブル

      すべてのデータベーステーブルをエクスポートします。mysqldumpを-h localhostの-uルート-p [-d]データベース名> database_name.sql

        [-D]エクスポートデータであれば、何の意味、書き込みをしないことをお勧めされていない、彼らはデータをエクスポートしていないと述べました

      mysqldumpを-h localhostの-uルート-p [-d] [--skip・ロック・テーブル]データベース名テーブル名> table_name.sql:エクスポートデータベーステーブルに触れます

        [--skip・ロック・テーブル]エクスポートテーブルと他のテーブルが関連している場合は、このオプションの使用は、この懸念を解消するだろうと述べました

DELETE
  、TRUNCATEの違いをドロップし、3を削除します。

    ビューをインデックス付けしているが削除され、テーブル、即時放出ディスク空間のデータの構造は、テーブルを削除することができるが、外部キーテーブルを削除することはできません。一般的にテーブルtable_nameドロップされる使用をドロップ

    一般的な使用法を切り捨てるテーブルtable_nameを切り捨てであり、テーブルインデックス付きビューに参加するために使用することはできません彼は、テーブル内のすべてのデータがクリアされ、すぐにディスク領域を解放されて、外部キー制約テーブルがあります

    一般的な使用方法は、どこ条件TABLE_NAMEから削除され、削除、それは後の状況に応じて削除され、ディスク領域を解放しません。条件がない場合、それは、テーブル内のデータは明らかです。

  データに関して:最初の2、提出された場合、再び見られるのと同じであるあなたは、トランザクションデータをロールバックによって削除回復することができ、削除、削除して何のトランザクションがコミットされていない場合、削除後に戻されることになります

   三者的执行速度:drop>truncate>delete

  完全な構文を削除します。

    削除[LOW_PRIORITY]テーブル名から[ここで、条件] [リミットN]

      [LOW_PRIORITY]顧客は、現在のテーブルのみdelete文を読んでいない場合と言いました

      [リミットN]は削除されたレコードの数を表します。

      [条件]は声明を選択することができない、select文は、両方の結果セットを返すことはできません。

コードのコピー
注意を第1のデータを削除する前に行わ選択:
。ID> 7及び性別= '0' STU SELECT * FROM
> WHERE ID STUから削除7及び性別= '0';。

* STUのseelctからWHERE名はNULLです。
STUからWHERE名を削除すると、nullリミット2であり、
コードのコピー
UPDATE    
削除の完全な構文を:

    更新【LOW_PRIORITY] TABLE_NAMEセットCOLUMN_NAME = COLUMN_VALUE、... [条件] [リミットN]

      [LOW_PRIORITY]顧客は、現在のテーブルのみdelete文を読んでいない場合と言いました

      [リミットN]は削除されたレコードの数を表します。

      [条件]は声明を選択することができない、select文は、両方の結果セットを返すことはできません。

注意:最初のデータを変更する前に選択:
IDを= 12 STUであるWHERE SELECT *;
更新STUセット名= 'ZS'、性別= IDが= 12 WHEREである」1'
最適化
  構文:OPTIMIZEのテーブルtbl_name

  あなたは未使用領域を解放OPTIMIZE TABLEを使用することができます。

元のテーブルの一時コピーが動作することによって、TABLEを最適化します。古いテーブルを新しいテーブル(ないアイドルライン)にコピーされ、その後、元のテーブルが削除され、新しい名前が変更されます。すべての更新が自動的に失敗した更新をせずに新しいテーブルに移動するように行われます。OPTIMIZE TABLEが実行された時点で、元のテーブルは他のクライアントによって読み取り可能です。新しいテーブルは、これまでに準備ができるまで更新とテーブルへの書き込みが停滞しています。

おすすめ

転載: blog.51cto.com/14551317/2440330