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値で埋められることに注意してください。