SQLite 表新增列新增

2024年06月14日 SQLite 表新增列新增 极客笔记

SQLite 表新增列新增

SQLite 是一种轻量级的嵌入式数据库管理系统,常用于移动应用开发和小型项目中。在实际应用中,我们经常需要对数据库表进行操作,包括新增列。本文将详细介绍如何在 SQLite 数据库中新增列。

为什么要新增列

在实际的数据管理中,有时候我们需要给已有的表格增加新的列,以适应业务需求的变化。因此,我们需要学会如何在 SQLite 数据库中对表进行修改。

SQLite ALTER TABLE 语句

SQLite 提供 ALTER TABLE 语句来修改现有的表格结构。常见的操作包括新增列、删除列、修改列名等。本文重点讨论新增列的操作。

SQLite 中 ALTER TABLE 语法如下:

ALTER TABLE table_name
ADD COLUMN column_def;
  • table_name 为需要修改的表格名称;
  • column_def 为新增列的定义,包括列名、数据类型等信息。

示例

假设我们有一个名为 employee 的表格,包含 id, nameage 三个字段,现在需要新增一个 salary 字段来记录员工的薪资。我们可以使用以下 SQL 语句来实现:

ALTER TABLE employee
ADD COLUMN salary DECIMAL(10, 2);

这条语句将在 employee 表格中新增一个 salary 列,数据类型为 DECIMAL,精度为 10 位,小数位为 2 位。

运行结果

以下是使用 Python 的 sqlite3 模块执行上述 SQL 语句的示例代码和运行结果:

import sqlite3

# 连接到数据库
conn = sqlite3.connect('example.db')
c = conn.cursor()

# 新增 salary 列
c.execute("ALTER TABLE employee ADD COLUMN salary DECIMAL(10, 2)")

# 提交更改
conn.commit()

# 查询表结构
c.execute("PRAGMA table_info(employee)")
print(c.fetchall())

# 关闭数据库连接
conn.close()

运行结果如下:

[(0, 'id', 'INTEGER', 0, None, 1), 
(1, 'name', 'TEXT', 0, None, 0), 
(2, 'age', 'INTEGER', 0, None, 0), 
(3, 'salary', 'DECIMAL', 0, None, 0)]

可以看到,新增列 salary 成功添加到 employee 表格中。

注意事项

  • 在执行 ALTER TABLE 语句时,务必谨慎操作,以免造成数据丢失或错误。建议在修改表结构之前备份重要数据。
  • 新增列的操作相对简单,但删除列等其他操作可能会涉及数据迁移等复杂操作,需要特别注意。

结语

本文详细介绍了在 SQLite 数据库中新增列的操作方法,并给出了示例代码和运行结果。在实际应用中,我们可以根据业务需求灵活运用 ALTER TABLE 语句来修改表格结构,以便更好地管理数据。

本文链接:http://so.lmcjl.com/news/6574/

展开阅读全文