English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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 値で埋まっていることに注意してください。