2009年3月6日 星期五

SQLite3 SQL語法 - ALTER TABLE

statement:

ALTER TABLE 命令可讓使用者將現有資料表重新命名或加入新欄。資料表中的欄無法移除。

RENAME TO 語法會用來將以 [database-name.] table-name 識別的資料表重新命名成 new-table-name。這個命令無法用來在附加的資料庫之間移動資料表,只能重新命名相同資料庫中的資料表。

如果重新命名的資料表有觸發程序或索引,它們在重新命名後仍會附加到資料表。但如果有任何檢視定義或由觸發程序執行的陳述式參考到重新命名的資料表,它們不會自動修改為使用新資料表名稱。如果重新命名的資料表有關聯的檢視或觸發程序,您必須手動卸除並重新建立觸發程序或使用新的資料表名稱檢視定義。

ADD [COLUMN] 語法會用來在現有資料表中加入新欄。新欄一定會附加到現有欄清單結束處。column-def 子句可以接受 CREATE TABLE 陳述式中允許的任何形式,但有下列限制:

欄不可以有 PRIMARY KEY 或 UNIQUE 條件約束。
欄不可以有 CURRENT_TIME、CURRENT_DATE 或 CURRENT_TIMESTAMP 的預設值。
如果指定 NOT NULL 條件約束,該欄必須有 NULL 以外的預設值。
ALTER TABLE 陳述式的執行時間不受資料表中的資料量影響。

* 所有圖片轉載自:http://www.sqlite.org

沒有留言:

張貼留言