2020年12月8日火曜日

SQLite3 新しいカラムを追加する (ADD COLUMN)

概要

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