T-SQL でテーブルにデータを挿入 (INSRET) する
T-SQL でテーブルにデータを挿入 (INSRET) してみよう
ここでは、INSRET ステートメントを使って、既存のテーブルにデータを挿入してみましょう。
これらのテーブルを使いますので、こちら のスクリプトを実行して、Student・Test・TestResult テーブルを生成しておいてください。
INSERT ステートメント
次のような Student テーブルがあります。
INSERT ステートメントでデータを 1 行挿入する
Student テーブルに、INSERT ステートメントでデータを 1 行挿入するクエリーは以下の通りです。
INSERT INTO Student ( FirstName, LastName, Birthday, Gender ) VALUES ('Takuya', 'Yamamoto', '1981-11-05', 'M' );
[ 実行結果 ]
レコードが StudentID = 7 として挿入されましたね。
StudentID は IDENTITY プロパティを設定してあるので、自動的に連番が生成されます。 詳しくは改めて他のページで説明します。
ここでは、IDENTITY プロパティを指定してあるカラムには、基本的に INSERT ステートメントで値を指定して挿入することができず、自動的に連番が生成されるということだけ押さえておいてください。
今回は、StudentID 以外の全てのカラムに値を指定しましたが、NULL が許可されているカラムは指定しなくても大丈夫です。
INSERT INTO Student の後のカッコでくくったカラムのリスト(下記の黄色ハイライトされた部分)は、カラムが定義されている順番に、すべてのカラムを指定して挿入する場合は省略可能ですが、後でテーブルにカラムを追加した時などにエラーの原因となりますので、カラムは指定するようにしましょう。
INSERT ステートメントでデータを複数行挿入する
Student テーブルに、INSERT ステートメントでデータを 3 行挿入するには、次のようにカンマで区切って値のセットを指定します。
INSERT INTO Student ( FirstName, LastName, Birthday, Gender ) VALUES ('Sakura', 'Hata', '1980-07-07', 'F' ), ('Ayame', 'Hata', '1981-12-11', 'F' ), ('Shinji', 'Hata', '1983-05-06', 'M' );
[ 実行結果 ]
Student テーブルにレコードが 3 行挿入されました。
次は、INSERT と SELECT を使って他のテーブルからデータを挿入してみましょう。