テーブルの作成 (データベース エンジン)
SQL Server Management Studio または Transact-SQL を使用して、新しいテーブルを作成し、名前を付け、SQL Server 2014 の既存のデータベースに追加できます。
Note
SQL Azure データベースに接続している場合、[新しいテーブル] オプションを選択すると、テーブルの作成テンプレート スクリプトが実行されます。 パラメーターを編集してから、このスクリプトを実行して新しいテーブルを作成してください。 詳細については、「 SQL Azure の概要」を参照してください。
このトピックの内容
作業を開始する準備:
次を使用してテーブルを作成するには:
始める前に
セキュリティ
アクセス許可
データベースの CREATE TABLE 権限と、テーブルを作成するスキーマの ALTER 権限が必要です。
CREATE TABLE ステートメント内の列を CLR ユーザー定義型として定義する場合は、その型の所有権か、その型に対する REFERENCES 権限が必要です。
CREATE TABLE ステートメント内の列に XML スキーマ コレクションが関連付けられている場合は、その XML スキーマ コレクションの所有権か、そのスキーマ コレクションに対する REFERENCES 権限が必要です。
SQL Server Management Studio を使用する
テーブル デザイナーでテーブルを作成するには
オブジェクト エクスプローラーで、変更するデータベースを含むデータベース エンジンのインスタンスに接続します。
オブジェクト エクスプローラーで、 [データベース] ノードを展開し、新しいテーブルを格納するデータベースを展開します。
オブジェクト エクスプローラーで、データベースの [テーブル] ノードを右クリックし、 [新しいテーブル]をクリックします。
次の図に示すように、列名を入力し、データ型を選択した後、各列で null 値を許可するかどうかを選択します。
他のプロパティ (ID 列または計算列の値など) を指定するには、列をクリックし、列のプロパティ タブで適切なプロパティを選択します。 列のプロパティの詳細については、「テーブル列のプロパティ (SQL Server Management Studio)」を参照してください。
列を主キーとして指定するには、列を右クリックし、 [主キーの設定]をクリックします。 詳細については、「 Create Primary Keys」を参照してください。
外部キーのリレーションシップ、CHECK 制約、またはインデックスを作成するには、テーブル デザイナー ペイン内で右クリックし、次の図に示すように、一覧からオブジェクトを選択します。
これらのオブジェクトの詳細については、「 Create Foreign Key Relationships」、「 Create Check Constraints 」、および「 Indexes」を参照してください。
既定では、テーブルは dbo スキーマに含まれています。 テーブルに対して別のスキーマを指定するには、テーブル デザイナー ペイン内で右クリックし、次の図に示すように、 [プロパティ] を選択します。 [スキーマ] ボックスの一覧で、適切なスキーマを選択します。
スキーマの詳細については、「 Create a Database Schema」を参照してください。
[ファイル] メニューの [<テーブル名> を保存] を選択します。
[名前の選択] ダイアログ ボックスで、テーブルの名前を入力し、 [OK]をクリックします。
新しいテーブルを表示するには、 オブジェクト エクスプローラーで、 [テーブル] ノードを展開し、 F5 キーを押してオブジェクトの一覧を更新します。 新しいテーブルがテーブルの一覧に表示されます。
Transact-SQL の使用
クエリ エディターでテーブルを作成するには
オブジェクト エクスプローラーで、 データベース エンジンのインスタンスに接続します。
[標準] ツール バーの [新しいクエリ] をクリックします。
次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。
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 );
詳細については、「CREATE TABLE (Transact-SQL)」を参照してください。