テーブル作成
CREATE TABLE personal001(id, name);
この構文をCREATE文といいますが、これでテーブルを作成できます。
データベース内に作成されたテーブルを確認する
.tables
データベースに格納されたテーブルの名前を確認したいときは、このSQLiteコマンドを使うと確認することができます。
.tables
personal001 personal002
.schema
SQLiteコマンドの.schemaを使うと、データベースに格納されたテーブルの構造を確認することができます。
.schema
:実行結果
CREATE TABLE personal001(id, name);
CREATE TABLE personal002(id INTEGER PRIMARY KEY, name TEXT NOT NULL);
テーブル名の変更
ALTER TABLE 現在のテーブル名 RENAME TO 新しいテーブル名;
テーブルの名前を変更するには、上記のように行います。
ALTER TABLE personal002 RENAME TO myfriends;
実際にテーブル名が変更されたかを.tablesコマンドで確認してみます。
.tables
myfriends personal001
カラムの追加
一度作成したテーブルに後からカラムを追加することも可能です。
カラムを追加するには ALTER TABLE 文を使います。書式は次の通りです。
ALTER TABLE テーブル名 ADD COLUMN カラム名 [データ型];
追加したカラムはテーブルの最後に追加されます。またカラムを追加する場合は次の条件を満たしていなければなりません。
- PRIMARY KEY や UNIQUE 制約は設定できない
- DEFAULT 制約を設定する時は、CURRENT_TIME/CURRENT_DATE/CURRENT_TIMESTAMP は指定できない
- NOT NULL 制約を設定する時は、NULL以外のデフォルト値の設定が必要
現在のテーブルを確認してみます。
.schema
CREATE TABLE personal001(id, name);
CREATE TABLE myfriends(id INTEGER PRIMARY KEY, name TEXT NOT NULL);
テーブル"myfriends"に新しいカラム"address"を追加してみます。
ALTER TABLE myfriends ADD COLUMN address text;
.schemaで確認すると、カラムが追加されたことがわかります。
.schema
CREATE TABLE personal001(id, name);
CREATE TABLE myfriends(id INTEGER PRIMARY KEY, name TEXT NOT NULL, address text);
カラムの削除
SQLite3では、カラムの削除のコマンドがないようです。
なので、カラムを削除したいときは以下の手順を行う必要があります。
- 元テーブル(削除対象のカラムが入っているもの)を用意する。
- 元テーブルのコピーを削除対象のカラムを除いて作成する。(必然的にテーブル名が元テーブルとは違ったものになる。)
- 元テーブルを削除する。
- コピーしたテーブルの名前を元テーブルのものにする。
テーブルの削除
テーブルを削除するには、DROP TABLE文を使います。
まず、.tableコマンドで現在作成済みのテーブルを確認します。
.tables
myfriends personal001
テーブル"myfriends"を削除します。
DROP TABLE myfriends;
.tablesコマンドで、格納されているテーブルを確認します。
.tables
personal001