概要
SQLite3 でテーブルに新しいカラムを追加するSQL。
他のDBMSと同様にALTER TABLE ~を利用する。
追加したカラムは必ず最後に配置される。 位置を変更したい場合は、新しいテーブルを再作成してデータを移すしかない。
複数のカラムを一括で追加することもできないので、
その場合は追加したいカラムの数だけALTER TABLE ~文を実行する。
構文
以下の3パターン。
「column_constraint」は
NOT NULLや
PRIMARY KEYなど。
理由がない限り、データ型は指定するようにする。
ALTER TABLE table_name ADD COLUMN column_name;
ALTER TABLE table_name ADD COLUMN column_name data_type;
ALTER TABLE table_name ADD COLUMN column_name data_type column_constraint;
実行例
実行環境
- Windows 10 64bit
- SQLite3 (3.33.0) Command-Line Shell
「product」テーブルに「type」カラムを追加してtext型にする
sqlite> .schema product
CREATE TABLE product (
id integer
, name text
);
sqlite> ALTER TABLE product ADD COLUMN type text;
sqlite> .schema product
CREATE TABLE product (
id integer
, name text
, type text);
上記の.schemaコマンドの結果を見るとわかるが、 既存のスキーマに自動で追加されるので見づらくなってしまう。
崩れてしまったスキーマ文の修正方法はこちら
SQLite 3 スキーマ文を編集する
参考URL
-
ALTER TABLE ADD COLUMN
公式のalter table に関するドキュメント
https://www.sqlite.org/lang_altertable.html#alter_table_add_column