sqlite

資料庫(kù);使用;嵌入式關(guān)係資料庫(kù)

#alter

英[??:lt?(r )]? ?美[??lt?]??

vt.改變;更改;改建(房屋);(人)變老

vi.改變;修改

SQLite Alter命令 語(yǔ)法

作用:SQLite 的?ALTER TABLE?指令不會(huì)透過執(zhí)行一個(gè)完整的轉(zhuǎn)儲(chǔ)和資料的重載來修改現(xiàn)有的表。您可以使用 ALTER TABLE 語(yǔ)句重新命名表,使用 ALTER TABLE 語(yǔ)句也可以在現(xiàn)有的表中新增額外的資料列。

在 SQLite 中,除了重新命名表和在已有的表中新增列,ALTER TABLE 指令不支援其他操作。

語(yǔ)法:用來重新命名現(xiàn)有的表的?ALTER TABLE?的基本語(yǔ)法如下:

ALTER?TABLE?database_name.table_name?RENAME?TO?new_table_name;

用來在現(xiàn)有的表格中新增一個(gè)新的欄位的?ALTER TABLE?的基本語(yǔ)法如下:

ALTER?TABLE?database_name.table_name?ADD?COLUMN?column_def...;

#

SQLite Alter命令 範(fàn)例

 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
現(xiàn)在,讓我們嘗試使用 ALTER TABLE 語(yǔ)句重命名該表,如下所示:

sqlite> ALTER TABLE COMPANY RENAME TO OLD_COMPANY;
上面的 SQLite 語(yǔ)句將重命名 COMPANY 表為 OLD_COMPANY?,F(xiàn)在,讓我們嘗試在 OLD_COMPANY 表中添加一個(gè)新的列,如下所示:

sqlite> ALTER TABLE OLD_COMPANY ADD COLUMN SEX char(1);
現(xiàn)在,COMPANY 表已經(jīng)改變,使用 SELECT 語(yǔ)句輸出如下:

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
請(qǐng)注意,新添加的列是以 NULL 值來填充的。
#