好的阿杰,我帮你整理一个 SQL 教程 Day05-02:使用 INSERT 语句插入数据 的详细指南,涵盖语法、示例和注意事项。
🗄 SQL 教程 Day05-02:使用 INSERT 语句插入数据
一、INSERT 语句概述
- 用途:向表中插入新记录
- 基本语法:
INSERT INTO 表名 (列1, 列2, 列3, ...)
VALUES (值1, 值2, 值3, ...);
- 说明:
- 列名顺序要与值顺序对应
- 未指定的列,如果有默认值或允许 NULL,则会自动填充
二、示例:插入单条数据
1. 创建示例表
CREATE TABLE Student (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT,
grade CHAR(1)
);
2. 插入单条记录
INSERT INTO Student (id, name, age, grade)
VALUES (1, 'Alice', 20, 'A');
3. 插入部分列
INSERT INTO Student (id, name)
VALUES (2, 'Bob');
age 和 grade 列会使用默认值或 NULL
三、插入多条记录(批量插入)
INSERT INTO Student (id, name, age, grade)
VALUES
(3, 'Charlie', 21, 'B'),
(4, 'David', 19, 'A'),
(5, 'Eva', 22, 'C');
- 提高效率,比多条单独 INSERT 更快
四、使用 SELECT 插入数据
- 可以将查询结果插入另一张表:
INSERT INTO StudentBackup (id, name, age, grade)
SELECT id, name, age, grade
FROM Student
WHERE grade = 'A';
- 适用于数据迁移或备份
五、注意事项
- 数据类型匹配:插入值必须与列的数据类型匹配
- 主键唯一性:不能插入重复主键
- 约束检查:NOT NULL、FOREIGN KEY、CHECK 等约束会限制插入
- 字符串和日期:
- 字符串要加单引号
'Alice'
- 日期格式根据数据库类型,如
YYYY-MM-DD
- 字符串要加单引号
六、实用技巧
- 查看插入结果:
SELECT * FROM Student;
- 避免插入重复数据(MySQL 示例):
INSERT IGNORE INTO Student (id, name) VALUES (6, 'Frank');
- 使用事务保证安全:
START TRANSACTION;
INSERT INTO Student (id, name) VALUES (7, 'Grace');
COMMIT;
💡 总结
- INSERT 语句是 SQL 操作中最基础也最常用的语句
- 掌握单条插入、多条插入、SELECT 插入和事务操作
- 注意数据类型、约束和默认值
发表回复