サーチ…


前書き

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)
参照を作成する
CitiesCityID

重要:データベースに存在しないテーブルへの参照を作成できませんでした。最初にテーブルの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