
- SQLite 教程
- SQLite - 首頁
- SQLite - 概述
- SQLite - 安裝
- SQLite - 命令
- SQLite - 語法
- SQLite - 資料型別
- SQLite - 建立資料庫
- SQLite - 附加資料庫
- SQLite - 分離資料庫
- SQLite - 建立表
- SQLite - 刪除表
- SQLite - INSERT 查詢
- SQLite - SELECT 查詢
- SQLite - 運算子
- SQLite - 表示式
- SQLite - WHERE 子句
- SQLite - AND & OR 子句
- SQLite - UPDATE 查詢
- SQLite - DELETE 查詢
- SQLite - LIKE 子句
- SQLite - GLOB 子句
- SQLite - LIMIT 子句
- SQLite - ORDER BY 子句
- SQLite - GROUP BY 子句
- SQLite - HAVING 子句
- SQLite - DISTINCT 關鍵字
- 高階 SQLite
- SQLite - PRAGMA
- SQLite - 約束
- SQLite - JOIN
- SQLite - UNION 子句
- SQLite - NULL 值
- SQLite - 別名語法
- SQLite - 觸發器
- SQLite - 索引
- SQLite - INDEXED BY 子句
- SQLite - ALTER 命令
- SQLite - TRUNCATE 命令
- SQLite - 檢視
- SQLite - 事務
- SQLite - 子查詢
- SQLite - AUTOINCREMENT
- SQLite - 注入
- SQLite - EXPLAIN
- SQLite - VACUUM
- SQLite - 日期和時間
- SQLite - 常用函式
- SQLite 有用資源
- SQLite - 快速指南
- SQLite - 有用資源
- SQLite - 討論
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 值。
廣告