次の方法で共有


テーブルの作成 (データベース エンジン)

適用対象: SQL Server 2016 (13.x) 以降 Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

SQL Server Management Studio (SSMS) または Transact-SQL のテーブル デザイナーを使用して、新しいテーブルを作成して名前を付け、既存のデータベースに追加できます。

アクセス許可

このタスクには、データベースの CREATE TABLE アクセス許可と、テーブルが作成されるスキーマの ALTER アクセス許可が必要です。

CREATE TABLE ステートメントの列が CLR ユーザー定義型として定義される場合、その型の所有権か、その型に対する REFERENCES のアクセス許可が必要です。

CREATE TABLE ステートメントの列に XML スキーマ コレクションが関連付けられている場合、その XML スキーマ コレクションの所有権か、そのスキーマ コレクションに対する REFERENCES のアクセス許可が必要です。

SQL Server Management Studio でテーブル デザイナーを使用する

  1. SSMS の オブジェクト エクスプローラーで、変更するデータベースを含むデータベース エンジンのインスタンスに接続します。

  2. オブジェクト エクスプローラーで、 [データベース] ノードを展開し、新しいテーブルを格納するデータベースを展開します。

  3. オブジェクト エクスプローラーで、データベースの [テーブル] ノードを右クリックし、 [新しいテーブル]を選択します。

  4. 次の図に示すように、列名を入力し、データ型を選択した後、各列で null 値を許可するかどうかを選択します。

    ModifiedDate 列に [Null を許容] オプションが選択されていることを示すスクリーンショット。

  5. ID 列または計算列の値など、列のプロパティをさらに指定するには、列を選択し、列のプロパティ タブで適切なプロパティを選択します。 列のプロパティの詳細については、「テーブル列のプロパティ (SQL Server Management Studio)」を参照してください。

  6. 列を主キーとして指定するには、列を右クリックし、 [主キーの設定]をクリックします。 詳細については、「 Create Primary Keys」を参照してください。

  7. 外部キーのリレーションシップ、CHECK 制約、またはインデックスを作成するには、テーブル デザイナー ペイン内で右クリックし、次の図に示すように、一覧からオブジェクトを選択します。

    [リレーションシップ] オプションを示すスクリーンショット。

    これらのオブジェクトの詳細については、「 Create Foreign Key Relationships」、「 Create Check Constraints 」、および「 Indexes」を参照してください。

  8. 既定では、テーブルは dbo スキーマに含まれています。 テーブルに別のスキーマを指定するには、[テーブル デザイナー] ウィンドウ内で右クリックし、次の図で示すように [プロパティ] を選択します。 [スキーマ] ドロップダウン リストで適切なスキーマを選択します。

    [スキーマ] オプションが表示されている [プロパティ] ペインのスクリーンショット。

    スキーマの詳細については、「 Create a Database Schema」を参照してください。

  9. [ファイル] メニューの [<テーブル名> を保存] を選択します。

  10. [名前の選択] ダイアログ ボックスで、テーブルの名前を入力し、 [OK]を選択します。

  11. 新しいテーブルを表示するには、 オブジェクト エクスプローラーで、 [テーブル] ノードを展開し、 F5 キーを押してオブジェクトの一覧を更新します。 新しいテーブルがテーブルの一覧に表示されます。

Transact-SQL の使用

  1. オブジェクト エクスプローラーで、 データベース エンジンのインスタンスに接続します。

  2. 標準バーで、 [新しいクエリ] を選択します。

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] を選択します。

    CREATE TABLE dbo.PurchaseOrderDetail (
        PurchaseOrderID INT NOT NULL,
        LineNumber SMALLINT NOT NULL,
        ProductID INT NULL,
        UnitPrice MONEY NULL,
        OrderQty SMALLINT NULL,
        ReceivedQty FLOAT NULL,
        RejectedQty FLOAT NULL,
        DueDate DATETIME NULL
    );
    

次のステップ