📓
SQLite3
  • SQLite3
  • 创建数据库
  • 附加数据库
  • 分离数据库
  • SQLite 创建表
  • SQLite 删除表
  • Insert 语句
  • Select 语句
  • Where 子句
  • Untitled
  • Update 语句
  • Delete 语句
  • Like 子句
  • Glob 子句
  • Limit 子句
  • Order By
  • Group By
  • Having 子句
  • Distinct 关键字
  • SQLite 约束
  • SQLite Joins
  • Unions 子句
  • 触发器(Trigger)
  • 索引(Index)
  • Alter 命令
  • SQLite 事务(Transaction)
  • SQLite 常用函数
Powered by GitBook
On this page

Was this helpful?

Alter 命令

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

Previous索引(Index)NextSQLite 事务(Transaction)

Last updated 3 years ago

Was this helpful?