序文: 前回の記事では、注意深い学生であれば発見できたかもしれない DDL ステートメントの使用法を中心に紹介しました。この記事では、DML ステートメントに焦点を当て、テーブル データに関連する操作について説明します。 ここでは、DDL 文と DML 文の分類について説明します。一部の受講者には、このことがよくわからないかもしれません。 DDL (データ定義言語): データベースまたはテーブルの構造を作成、削除、変更したり、データベースまたはテーブルの構造を操作するために使用されるデータ定義言語。一般的なものとしては、create、alter、drop などがあります。 DML (データ操作言語): 主にテーブル レコードを更新 (追加、削除、変更) するために使用されるデータ操作言語。一般的なものとしては、挿入、更新、削除などがあります。 1. データを挿入する 挿入構文は主にデータを挿入するために使用されます。公式ドキュメントにも多くのオプションが提供されています。 INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [PARTITION (partition_name [,partition_name] ...)] [(col_name [,col_name] ...)] {VALUES | VALUE} (value_list) [, (value_list)] ... [ON DUPLICATE KEY UPDATE assignment_list] INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [PARTITION (partition_name [,partition_name] ...)] SET assignment_list [ON DUPLICATE KEY UPDATE assignment_list] INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [PARTITION (partition_name [,partition_name] ...)] [(col_name [,col_name] ...)] SELECT ... [ON DUPLICATE KEY UPDATE assignment_list] 値: {expr | DEFAULT} value_list: 値 [, 値] ... 割り当て: col_name = 値 assignment_list: 割り当て [, 割り当て] ... 興味のある学生は上記のオプションを参照して勉強することができます。以下では、よく使用される構文をいくつかカテゴリ別に紹介します。 ... 値に挿入 (...) これはおそらく、挿入ステートメントを記述する最も一般的な方法です。標準的な使用法は次のとおりです。 INSERT INTO <テーブル名> [ <列名 1> [ 、 … <列名 n>] ]VALUES (値 1) [… 、 (値 n) ]; テーブルに INSERT INTO (列1、列2...)VALUES (値1、値2、...)、(値1、値2、...)、...; 構文は次のとおりです。
挿入...設定... insert ... set ステートメントは、一度に 1 つのデータのみを挿入できます。テーブルにいくつかの列の値を挿入できるため、より柔軟です。 INSERT INTO <テーブル名> SET <列名 1> = <値 1>、<列名 2> = <値 2>、… 挿入...選択... INSERT INTO…SELECT…FROM ステートメントは、1 つ以上のテーブルからデータをすばやく取得し、そのデータを行データとして別のテーブルに挿入するために使用されます。 SELECT 句はクエリ結果セットを返し、INSERT ステートメントは、この結果セットを指定されたテーブルに挿入します。結果セット内の各データ行のフィールド数とデータ型は、操作対象のテーブルとまったく同じである必要があります。 たとえば、テスト テーブルと test_bak テーブルの構造が同じで、テスト テーブルのデータを test_bak テーブルに挿入する場合は、次のようにします。 test_bakに挿入し、testから*を選択します。 重複キーの更新時に挿入... 挿入する新しい行が主キー (PRIMARY KEY) または UNIQUE 制約に違反する場合、MySQL はエラーを報告します。この構文は、このエラーを解決するためのものです。データベースにレコードが存在する場合、このステートメントを実行するとレコードが更新され、存在しない場合はレコードが挿入されます。 効果を示す例を以下に示します。 CREATE TABLE `student` ( `xuehao` int(11) 主キー、 `name` varchar(255) DEFAULT NULL、 `age` int(11) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8; mysql> select * from student;+--------+------+------+| xuehao | name | age |+--------+------+------+| 1001 | aaa | 18 || 1002 | bbb | 19 || 1003 | ccc | 20 |+--------+------+------+ DUPLICATE KEY UPDATE age = 19 の学生 (xuehao、名前、年齢) の値 (1003、 'ccc'、19) に挿入します。 mysql> select * from student;+--------+------+------+| xuehao | name | age |+--------+------+------+| 1001 | aaa | 18 || 1002 | bbb | 19 || 1003 | ccc | 19 |+--------+------+------+ 学生セット age = 19 を更新します。xuehao = 1003 です。 ... 値に置き換えます ... replace into は insert と似ていますが、replace into は最初にテーブルにデータを挿入しようとする点が異なります。1. データ行がテーブルに既に存在することが判明した場合 (主キーまたは一意のインデックスに基づく)、データ行を削除してから新しいデータを挿入します。 2. それ以外の場合は、新しいデータを直接挿入します。 例を挙げて説明しましょう: mysql> select * from student;+--------+------+------+| xuehao | name | age |+--------+------+------+| 1001 | aaa | 18 || 1002 | bbb | 19 || 1003 | ccc | 19 |+--------+------+------+ 学生の値に置き換えます(1003、 'ccc'、17); mysql> select * from student;+--------+------+------+| xuehao | name | age |+--------+------+------+| 1001 | aaa | 18 || 1002 | bbb | 19 || 1003 | ccc | 17 |+--------+------+------+ 2. データを更新する 更新ステートメントはテーブルデータを更新するために使用されます。公式に推奨される構文は次のとおりです。 UPDATE [LOW_PRIORITY] [IGNORE] テーブル参照 SET 割り当てリスト [WHERE where_condition] [ORDER BY ...] [LIMIT 行数] 値: {expr | DEFAULT} 割り当て: col_name = 値 assignment_list: 割り当て [, 割り当て] ... 同様に、ここでは一般的に使用される単一テーブル更新構文のみを紹介します。 UPDATE <テーブル名> SET フィールド1=値1 [,フィールド2=値2…] [WHERE句][ORDER BY句] [LIMIT句] 構文は次のとおりです。
3. データを削除する delete ステートメントはテーブル データを削除するために使用されます。公式ドキュメントでは次の構文が推奨されています。 DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name [PARTITION (partition_name [,partition_name] ...)] [WHERE where_condition] [ORDER BY ...] [LIMIT row_count] 単一のテーブルからデータを削除するには、DELETE ステートメントを使用します。構文は次のとおりです。 DELETE FROM <テーブル名> [WHERE句] [ORDER BY句] [LIMIT句] 構文は次のとおりです。
要約: この記事では、主に 3 つの DML ステートメントの構文を紹介します。これらは単純に見えますが、さまざまなオプションは実際には非常に複雑であり、特に挿入ステートメントには頻繁に使用されるオプションが多数あります。ここで、更新または削除ステートメントを実行する際には注意が必要であることもお知らせします。where 条件を使用しないと、すべてのデータが更新または削除されます。 上記はMySQL DML文の使用に関する詳細な説明です。MySQL DML文の詳細については、123WORDPRESS.COMの他の関連記事にご注目ください。 以下もご興味があるかもしれません:
|
>>: IDEA 2020 で Tomcat サーバーを構成するための詳細な手順
Dockerにfastdfsをインストールするディレクトリをマウント-v /e/fdfs/トラッカー...
タイムスタンプの差を計算するSQLメソッド概要場合によっては、特定のレコードを時間で検索する必要があ...
目次1. 電卓機能の紹介2. 計算機ページのデザイン1. ナビゲーションバー2. データ部分3. i...
1. テーブルステートメントを作成します。 テーブル「従業員」を作成します( `emp_no` in...
脆弱性の紹介SigRed の脆弱性はワーム化可能であるため非常に危険です。つまり、ユーザーの介入なし...
<br />Web2.0とは何ですか? Web2.0にはソーシャルネットワーク製品とその...
効果 html <本文> <div class="content&quo...
1. ファイルサーバーについてプロジェクトでは、公開ソフトウェアやデータをプロジェクト チーム メン...
前の記事では、And キーワードを使用した MySql の複数条件クエリ ステートメントを紹介しまし...
nginx プロセス モデルでは、トラフィック統計、トラフィック制御、データ共有などのタスクを完了す...
この記事では、期間限定フラッシュセール機能を実装するためのJavaScriptの具体的なコードを参考...
目次1. インストール2. videojsの紹介3. コンポーネントでのテストと使用1. 基本的な自...
1. ミドルウェアの紹介1. 基本概念ElasticSearch は Lucene をベースにした検...
序文仮想通貨の狂気的な投機により、マイニングウイルスは犯罪者が最も頻繁に使用する攻撃方法の 1 つに...
Web ページの読み込み速度は、Web サイトの品質を評価するための重要な指標です。その理由は、ほと...