当前位置:首页 > 问答 > 正文

数据库|数据插入 后浪云SQLite 教程:SQLite Insert 语句

🔍 数据库小白的第一次亲密接触:SQLite Insert语句实战指南

场景重现
小张正用Excel手动录入500条用户数据,突然电脑蓝屏...😱 隔壁程序员老王探头说:"早该用SQLite了,一条INSERT命令能顶你加班两小时!" 今天我们就来解锁这个让数据"乖乖排队"的神奇技能~


📌 初识SQLite Insert语句

SQLite的INSERT就像数据的"出生证明",专门负责把新记录送进数据库大家庭,基本语法简单到像说人话:

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

举个栗子 🌰:
假设有个users表(包含id、name、age三列),新增一个叫"张三"的28岁用户:

INSERT INTO users (id, name, age) VALUES (1, '张三', 28);

💡 注意:文本值必须用单引号包裹,数字直接写


🎯 三种插入姿势任君选择

姿势1️⃣ 标准插入(明确列名)

INSERT INTO products (product_id, name, price) 
VALUES (101, '无线耳机', 299.99);

优点:列顺序可自由调整,适合新增字段后的兼容

数据库|数据插入 后浪云SQLite 教程:SQLite Insert 语句

姿势2️⃣ 快速插入(省略列名)

INSERT INTO products 
VALUES (102, '机械键盘', 199, '2025-08-20');

注意:必须提供所有列的值且顺序完全一致,像玩填字游戏不能出错!

姿势3️⃣ 批量插入(效率之王)

INSERT INTO students (name, score) 
VALUES ('李雷', 85), 
       ('韩梅梅', 92),
       ('小明', 78);

适用场景:初始化数据或数据迁移时,比单条插入快10倍以上 🚀


🔧 高阶技巧工具箱

技巧1️⃣ 插入查询结果

把A表的数据精选后插入B表:

INSERT INTO vip_users (user_id, level)
SELECT id, '黄金会员' FROM users WHERE score > 90;

技巧2️⃣ 默认值处理

当字段设置了默认值,可以偷懒:

数据库|数据插入 后浪云SQLite 教程:SQLite Insert 语句

INSERT INTO orders (order_id, product_name) 
VALUES (1001, '智能手表');  -- 未指定的status自动赋默认值'待支付'

技巧3️⃣ 冲突解决(2025年新版语法)

遇到主键重复时自动更新:

INSERT OR REPLACE INTO employees (id, name, dept) 
VALUES (5, '新员工小王', '技术部');

💣 新手避坑指南

  1. 单引号陷阱:插入名字O'Reilly要写成'O''Reilly'(双写单引号)
  2. NULL警告:非空约束的列忘记赋值会报错
  3. 日期格式:建议统一用'YYYY-MM-DD'格式避免歧义

🏆 实战小测验

假设有个books表(book_id, title, author, stock),请:

  1. 插入《三体》库存50本
  2. 批量插入《小王子》和《红楼梦》
  3. 当book_id冲突时更新库存量

(答案见下方折叠区)

📚 参考答案
-- 1. 单条插入
INSERT INTO books VALUES (1, '三体', '刘慈欣', 50);
-- 2. 批量插入
INSERT INTO books (book_id, title, author, stock)
VALUES (2, '小王子', '圣埃克苏佩里', 30),
       (3, '红楼梦', '曹雪芹', 25);
-- 3. 冲突更新
INSERT OR REPLACE INTO books 
VALUES (1, '三体', '刘慈欣', 60);

最后彩蛋 🥚:在SQLite中按住Ctrl+Enter可以快速执行当前语句(具体取决于你的IDE),比鼠标点击快多啦!下次见~ ✨

数据库|数据插入 后浪云SQLite 教程:SQLite Insert 语句

(本文操作示例基于SQLite 3.42.0版本,2025年8月验证通过)

发表评论