面试题答案
一键面试在SQLite中增加一列到已有的表,可以使用ALTER TABLE
语句。具体步骤和SQL语句如下:
- 使用
ALTER TABLE
语句增加列:- 语法:
ALTER TABLE table_name ADD COLUMN column_name data_type;
- 对于给定的
test_table
表,要新增age
列(假设数据类型为整数INTEGER
),SQL语句为:
- 语法:
ALTER TABLE test_table ADD COLUMN age INTEGER;
上述语句将在test_table
表中新增一个名为age
,数据类型为INTEGER
的列。新增列时,新列的值在所有行中初始化为NULL
(如果数据类型允许NULL
值)。
需要注意的是,SQLite的ALTER TABLE
功能相对有限,它不能直接用于重命名列、删除列或修改现有列的数据类型,如需进行这些操作,通常需要创建一个新表,将数据从旧表复制到新表,然后删除旧表并重命名新表。例如,如果要重命名列:
- 创建一个新表,包含所需的列名和数据类型:
CREATE TABLE new_test_table (
id INTEGER,
name TEXT,
new_age_column_name INTEGER
);
- 将旧表数据复制到新表:
INSERT INTO new_test_table (id, name, new_age_column_name)
SELECT id, name, age FROM test_table;
- 删除旧表:
DROP TABLE test_table;
- 重命名新表为旧表名:
ALTER TABLE new_test_table RENAME TO test_table;