SQL Operations Studio(現在はAzure Data Studioと呼ばれています)を使用してSQLServer2017データベースにデータを挿入する方法。
データベースにデータを挿入する方法はたくさんあります。使用する方法は、データのタイプと、データが挿入されるコンテキストに大きく依存します。 SQLスクリプトを使用してデータを挿入することから始めましょう。
SQLスクリプトによるデータの挿入
挿入するすべてのデータを含むスクリプトを実行できます。これは、SQL INSERT
で可能になります ステートメント。
Music
に対して次のスクリプトを実行します 以前に作成したデータベース:
INSERT INTO Artists (ArtistName, ActiveFrom) VALUES ('Iron Maiden','1975-12-25'), ('AC/DC','1973-01-11'), ('Allan Holdsworth','1969-01-01'), ('Buddy Rich','1919-01-01'), ('Devin Townsend','1993-01-01'), ('Jim Reeves','1948-01-01'), ('Tom Jones','1963-01-01'), ('Maroon 5','1994-01-01'), ('The Script','2001-01-01'), ('Lit','1988-06-26'), ('Black Sabbath','1968-01-01'), ('Michael Learns to Rock','1988-03-15'), ('Carabao','1981-01-01'), ('Karnivool','1997-01-01'), ('Birds of Tokyo','2004-01-01'), ('Bodyjar','1990-01-01');
上記のスクリプトは、Artists
にデータを挿入します テーブル。アーティストごとに新しい行を挿入します。
次に、次のステートメントを実行します。
SELECT * FROM Artists;
そのステートメントは、Artists
の内容を返します テーブル:
ArtistId
が表示されます 実際にはその列にデータを追加していなくても、列にはデータが含まれています。これは、ArtistId
が原因です ID列です(IDENTITY(1,1)
を使用しました 列を作成したときのテーブル定義で)。 ID列は、行ごとに増分値を自動的に挿入するため、その列に値を挿入する必要はありません。SQLServerがそれを行います。また、この列を作成したときに主キーとして設定したため、各値は必ず一意になります。
次に、次のスクリプトを実行します。
INSERT INTO Genres (Genre) VALUES ('Rock'), ('Jazz'), ('Country'), ('Pop'), ('Blues'), ('Hip Hop'), ('Rap'), ('Punk'); INSERT INTO Albums (AlbumName, ReleaseDate, ArtistId, GenreId) VALUES ('Powerslave', '1984-09-03', 1, 1), ('Powerage', '1978-05-05', 2, 1), ('Singing Down the Lane', '1956-01-01', 6, 3), ('Ziltoid the Omniscient', '2007-05-21', 5, 1), ('Casualties of Cool', '2014-05-14', 5, 1), ('Epicloud', '2012-09-18', 5, 1), ('Somewhere in Time', '1986-09-29', 1, 1), ('Piece of Mind', '1983-05-16', 1, 1), ('Killers', '1981-02-02', 1, 1), ('No Prayer for the Dying', '1990-10-01', 1, 1), ('No Sound Without Silence', '2014-09-12', 9, 4), ('Big Swing Face', '1967-06-01', 4, 2), ('Blue Night', '2000-11-01', 12, 4), ('Eternity', '2008-10-27', 12, 4), ('Scandinavia', '2012-06-11', 12, 4), ('Long Lost Suitcase', '2015-10-09', 7, 4), ('Praise and Blame', '2010-06-26', 7, 4), ('Along Came Jones', '1965-05-21', 7, 4), ('All Night Wrong', '2002-05-05', 3, 2), ('The Sixteen Men of Tain', '2000-03-20', 3, 2);
このスクリプトは、他の2つのテーブルにデータを挿入して、後でクエリを実行するときに使用できるデータを用意します。
直接入力
一部のGUIツールでは、インターフェイスを介してデータをテーブルに直接入力できます。このように:
-
編集モードでテーブルを開く
データを入力するテーブルに移動します。
テーブルを右クリックして、データの編集を選択します (またはGUIツールで呼び出されるもの—SSMSでは上位200行の編集と呼ばれます 。
-
データの入力
テーブルが開き、セルに直接データを入力できるようになります。
ID列、タイムスタンプ列など、自動生成された値を持つ列にデータを入力する必要はありません。
SQL Serverは通常、そのような列にデータを入力できないようにします。
その他の方法
データベースにデータを入力するために使用できる他のいくつかの方法を次に示します。これらを実行できるかどうかは、データベース管理ツールや環境によって異なります。
-
コピー/貼り付け
データをテーブルに直接入力できるGUIツールがある場合は、データをそのテーブルに直接一括コピーして貼り付けることもできます(SSMSはこれをサポートしています)。したがって、スプレッドシートからすべてのデータをコピーして、データベーステーブルに直接貼り付けることができます。
SQL Server Management Studio(SSMS)を使用すると、複数行のデータをテーブルに貼り付けることができます。 -
データをインポートする
一部のツールでは、必要なすべてのデータを含むファイルをインポートできます。たとえば、Excelスプレッドシートや.csvファイルをインポートできます。
BCPコマンドラインユーティリティは、SQLServerへの一括コピー操作を行うための一般的なツールです。 SQL Server Management Studioには、プロセス全体を支援するインポートウィザードがあります。
SSMS17.3で「フラットファイルのインポート」ウィザードが導入されました。これにより、.csvや.txtなどのフラットファイルをインポートするプロセスが簡素化されます。 -
ウェブサイトまたはその他のカスタムアプリケーション
最近では、ほとんどのデータベースは、Webサイト、CRM、金融アプリケーションなどのアプリケーションのバックエンドの一部として構築されています。このようなアプリケーションでは、通常、エンドユーザーがデータを挿入および更新できます。通常、ユーザーはフォームを介してデータを挿入します。シーンの背後で、フォームはデータベース内の正しいテーブルにデータを挿入します。この場合、ユーザーはデータベース内のテーブルを知る必要さえありません。彼らが見るのは形だけです。 1つのフォームで複数のテーブルにデータを挿入できます。