English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

SQLite ALTER TABLE コマンド

SQLite ALTER TABLEコマンドは、データの完全なダンプと再ロードを実行しなくても既存のテーブルを変更できます。ALTER TABLE文を使ってテーブルをリネームし、既存のテーブルに他の列を追加することができます。

重命名テーブルや既存のテーブルに列を追加以外の操作は、SQLiteのALTER TABLEコマンドではサポートされていません。

文法

以下はALTER TABLE既存のテーブルをリネームする基本的な文法。

ALTER TABLE database_name.table_name RENAME TO new_table_name;

以下はALTER TABLE既存のテーブルに新しい列を追加する基本的な文法。

ALTER TABLE database_name.table_name ADD COLUMN column_def...;

オンラインサンプル

以下の記録を持つCOMPANYテーブル-

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           ポール        32          カリフォルニア  20000.0
2           アレン       25          テキサス       15000.0
3           テディ       23          ノルウェイ      20000.0
4           マーク        25          リッチ-モンド   65000.0
5           デイビッド       27          テキサス       85000.0
6           キム         22          サウス-ホール  45000.0
7           ジェームズ       24          ヒューストン     10000.0

今、このテーブルをリネームするALTER TABLE文を使ってみましょう:

sqlite> ALTER TABLE COMPANY RENAME TO OLD_COMPANY;

上記のSQLite文はCOMPANYテーブルをOLD_COMPANYにリネームします。今、OLD_COMPANYテーブルに新しい列を追加してみましょう:

sqlite> ALTER TABLE OLD_COMPANY ADD COLUMN SEX char(1);

COMPANYの表現は変更されました。以下はSELECT文の出力です。

ID         NAME       AGE         ADDRESS     SALARY      SEX
----------  ----------  ----------  ----------  ----------  ---
1           ポール        32          カリフォルニア  20000.0
2           アレン       25          テキサス       15000.0
3           テディ       23          ノルウェイ      20000.0
4           マーク        25          リッチ-モンド   65000.0
5           デイビッド       27          テキサス       85000.0
6           キム         22          サウス-ホール  45000.0
7           ジェームズ       24          ヒューストン     10000.0

新しい列が NULL 値で埋まっていることに注意してください。