SQLite-CREATE TABLE

SQLite CREATE TABLE ステートメントは、指定されたデータベースのいずれかに新しいテーブルを作成するために使用されます。 基本的なテーブルを作成するには、テーブルに名前を付け、その列と各列のデータ型を定義する必要があります。

構文

以下は、CREATE TABLEステートメントの基本的な構文です。

CREATE TABLE database_name.table_name(
   column1 datatype PRIMARY KEY(one or more columns),
   column2 datatype,
   column3 datatype,
   .....
   columnN datatype
);

CREATE TABLEは、データベースシステムに新しいテーブルを作成するよう指示するキーワードです。 テーブルの一意の名前または識別子は、CREATE TABLEステートメントの後に続きます。 オプションで、_table_name_とともに_database_name_を指定できます。

以下は、IDを主キーとしてCOMPANYテーブルを作成する例です。NOTNULLは、このテーブルにレコードを作成する際にこれらのフィールドをNULLにできないことを示す制約です。

sqlite> CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL
);

次の章の演習で使用するテーブルをもう1つ作成します。

sqlite> CREATE TABLE DEPARTMENT(
   ID INT PRIMARY KEY      NOT NULL,
   DEPT           CHAR(50) NOT NULL,
   EMP_ID         INT      NOT NULL
);

SQLiteコマンド .tables コマンドを使用して、テーブルが正常に作成されたかどうかを確認できます。このコマンドは、接続されたデータベース内のすべてのテーブルをリストダウンするために使用されます。

sqlite>.tables
COMPANY     DEPARTMENT

ここでは、メインデータベース用のCOMPANYテーブルとtestDB.db用に作成された 'test’エイリアス用のtest.COMPANYテーブルが表示されているため、COMPANYテーブルを2回表示できます。 次のSQLite .schema コマンドを使用して、テーブルに関する完全な情報を取得できます。

sqlite>.schema COMPANY
CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL
);