基本的な SQL テーブル操作

基本的な SQL テーブル操作

このチュートリアルでは、テーブルの作成と削除を含む基本的な SQL テーブル操作を実行する方法を説明します。テーブル内のレコードの挿入、削除、更新についても説明します。

さらに、SQLの基本的なテーブル操作に対して、Create、Read、Update、および Delete を表すCRUDという用語も使用します。

Excel を使用して作業したことがある場合は、Excel ファイルをデータベースとして、SQLで作成したテーブルをExcel ページとして、レコードを Excel シート内の行として視覚化してください。

目次

SQL テーブル操作: CREATE TABLE

CREATE TABLEコマンドから始めましょう。テーブルを作成するには、まずCREATE TABLEコマンドを入力する必要があります。次にテーブル名を入力します。使用するテーブル名はデータベース内に存在してはならず、存在しない場合はデータベースが作成されないことに注意してください。 

基本的な SQL テーブル操作

その後、開き括弧と閉じ括弧を追加する必要があります。次に、括弧の間に列名データ型を追加します。

基本的な SQL テーブル操作

クエリからテーブルを作成することもできます。これを行うには、 SELECT * INTO person.persons_copy FROM person.personsコマンドを使用します。このコマンドは、 person.personsテーブルと同じ構造とレコードを持つperson.persons_copyという名前のテーブルを作成します。

基本的な SQL テーブル操作

SQL でのレコードの操作

テーブルを作成したら、INSERTコマンドを使用してレコードを入力できます。以下で強調表示されているコマンドは、dbo.coursesという名前のテーブルに値を入力します。

基本的な SQL テーブル操作

間違ったエントリを作成し、それを削除したい場合は、DELETEコマンドを使用して削除できます。以下のコマンドを使用すると、 dbo.coursesテーブル内のIDが1000以上のレコードが削除されます。

基本的な SQL テーブル操作

この操作では、削除するレコードを指定するのに役立つWHEREコマンドを使用することが重要です。そうしないと、このコマンドによって、指定したテーブルからすべてが削除されてしまいます。

テーブル内のすべてを削除したい場合は、TRUNCATE TABLEコマンドを使用できます。以下で強調表示されているコマンドは、テーブルdbo.courses内のレコードをクリアします。

基本的な SQL テーブル操作

レコードの更新は非常に簡単です。この操作を行うにはUPDATEコマンドを使用します。以下で強調表示されているコマンドは、 dbo.coursesテーブル内の名前「Dax」を「 DAX 」に更新します。

基本的な SQL テーブル操作

お気づきのとおり、この例ではSETコマンドを使用して、更新する必要がある列と値を特定しました。また、dbo.coursesテーブル内で更新する既存のレコードを指すWHEREコマンドも追加しました。

SQL テーブル操作: DROP TABLE

DROP TABLEコマンドを使用するだけでテーブルを削除することもできます。この例で強調表示されているコマンドは、指定されたテーブルを削除する方法を示しています。

基本的な SQL テーブル操作

この関数はTRUNCATE TABLEコマンドに似ています。ただし、これら 2 つの主な違いは、TRUNCATE TABLEコマンドがテーブルをクリアするためにのみ使用されることです。一方、DROP TABLEコマンドは、特定のテーブルをそのレコードとともに削除するために使用されます。

それでは、 Microsoft SQL Server Management StudioでこれらのSQLコマンドを使用してみましょう。

SQL でのテーブルの作成

まずはテーブルの作成から始めましょう。たとえば、dbo.Namesという名前のテーブルを作成するとします。

基本的な SQL テーブル操作

現在、AdventureWorks2012 データベースで作業しています。これは、Microsoft がドキュメント Web サイトで提供するバックアップ データベースです。 

基本的な SQL テーブル操作

右側で、Tablesフォルダーの横にある+アイコンをクリックすると、テーブル名dbo.Namesを持つ既存のテーブルがTablesフォルダーにないことがわかります。 

基本的な SQL テーブル操作

次に、以下のコマンドを実行してdbo.Namesテーブルを作成しましょう。

基本的な SQL テーブル操作

