Sqlite-alter-command
提供:Dev Guides
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値が入力されることに注意してください。