SQL 速習チュートリアル

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」テーブルは、以下のようになります。

PersonIDLastNameFirstNameAddressCity

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';