「実行」ボタンをクリックすると、「コマンドは正常に完了しました」というメッセージが表示されます。

基本的な SQL テーブル操作

次に、Tablesフォルダーを更新します。 それを右クリックし、[更新]を選択します。

基本的な SQL テーブル操作

更新すると、 dbo.NamesテーブルがTables フォルダーの下に追加されていることがわかります。

基本的な SQL テーブル操作

dbo.Namesテーブル現在空です。それを右クリックし、オプションから「上位 1000 行を選択」を選択して開きます。

基本的な SQL テーブル操作

開くと、レコードがなく、IDFirstNameLastNameの 3 つの列のみが表示されていることがわかります。 

基本的な SQL テーブル操作

SQL での一時テーブルの作成

一時テーブルは常に#で始まります。これはデータベースに永続的に保存されないため、 潜在的なエラーを見つけて解決したり、SQLクエリを作成したりする場合に非常に役立ちます。 セッションを閉じると、テーブルは削除されます。以下で強調表示されているコマンドを使用して、一時テーブルを作成できます。

基本的な SQL テーブル操作

ここからは、#Namesテーブルを使用して他のコマンドを実行します。

SQL でのテーブルの選択

#Namesテーブルを作成した後、次の強調表示されたコマンドを実行してそのレコードを確認します。

基本的な SQL テーブル操作

ただし、まだレコードを入力していないため、テーブルには 3 つの列のみが表示されます。

基本的な SQL テーブル操作

SQL でのテーブルの削除

#Namesテーブルを削除または削除する場合は、 DROP TABLEコマンドを使用して#Namesテーブルを選択します。

基本的な SQL テーブル操作

その後、SELECT * FROM #Namesコマンドを実行すると、次のようなメッセージが表示されます。

基本的な SQL テーブル操作

これは、 #Namesテーブルを削除したためです。

SQLテーブルへのレコードの挿入

続行する前に、 #Namesテーブルを再作成し、以下のコマンドを使用してそのテーブルにレコードを挿入します。

基本的な SQL テーブル操作

このコマンドは、列(​​ID、FirstName、LastName)の値(1、'Dean'、'Jones') を#Namesに挿入することを意味します。

このコマンドの実行後に次の例のようなメッセージが表示された場合は、レコードがテーブルに追加されたことを意味します。

基本的な SQL テーブル操作

ここでコマンドSELECT * FROM #Namesを実行すると、挿入したばかりのレコードが表示されるはずです。

基本的な SQL テーブル操作

テーブルへの複数のレコードの挿入

テーブルに複数のレコードを挿入するには、複数の値を作成するだけです。ただし、必ず「 , 」で区切ってください。以下のコマンドを参考にしてください。

基本的な SQL テーブル操作

コマンドSELECT * FROM #Namesを再度実行すると、 #Namesテーブルに合計 4 つのレコードが作成されます。

基本的な SQL テーブル操作

テーブル内のレコードの更新

次に、 #Namesテーブルのレコードを更新しましょう。John のID を10に変更してみましょう。まず、UPDATEコマンドを使用して、 #Namesを選択します。その後、コマンドSET ID = 10およびWHERE FirstName = 'John'を追加して、名を使用してJohnを選択し、そのIDを10に設定します。

基本的な SQL テーブル操作

上記のコマンドは John のIDを10に更新します。 

次に、コマンドSELECT * FROM #Namesを再度実行して、レコードが正常に更新されたかどうかを確認します。 

基本的な SQL テーブル操作

その結果、ジョンのID は10に更新されました。

テーブル内のレコードの削除

今回は#Namesテーブルのレコードを削除します。たとえば、ID値が3のレコードを削除したいとします。

基本的な SQL テーブル操作

これを行うには、コマンドDELETE FROM #Namesを使用してから、WHERE ID = 3 を使用してみましょう。

基本的な SQL テーブル操作

削除した後、コマンドSELECT * FROM #Namesを再度実行すると、 #Namesテーブルには 3 つのレコードだけが残っていることがわかります。

SQL でテーブルを空にする

