SQLite | テーブル | テーブルを作成する

テーブルは、データベース内で実際の値を保存する場所です。1つのデータベースに複数のテーブルを作成できます。ここでは、テーブルの作成方法を説明します。

CREATE TABLE文でテーブルを作成する

SQLiteでテーブルを作成する基本構文は次のとおりです。

CREATE TABLE テーブル名 (列名1, 列名2, ...);

テーブル名は任意に指定できますが、sqlite_で始まる名前はSQLite自身が使用するため指定できません。

テーブルには少なくとも1つの列が必要です。複数の列はカンマで区切ります。

次の文は、id列とname列を持つcustomerテーブルを作成します。

create table customer (id, name);
sqlite> 
sqlite> create table customer (id, name);
sqlite> 

上のようにコマンドが完了すれば、テーブルは作成されています。

列にデータ型を指定してテーブルを作成する

SQLiteでは、列のデータ型を指定せずにテーブルを作成できますが、指定することもできます。詳細はSQLiteのデータ型を参照してください。

CREATE TABLE テーブル名 (列名1 データ型, 列名2 データ型, ...)

列名の後ろに空白を置き、その列のデータ型を指定します。

次の文は、INTEGER型のid列とTEXT型のname列を持つcustomer2テーブルを作成します。

create table customer2 (id integer, name text);
sqlite> 
sqlite> create table customer2 (id integer, name text);
sqlite> 

上のようにコマンドが完了すれば、テーブルは作成されています。

データベース内のテーブル一覧を確認する

SQLiteの.tablesコマンドを使います。

.tables
.tables? TABLE?

引数を省略するとすべてのテーブルを表示し、名前のパターンを指定すると一致するテーブルを表示します。

.tables
sqlite> .tables
customer   customer2  test       test2    
sqlite> 

このページで作成したcustomercustomer2が表示されています。

名前またはパターンも指定できます。

.tables customer
.tables customer%
sqlite> .tables customer
customer
sqlite> 
sqlite> .tables customer%
customer   customer2
sqlite> 

最初のコマンドは正確なテーブル名を指定し、2番目はパーセント記号(%)で指定したパターンに一致する名前を検索しています。