SQLite ALTER TABLE 命令

SQLite 的 ALTER TABLE 命令用来重命名表,或者在已有的表中添加额外的列

注意

如果你会其它的数据库,比如 MySQL,那么要注意 SQLite 中的 ALTER 命名只支持重命名表和在已有的表中添加列

语法

使用 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...;

添加列的语法和创建列的语法相同,默认情况下会使用设置的 DEFAULT 来设置,如果没有设置 DEFALUT,那么会使用 NULL 里填充

范例

先运行下面的 SQLite SQL 语句创建测试数据

DROP TABLE tbl_employee;

CREATE TABLE tbl_employee (
   id INTEGER PRIMARY KEY AUTOINCREMENT  NOT NULL,
   name           CHAR(64) NOT NULL,
   age            INTEGER  NOT NULL,
   city           CHAR(64),
   salary         REAL
);



INSERT INTO tbl_employee (name,age,city,salary) VALUES
    ('张三', 25, 'pek', 102400.00 ),
    ('李四', 18, 'shanghai', 88888.00 ),
    ('王五', 22, 'hangzhou', 22000.00 ),
    ('孙六', 32, 'pek', 32000.00 ),
    ('钱七', 25, 'shanghai', 25000.00 ),
    ('赵二', 45, 'pek', 45800.00 ),
    ('冯九', 37, 'chengdu', 15000.00 );

我们先使用 SELECT * FROM tbl_employee; 看一下表中的数据

id          name        age         city        salary    
----------  ----------  ----------  ----------  ----------
1           张三          25          pek         102400.0  
2           李四          18          shanghai    88888.0   
3           王五          22          hangzhou    22000.0   
4           孙六          32          pek         32000.0   
5           钱七          25          shanghai    25000.0   
6           赵二          45          pek         45800.0   
7           冯九          37          chengdu     15000.0 

然后使用 .table 命令看看有当前数据库中有多少表

sqlite> .table
tbl_employee

紧接着使用下面的语句将表 tbl_employee 重命名为 tbl_employee_old

ALTER TABLE tbl_employee RENAME TO tbl_employee_old;

再使用 .table 命令看看有当前数据库中有多少表

sqlite> .table
tbl_employee_old

现在,使用 ALTER TABLE 命令尝试在表 tbl_employee_old 中添加一个新的列性别 gender

ALTER TABLE tbl_employee_old ADD COLUMN SEX char(1);

最后使用下面的语句查看表中的数据

SELECT * FROM tbl_employee_old;

输出结果如下

id       name     age         city        salary      SEX       
-------  -------- ----------  ----------  ----------  ----
1        张三       25          pek         102400.0              
2        李四       18          shanghai    88888.0               
3        王五       22          hangzhou    22000.0               
4        孙六       32          pek         32000.0               
5        钱七       25          shanghai    25000.0               
6        赵二       45          pek         45800.0               
7        冯九       37          chengdu     15000.0 

SQLite 基础教程

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.