INSERT 是 SQLite 中最基本也是最常用的数据写入语句,用于向表中插入一条或多条记录。合理使用 INSERT 是构建数据库应用的关键步骤。


📚 目录

  1. INSERT 语句简介
  2. 基本语法结构
  3. 完整插入示例
  4. 插入默认值或部分字段
  5. 使用 SELECT 插入
  6. 插入多条记录
  7. INSERT OR 替代方案
  8. 参考资料与链接

1. INSERT 语句简介

INSERT 用于将新记录插入数据库表中。你可以插入全部字段,也可以仅指定部分字段。SQLite 会自动处理 PRIMARY KEYAUTOINCREMENT 字段。


2. 基本语法结构

INSERT INTO 表名 (列1, 列2, ...) VALUES (值1, 值2, ...);

如果要插入所有列,可以省略列名部分:

INSERT INTO 表名 VALUES (值1, 值2, ...);


3. 完整插入示例

CREATE TABLE users (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  name TEXT NOT NULL,
  age INTEGER,
  email TEXT
);

INSERT INTO users (name, age, email) VALUES ('Alice', 30, 'alice@example.com');


4. 插入默认值或部分字段

SQLite 允许只为部分列赋值,未赋值的列将使用默认值或 NULL

INSERT INTO users (name, age) VALUES ('Bob', 25);


5. 使用 SELECT 插入

可将一张表的数据复制到另一张表:

INSERT INTO backup_users (name, age)
SELECT name, age FROM users WHERE age > 20;


6. 插入多条记录

SQLite 3.7.11 及以上支持在一条语句中插入多条记录:

INSERT INTO users (name, age) VALUES
('Charlie', 28),
('David', 22),
('Eve', 35);


7. INSERT OR 替代方案

当插入可能导致冲突时(如唯一键重复),可以使用:

  • INSERT OR REPLACE:有冲突则先删除再插入
  • INSERT OR IGNORE:有冲突则跳过

示例:

INSERT OR IGNORE INTO users (id, name) VALUES (1, 'Alice');


8. 参考资料与链接


通过 INSERT,你可以灵活地向数据库中添加数据。掌握插入技巧对于构建高效、健壮的应用系统至关重要。更多 SQLite 实用语法与场景案例,欢迎访问 www.52kanjuqing.com