前回の MySQL ドリフトの話 (1) を復習してください:
データの追加:
ここで話したいのは、複数のデータを追加する場合はどうすればよいでしょうか?
構文:テーブル名に挿入するvalues(…,…,…)
ケース:table04に挿入するvalues('wangwu',19,'beijing'),('gaojin',31,'nanjing');値はテーブル作成時に対応するフィールドです。テーブル作成時にフィールドの順序を忘れても問題ありません。
構文: テーブル名を記述する
は、テーブル
//(3) この形式の挿入ステートメントを使用すると、複数の行を挿入できません
select ステートメントを使用してテーブルを作成できることを紹介しましたが、今では利便性を提供するために insert...into...select ステートメントを使用しています。
1: クエリに order by 句を含めることはできません
1)insert into table01_01 select * from table01_01;//copy と同等、テーブル構造は完全に同じです
前の MySQL ドリフト (1) を確認してください:
構文:テーブル名に挿入するvalues(…,…,…)
ケース:table04に挿入するvalues('wangwu',19,'beijing'),('gaojin',31,'nanjing');値はテーブル作成時に対応するフィールドです。テーブル作成時にフィールドの順序を忘れても問題ありません。構文: テーブル名を記述する
は、テーブル
の順序で値を割り当て、その値をリストするのに役立ちます。これは、最初にいくつかの列だけを設定する必要があるレコードを作成したい場合に便利です。 Jack') ,('baidu');
(3) insert test01_01 set name='Tencent'; //(3) この形式の挿入ステートメントを使用すると、複数の行を挿入できません
insert…into…select.. ステートメント:
select ステートメントを使用してテーブルを作成できることを紹介しましたが、今では利便性を提供するために insert...into...select ステートメントを使用しています。
を満たすために insert into...select ステートメントを使用する次の条件:
1: クエリに order by 句を含めることはできません
2: ANSI SQL ではテーブルから選択することが禁止されているため、insert ステートメントの宛先テーブルを select クエリ部分の from 句に含めることはできません問題は、挿入されるレコードと同じ実行期間内の以前のエントリが検索される可能性があることです。 sub-select 句を使用する場合、状況が混乱しやすいです
構文例:
1)insert into table01_01 select * from table01_01;//copy と同等、テーブル構造は完全に同じです
2)insert into table01_01( name) select name from table04; //コピーするときは、特定の値のみを取得し、
を追加します。
以上がMySQL ドリフトに関する簡単な説明 (6)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。