プログラ生活

プログラム初学者のためのポイントを書いていこうと思います。たまに脇道それた記事もありますが、息抜きだとおもって気長にお付き合いください。

【SQL Server(連載)】INSERT文 -15-

www.pon-x.jp

前回の続き

今回は、データの挿入INSERTをやりたいと思います。

INSERT

INSERT文はレコードを挿入するために使います。
文法はこんな感じ

INSERT INTO [テーブル名]
VALUES([データ1], [データ2]…)

例えば、Sales.SalesReasonテーブルにデータを追加してみましょう。
なお、SalesReasonカラムは自動採番になっているので、データを指定しなくてもよいものになっています。

INSERT INTO Sales.SalesReason
VALUES('Radio Advertisement','Other',SYSDATETIME())

以下のように1件データが追加されました。
f:id:hanabusa-snow:20201130090910p:plain

念のため確認しますが、たしかにレコードが追加されています。
f:id:hanabusa-snow:20201130091110p:plain

なお、今回は適当なデータを作ったのでデータを消しておきましょう。

DELETE FROM Sales.SalesReason WHERE SalesReasonID > 10

カラムを指定して挿入する。

例えば、データをNULLで挿入していい場合は、わざわざNULLというデータを書く必要はありません。
この場合は、カラムを指定してINSERTすればよいのです。

INSERT INTO [テーブル名]
([カラム1], [カラム2]…)
VALUES([データ1], [データ2]…)

こんな感じに書きます。
では次は、Production.ProductCostHistoryテーブルを使います。
Production.ProductCostHistoryは、EndDateがNULLのデータを許容しているので、これらのデータを指定しないでデータを挿入してみます。

INSERT INTO Production.ProductCostHistory
(ProductID,StartDate,StandardCost,ModifiedDate)
VALUES(999,SYSDATETIME(),0,SYSDATETIME())

確認してみたところ確かに挿入されており、指定していないカラムはNULLが入っていました。
f:id:hanabusa-snow:20201130092838p:plain

練習データを消しておきましょう。

DELETE FROM Production.ProductCostHistory WHERE ProductID = 999 and StandardCost = 0







以上、今回はここまで。
次回もINSERT文をやります!!