sql >> データベース >  >> RDS >> Sqlserver

SQL Server(T-SQL)でテーブルを作成する

    T-SQLを使用してSQLServerデータベーステーブルを作成するには、テーブルの要件に応じて、少量のコードまたは大量のコードが必要になる場合があります。

    この記事では、最小限のコードを必要とするT-SQLを使用して基本的なテーブルを作成します。

    構文

    T-SQLを使用してテーブルを作成するための基本的な構文は、次のようになります。

    CREATE TABLE
        { database_name.schema_name.table_name | schema_name.table_name | table_name }
        ( { <column_definition> } [ ,...n ] )
    [ ; ]

    基本的に、これが意味するのは、ステートメントをCREATE TABLEで開始することです。 、その後にテーブル名が続きます。テーブル名の前にスキーマ名を付けることも、データベース名とそれに続くスキーマ名の両方を前に付けることもできます。

    それが完了すると、次の行でテーブルに含まれる列を定義します。したがって、各列名を入力し、その後にその定義を入力します。

    これは、データベースの作成方法を説明する記事で作成したテーブルの1つの例です。

    CREATE TABLE Artists (
      ArtistId int IDENTITY(1,1) NOT NULL PRIMARY KEY,
      ArtistName nvarchar(255) NOT NULL,
      ActiveFrom date
    );

    テーブルを作成する前に、まずデータベースを作成する必要があります。私の場合、それはCREATE DATABASE Musicで簡単に行われました。 ただし、必要に応じてオプションを追加できます。

    上記の例では、テーブル名はArtistsです。 、および3つの列が含まれています。 ArtistIdArtistName 、およびActiveFrom

    各列の名前の後にその定義が続きます。

    • 定義は、列が受け入れるデータ型で始まります。この場合、ArtistId データ型がint
    • この列もIDENTITY(1,1)を使用します 行ごとに自動生成された番号が生成されるように指定します。 (1,1) partは、番号付けが1から始まり、新しい行ごとに1ずつ増加することを示します。 SQLServerのIDENTITY()を参照してください 詳細については、プロパティを参照してください。
    • NOT NULL partは、この列に値が含まれている必要があることを指定します(つまり、nullにすることはできません)。
    • PRIMARY KEY partは、この列がテーブルの主キーであることを指定します。主キー列は、各行を一意に識別する列です。一意の値が含まれている必要があり、nullにすることはできません。

    次の列でnvarchar(255)が使用されていることがわかります データ型と次のデータ型はdateを使用します 。

    関係を作成する

    2つ以上のテーブルを作成する場合、それらの間に関係を作成することもできます。

    これは、参照整合性を維持するのに役立ちます。これにより、あるテーブルに別のテーブルのデータを参照するデータを含めることができ、データベースによって2つのテーブル間のデータに不整合が生じるのを防ぐことができます。

    テーブルを作成するときにリレーションシップを作成することも、後で戻って追加することもできます。これらの両方を行う方法については、SQLでリレーションシップを作成する方法を参照してください。

    その他のオプション

    CREATE TABLE ステートメントは、上記の例が意味するよりもはるかに複雑になる可能性があります。どれだけ複雑にするかは、要件によって異なります。

    たとえば、パーティションテーブルの作成、暗号化列の指定、計算列の作成、照合の指定などを行うことができます。

    SQL Serverでテーブルを作成するときに使用できる完全な構文オプションについては、Microsoftのドキュメントを参照してください。


    1. MONTH()の例– MySQL

    2. Selectステートメントでの変数の宣言と設定

    3. SQLServerの実行プランを比較する

    4. JDBCを使用してストアドプロシージャから*すべて*を取り戻す方法