SQLite-ALTERTABLEコマンド
SQLite ALTER TABLEコマンドは、データの完全なダンプとリロードを実行せずに既存のテーブルを変更します。ALTER TABLEステートメントを使用してテーブルの名前を変更したり、ALTERTABLEステートメントを使用して既存のテーブルに列を追加したりできます。
SQLiteのALTERTABLEコマンドでサポートされている操作は、テーブルの名前を変更し、既存のテーブルに列を追加する以外にありません。
構文
以下はの基本的な構文です 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 Paul 32 California 20000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 Norway 20000.0
4 Mark 25 Rich-Mond 65000.0
5 David 27 Texas 85000.0
6 Kim 22 South-Hall 45000.0
7 James 24 Houston 10000.0
ここで、ALTERTABLEステートメントを使用してこのテーブルの名前を次のように変更してみましょう。
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 Paul 32 California 20000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 Norway 20000.0
4 Mark 25 Rich-Mond 65000.0
5 David 27 Texas 85000.0
6 Kim 22 South-Hall 45000.0
7 James 24 Houston 10000.0
新しく追加された列はNULL値で埋められることに注意してください。