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...;

示例

考慮具有以下記錄的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 值。

廣告