MST
星途 面试题库

面试题:SQLite中修改表结构的常用方法及步骤

请详细阐述在SQLite中修改表结构,比如增加一列的详细步骤,并写出对应的SQL语句。假设已有一张名为'test_table'的表,目前包含'id'和'name'两列,现在要新增'age'列。
12.7万 热度难度
数据库SQLite

知识考点

AI 面试

面试题答案

一键面试

在SQLite中增加一列到已有的表,可以使用ALTER TABLE语句。具体步骤和SQL语句如下:

  1. 使用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功能相对有限,它不能直接用于重命名列、删除列或修改现有列的数据类型,如需进行这些操作,通常需要创建一个新表,将数据从旧表复制到新表,然后删除旧表并重命名新表。例如,如果要重命名列:

  1. 创建一个新表,包含所需的列名和数据类型:
CREATE TABLE new_test_table (
    id INTEGER,
    name TEXT,
    new_age_column_name INTEGER
);
  1. 将旧表数据复制到新表:
INSERT INTO new_test_table (id, name, new_age_column_name)
SELECT id, name, age FROM test_table;
  1. 删除旧表:
DROP TABLE test_table;
  1. 重命名新表为旧表名:
ALTER TABLE new_test_table RENAME TO test_table;