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

1つのSQLクエリに複数の行を挿入する方法–今週のインタビュー質問#069

    世界には非常に多くの異なるデータベースがあり、それらの多くはプログラミングにSQL言語を使用しています。彼らがSQLを使用している場合、あるデータベースから別のデータベースへのコードを簡単に使用できると考えるのは非常に簡単です。残念ながら、現実は大きく異なり、あるデータベースのすべてのスクリプトが別のデータベースで機能するわけではありません。今日は、ユーザーが1つのSQLクエリに複数の行を挿入することについて質問した非常に興味深い質問が表示されます。

    質問: 1つのSQLクエリに複数の行を挿入するSQLコードを記述します。このスクリプトの条件は、SQL Server、MySQL、およびPostgreSQLで、1行のコードを変更せずに機能するようにすることでした。

    回答: 1つのSQLクエリに複数の行を挿入するコードを作成することは難しい作業ではありませんが、複数のデータベースで機能するスクリプトを作成することは確かに困難です。ただし、複数のデータベースで機能するスクリプトを作成することは可能です。

    まず、2つの列を含むサンプルテーブルを作成しましょう。テーブルが作成されたら、1つのSQLクエリに3つの異なる行を挿入します。

    CREATE TABLE SampleTable (ID INT, Col1 VARCHAR(100));
    INSERT INTO SampleTable (ID, Col1)
    VALUES (1, 'One'), (2, 'Two'), (3, 'Three');
    SELECT *
    FROM SampleTable;
    DROP TABLE SampleTable;
    

    次に、このクエリを複数のデータベースで実行して、結果を確認しましょう。

    SQL Server

    MySQL

    PostgreSQL

    以上です。これは確かに非常に興味深い質問でした。代わりに、UNIONを使用してSQLスクリプトを作成することもできます。ただし、このクエリで示した解決策は、新しい方法です。


    1. SQLServerで文字列と数値を連結する6つの方法

    2. WindowsにMySQLをインストールする方法

    3. 複数の列に結合する方法

    4. [ビデオ]PostgreSQLのインデックス作成の力