サーチ…
前書き
CREATE TABLEステートメントは、データベース内に新しいテーブルを作成するために使用されます。表定義は、列のリスト、そのタイプ、および整合性制約から構成されます。
構文
- CREATE TABLE tableName([ColumnName1] [datatype1] [、[ColumnName2] [datatype2] ...])
パラメーター
パラメータ | 詳細 |
---|---|
tableName | テーブルの名前 |
列 | テーブルにあるすべての列の「列挙」を含みます。詳細については、新しいテーブルの作成を参照してください。 |
備考
テーブル名は一意でなければなりません。
新しいテーブルを作成する
IDを含む基本的なEmployees
テーブル、および電話番号とともに従業員の姓と名を作成するには、
CREATE TABLE Employees(
Id int identity(1,1) primary key not null,
FName varchar(20) not null,
LName varchar(20) not null,
PhoneNumber varchar(10) not null
);
この例は、 Transact-SQL
CREATE TABLE
はデータベースに新しいテーブルを作成し、その後にテーブル名Employees
追加します
これに続いて、カラム名とそのプロパティのリスト(IDなど)が続きます
Id int identity(1,1) not null
値 | 意味 |
---|---|
Id | 列の名前 |
int | データ型です。 |
identity(1,1) | 列の自動生成値は1から始まり、新しい行ごとに1ずつ増えます。 |
primary key | この列のすべての値が一意の値を持つことを示しています |
not null | この列はNULL値を持つことはできません |
選択からテーブルを作成する
テーブルの複製を作成することができます:
CREATE TABLE ClonedEmployees AS SELECT * FROM Employees;
SELECTステートメントの他の機能を使用して、データを変更してから新しいテーブルに渡すことができます。新しいテーブルの列は、選択された行に従って自動的に作成されます。
CREATE TABLE ModifiedEmployees AS
SELECT Id, CONCAT(FName," ",LName) AS FullName FROM Employees
WHERE Id > 10;
テーブルを複製する
テーブルを複製するには、次の手順を実行します。
CREATE TABLE newtable LIKE oldtable;
INSERT newtable SELECT * FROM oldtable;
FOREIGN KEYを使用したCREATE TABLE
以下では、テーブルCities
参照してEmployees
テーブルを見つけることができます。
CREATE TABLE Cities(
CityID INT IDENTITY(1,1) NOT NULL,
Name VARCHAR(20) NOT NULL,
Zip VARCHAR(10) NOT NULL
);
CREATE TABLE Employees(
EmployeeID INT IDENTITY (1,1) NOT NULL,
FirstName VARCHAR(20) NOT NULL,
LastName VARCHAR(20) NOT NULL,
PhoneNumber VARCHAR(10) NOT NULL,
CityID INT FOREIGN KEY REFERENCES Cities(CityID)
);
ここでデータベースダイアグラムを見つけることができます。
カラムCityID
表のEmployees
、カラムに参照するCityID
テーブルのCities
。以下では、これを行うための構文を見つけることができます。
CityID INT FOREIGN KEY REFERENCES Cities(CityID)
値 | 意味 |
---|---|
CityID | 列の名前 |
int | 列のタイプ |
FOREIGN KEY | 外部キーを作成する(オプション) |
REFERENCES Cities(CityID) | 参照を作成するCities 列CityID |
重要:データベースに存在しないテーブルへの参照を作成できませんでした。最初にテーブルのCities
を作成し、次にテーブルのEmployees
を作成するソースにしてください。逆の場合はエラーになります。
テンポラリ・テーブルまたはインメモリ・テーブルの作成
PostgreSQLとSQLite
セッションにローカルな一時テーブルを作成するには:
CREATE TEMP TABLE MyTable(...);
SQLサーバー
セッションにローカルな一時テーブルを作成するには:
CREATE TABLE #TempPhysical(...);
全員が見ることができる一時テーブルを作成するには:
CREATE TABLE ##TempPhysicalVisibleToEveryone(...);
メモリ内テーブルを作成するには:
DECLARE @TempMemory TABLE(...);
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow