概要
SQLite3 でテーブルに新しいカラムを追加するSQL。
他のDBMS同様に「alter table~」を利用する。
追加したカラムは必ず最後に追加される。 位置を変更したい場合は、新しいテーブルを作成しなおしてデータを移すしかない。
複数のカラムを一括で追加することもできないので、 その場合は追加したいカラムの数だけ「alter table~」文を実行する。
構文
以下の3パターン。
「column_constraint」は「not null」や「pimary 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