SQLite-ALTER TABLEコマンド

SQLiteの ALTER TABLE コマンドは、データの完全なダンプとリロードを実行せずに既存のテーブルを変更します。 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...;

次のレコードを含むlink:/sqlite/company.sql [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

さて、次のように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           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値が入力されることに注意してください。