次に、 #Namesテーブルの内容をクリアします。この操作ではTRUNCATE TABLE #Namesコマンドを使用します。 

基本的な SQL テーブル操作

TRUNCATE TABLEコマンドを実行したら、 SELECT * FROM #Namesコマンドを使用すると、 #Namesテーブルが空になったことが表示されます。

基本的な SQL テーブル操作

テーブルのコピー

最後に、テーブルをコピーする方法を学びます。これを行うには、どのテーブルをコピーするかを特定する必要があります。たとえば、PERSON.PERSONテーブルのコピーを作成したいとします。この例では、コマンドSELECT * INTO person.person_copy FROM person.personを使用して、そのレコードとともにperson.personテーブルのコピーを作成します。

基本的な SQL テーブル操作

次に、レコードが 1 つだけ含まれるperson.personテーブルのコピーを作成します。たとえば、BusinessEntityID値が1 のレコードのみをコピーしたいとします。

基本的な SQL テーブル操作

これを行うには、FROM person.personコマンドの隣にWHEREコマンドを追加する必要があります。次に、列名BusinessEntityIDを入力し、値を1に設定します。

基本的な SQL テーブル操作

コマンドを実行すると、person.personテーブルのコピーが正常に作成されたことを示すメッセージが表示されます。テーブルの名前はPerson.Person_copyでそのレコードのBusinessEntityID1です。

次のコマンドを使用して、 person.person_copyテーブルを選択しましょう。

基本的な SQL テーブル操作

これらの手順を使用すると、同じ数の列をperson.personテーブルから作成し、person.person_copyテーブルを作成することができました。 

結論

要約すると、基本的な SQL テーブル操作をさまざまな目的に使用できます。テーブルの作成方法を学びました。テーブル内のレコードを挿入、更新、削除します。そしてテーブルのコピーを作成します。

それに加えて、コマンドをテストしたり、潜在的なエラーを見つけたり修正したりするために使用できる一時テーブルを作成する方法についても説明しました。一時テーブルで行ったすべての操作は、物理テーブルでも実行できることに注意してください。セッションを閉じると、一時テーブルは存在しなくなることに注意してください。

このトピックやその他の関連コンテンツについて詳しく知りたい場合は、以下の関連リンクのリストをご覧ください。

ではごきげんよう、

ハーフィズ


Python における Self とは: 実際の例

Python における Self とは: 実際の例

Python における Self とは: 実際の例

RでRDSファイルを保存してロードする方法

RでRDSファイルを保存してロードする方法

R の .rds ファイルからオブジェクトを保存および読み込む方法を学習します。このブログでは、R から LuckyTemplates にオブジェクトをインポートする方法についても説明します。

最初の N 営業日の再考 – DAX コーディング言語ソリューション

最初の N 営業日の再考 – DAX コーディング言語ソリューション

この DAX コーディング言語チュートリアルでは、GENERATE 関数の使用方法とメジャー タイトルを動的に変更する方法を学びます。

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

このチュートリアルでは、マルチスレッド動的ビジュアル手法を使用して、レポート内の動的データ視覚化から洞察を作成する方法について説明します。

LuckyTemplates のフィルター コンテキストの概要

LuckyTemplates のフィルター コンテキストの概要

この記事では、フィルター コンテキストについて説明します。フィルター コンテキストは、LuckyTemplates ユーザーが最初に学習する必要がある主要なトピックの 1 つです。

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Apps オンライン サービスが、さまざまなソースから生成されたさまざまなレポートや分析情報の管理にどのように役立つかを示したいと思います。

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

LuckyTemplates でのメジャー分岐や DAX 数式の結合などの手法を使用して、利益率の変化を計算する方法を学びます。

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

このチュートリアルでは、データ キャッシュの具体化のアイデアと、それが結果を提供する際の DAX のパフォーマンスにどのように影響するかについて説明します。

LuckyTemplates を使用したビジネス レポート

LuckyTemplates を使用したビジネス レポート

これまで Excel を使用している場合は、ビジネス レポートのニーズに合わせて LuckyTemplates の使用を開始するのに最適な時期です。

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて