SQLite Alter 命令

SQLite Alter 命令

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 值來填充的。