SQL CREATE TABLE 文
1. SQL CREATE TABLE 文
CREATE TABLE 文は、データベース内に新しいテーブルを作成するために使用されます。
1.1 構文(Syntax)
CREATE TABLE テーブル名 (
カラム1 データ型 制約,
カラム2 データ型 制約,
カラム3 データ型 制約,
....
);- テーブル名 パラメータには、新しく作成するテーブルの名前を指定します。
- カラム1, カラム2, ... パラメータには、テーブル内の各カラム(列)の名前を指定します。
- データ型 パラメータには、各カラムに格納するデータの種類(varchar, int, date など)を指定します。
- 制約(Constraint) パラメータは任意(オプショナル)で、データの整合性を保つためのルール(PRIMARY KEY, NOT NULL など)を指定します。
2. CREATE TABLE の使用例
次の例では、5つのカラムを持つ「Persons」という名前のテーブルを作成します。
実行例:
CREATE TABLE Persons (
PersonID int PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);2.1 例の解説:
- PersonID - このカラムの型は整数(int)です。また、各行を一意に識別するための PRIMARY KEY(主キー)フィールドとして定義されています。
- LastName - このカラムは最大255文字の可変長文字列(varchar(255))です。NOT NULL 制約により、このカラムを空(空値)にすることはできません。
- FirstName, Address, City - これらのカラムも最大255文字の可変長文字列(varchar(255))です。これらはデフォルトで NULL 値を許可します。
作成された直後の空の「Persons」テーブルは、以下のようになります。
| PersonID | LastName | FirstName | Address | City |
|---|---|---|---|---|
Tips: 作成された空の「Persons」テーブルには、SQL の INSERT INTO 文を使ってデータを追加することができます。
3. 既存のテーブルから新しいテーブルを作成する
CREATE TABLE 文を使用して、既存のテーブルから一部またはすべてのデータをコピーして新しいテーブルを作成することも可能です。
既存のテーブルを基に作成した場合、新しいテーブルには既存のテーブルから抽出された値が自動的に入力されます。
3.1 構文(Syntax)
CREATE TABLE 新テーブル名 AS
SELECT カラム1, カラム2,...
FROM 既存テーブル名
WHERE 条件;次の SQL は、「Customers(顧客)」テーブルのコピーである「GermanCustomers」という新しいテーブルを作成します。
実行例:
CREATE TABLE GermanCustomers AS
SELECT * FROM Customers
WHERE Country = 'Germany';