0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

100日でSQLの達人になる@LeetCode! Day51 <INSERT INTOでテーブルにデータを追加する>

Last updated at Posted at 2022-03-28

テーブルにデータを追加する

前回に引き続きLeetCodeの問題はお休み。
前回は空のテーブルを作成する方法をまとめたが、今回は作成したテーブルにデータを格納していく方法。

前回同様にdb<>fiddleを使って、テーブルにデータを格納するクエリを書いていきます。

SQL
-- 1行目データ
INSERT INTO テーブル名 (変数名1, 変数名2, 変数名3) VALUES (データ1, データ2, データ3)
-- 2行目データ
INSERT INTO テーブル名 (変数名1, 変数名2, 変数名3) VALUES (データ1, データ2, データ3)

これが基本形。

SQL
INSERT INTO テーブル名 VALUES (データ1, データ2, データ3)
INSERT INTO テーブル名 VALUES (データ1, データ2, データ3)

変数の数全てにデータを格納していく場合には、変数名リストを省略可能。

SQL
INSERT INTO テーブル名 VALUES (データ1, データ2, データ3)

変数の数全てにデータを格納していく場合には、変数名リストを省略可能。

SQL
INSERT INTO テーブル名 (変数名1, 変数名3) VALUES (データ1, データ3)

上記のように特定の変数にのみデータを格納していくことも可能。
データを省略したところにはNULL値やDEFAULT値などが格納されます。

下記が実行例です。

CREATE TABLE tbl1 (id INT IDENTITY(1,1), name NVARCHAR(10), age INT DEFAULT 20)

INSERT INTO tbl1 (name) VALUES('TANAKA')
INSERT INTO tbl1 (name,age) VALUES('GOTO', 30)

SELECT * FROM tbl1
GO

db<>fiddle here

id name age
1 TANAKA 20
2 GOTO 30

idはIDENTITYを指定しているため自分で入力しようとするとエラーになった。

また、

SQL
INSERT INTO テーブル名 (変数名1, 変数名2, 変数名3) 
VALUES 
(1行目データ1, データ2, データ3),
(2行目データ1, データ2, データ3),
(3行目データ1, データ2, データ3)

と複数行データを一括登録することも可能。

更には今回深入りはしないが、

SQL
INSERT INTO テーブル名 (変数名1, 変数名2, 変数名3) 
SELECT var1 var2 var3 FROM tbl2

のようにSELECT文CASE WHENを使用することも可能。

今日のポイントはINSERT INOTでテーブルにデータを格納するとした。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?