sql >> データベース >  >> RDS >> Mysql

MySQLに複数の行を挿入する方法

    MySQLに複数行のデータを挿入する必要がある場合があります。 MySQLでは、1つのクエリで複数行の情報を入力できます。この記事では、MySQLに複数の行を挿入する方法を見ていきます。


    MySQLに複数の行を挿入する方法

    MySQLに複数の行を挿入する手順は次のとおりです。 MySQLに複数の行を挿入する方法は複数あります。これらのアプローチを1つずつ見ていきます。


    INSERTを使用して複数の行を挿入します

    次のテーブルがあるとしますemployees(id、first_name、last_name)

    mysql> create table employees(id int,
           first_name varchar(255),
           last_name varchar(255));

    INSERTステートメントを使用して複数の行を挿入する構文は次のとおりです。

    INSERT INTO table_name(column1, column2, ...),
        values(row1_value1, row1_value2,...),
              (row2_value1, row2_value2,...),
              ...

    上記のクエリでは、値を挿入する必要があるテーブル名を指定する必要があります。次に、丸括弧「()」で囲まれた各行の値をカンマで区切って入力する必要があります。

    従業員に複数行の情報を挿入するSQLクエリは次のとおりです。 テーブル。

    mysql> insert into employees(id, first_name, last_name)
    values(1,'John','Doe'),
    (2,'Jane','Doe');

    mysql> select * from employees;
    +------+------------+-----------+
    | id | first_name | last_name |
    +------+------------+-----------+
    | 1 | John | Doe |
    | 2 | Jane | Doe |
    +------+------------+-----------+


    SELECTから複数の行を挿入

    SELECTクエリの結果を使用して、テーブルに複数行のデータを挿入することもできます。

    INSERTINTOステートメントを使用して1つのテーブルから別のテーブルにデータをコピーするSQLクエリ構文は次のとおりです。

    INSERT INTO table1 (column1, column2, ...)
    select column1, column2, ...
    from table2

    上記のクエリでは、table2からcolumn1、column2、…を選択し、それらをtable1に挿入します。

    INSERT INTOステートメントとSELECTステートメントで使用される列は、同じ名前と順序である必要があることに注意してください。そうしないと、エラーが発生します。

    従業員からデータをコピーするためのSQLクエリは次のとおりです。 employee2へのテーブル テーブル。

    mysql> insert into employees2(id, first_name, last_name)
           select id, first_name, last_name
           from employees;
    
    mysql> select * from employees2;
    +------+------------+-----------+
    | id   | first_name | last_name |
    +------+------------+-----------+
    |    1 | John       | Doe       |
    |    2 | Jane       | Doe       |
    +------+------------+-----------+


    重複せずに複数の行を挿入

    テーブルに複数の値を挿入するときにレコードの重複を自動的に回避する場合は、SQLクエリのINSERTの後にIGNOREキーワードを使用します。

    ただし、これは主キーを持つテーブルに対してのみ機能します。

    これが例です、

    mysql> create table employees(id int primary key,
           first_name varchar(255),
           last_name varchar(255));
    
    mysql> insert ignore into employees(id, first_name, last_name)
                values(1,'John','Doe'),
                (1,'John','Doe');
    
    mysql> select * from employees;
    +----+------------+-----------+
    | id | first_name | last_name |
    +----+------------+-----------+
    |  1 | John       | Doe       |
    +----+------------+-----------+

    ご覧のとおり、2つの重複する行ではなく、1つの行のみが挿入されました。

    Ubiqを使用すると、データを簡単に視覚化し、リアルタイムのダッシュボードで監視できます。 Ubiqを無料でお試しください。

    1. 日付/時刻範囲のデータを選択

    2. PL / SQLプロシージャをオンラインで生成して、Oracleテーブルにデータをインポートします

    3. カテゴリごとに上位10件のレコードを選択

    4. alembicutilコマンドエラーで識別子が見つかりません