Sqlite-create-table
提供:Dev Guides
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
);