在 SQL 中,INSERT 语句用于向数据库表中插入新数据。下面从基础到常见用法逐步说明。
INSERT INTO 表名 (列1, 列2, 列3)
VALUES (值1, 值2, 值3);
示例:
INSERT INTO users (name, age, email)
VALUES ('张三', 25, 'zhangsan@example.com');
✅ 优点:清晰、安全,顺序不依赖表结构
INSERT INTO 表名
VALUES (值1, 值2, 值3);
示例:
INSERT INTO users
VALUES (1, '张三', 25, 'zhangsan@example.com');
⚠️ 要求:值的顺序必须与表结构完全一致
INSERT INTO users (name, age)
VALUES
('李四', 30),
('王五', 28),
('赵六', 22);
✅ 一次插入多条,效率高
INSERT INTO 表1 (列1, 列2)
SELECT 列1, 列2
FROM 表2
WHERE 条件;
示例:
INSERT INTO user_backup (name, age)
SELECT name, age
FROM users
WHERE age > 30;
INSERT INTO users (name)
VALUES ('测试用户');
未指定的列:
DEFAULT,使用默认值NULL,插入 NULLINSERT INTO users (name) VALUES ('A');
INSERT INTO users (name) VALUES ('A')
RETURNING id;
INSERT INTO users (name) VALUES ('A');
SELECT SCOPE_IDENTITY();
❌ 数据类型不匹配
❌ 违反主键 / 唯一约束
❌ 非空字段未赋值
❌ 字符串未加引号
✅ 明确写出列名
✅ 批量插入减少 IO
✅ 使用参数化查询(防止 SQL 注入)
✅ 大批量插入时考虑事务
如果你有具体的数据库(MySQL / PostgreSQL / SQL Server)或实际表结构,我可以帮你写更精确的 INSERT 语句。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。