CodeGym /课程 /SQL SELF /使用 INSERT INTO 插入数据的基础

使用 INSERT INTO 插入数据的基础

SQL SELF
第 21 级, 课程 0
可用

什么是插入数据?

想象一下你开了一所大学。你有一个数据库,里面有一些表,比如 students 用来存学生的信息。现在你要公布录取名单,把学生数据加到表里。在 SQL 里,这就用 INSERT INTO 命令。它能让你往表里加一行新数据——就像你在 Excel 里手动填一行,只不过更快、更强大,还能用代码搞定!

插入数据不仅仅是基础操作。它到处都用得到——比如网店下单、银行存交易记录。大学的话,就是学生名单、老师名单,甚至课程表啥的。

INSERT INTO 命令的基础语法

在 SQL 里,INSERT INTO 命令就是往表里加新行的简单方法。来看下基础语法:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

各部分说明:

  1. table_name —— 你要加数据的表名。
  2. (column1, column2, column3, ...) —— 你要填值的列名列表。
  3. VALUES (value1, value2, value3, ...) —— 你想插入到对应列的值。

举个例子:往 students 表加个新学生。假设我们有这样一个表:

id name age course
1 Otto Song 18 数学

现在用 INSERT INTO 加第二个学生:

INSERT INTO students (id, name, age, course)
VALUES (2, 'Anna Lin', 19, '计算机科学');

执行完后,表就变成这样:

id name age course
1 Otto Song 18 数学
2 Anna Lin 19 计算机科学

往所有列插入数据

如果你想给表的所有列都插值,可以在 INSERT INTO 里省略列名。前提是你得按顺序给每一列都填上值。

语法:

INSERT INTO table_name
VALUES (value1, value2, value3, ...);

举个例子:再往 students 表加一个学生:

INSERT INTO students
VALUES (3, 'Dan Sim', 20, '物理');

结果:

id name age course
1 Otto Song 18 数学
2 Anna Lin 19 计算机科学
3 Dan Sim 20 物理

不过这种写法有点危险,要是表结构变了就容易出错。所以建议还是写上列名,这样更安全。

实战:添加一个学生

来试试用 INSERT INTO 的全部威力,往 students 表加个新学生。

第1步:先查查现在的数据

开始前,最好先看看表里已经有啥。用 SELECT 命令:

SELECT * FROM students;

第2步:加新学生

现在加个学生 Peter Chi,他学“生物”,21岁:

INSERT INTO students (id, name, age, course)
VALUES (4, 'Peter Chi', 21, '生物');

第3步:确认数据加上了

再查一次所有数据:

SELECT * FROM students;

结果:

id name age course
1 Otto Song 18 数学
2 Anna Lin 19 计算机科学
3 Dan Sim 20 物理
4 Peter Chi 21 生物

酷吧?Peter 现在已经加到我们大学了。

用 INSERT INTO 时常见的错误

列和数值数量不一致。 比如你写了4个列名,但只给了3个值,SQL 会报错:

INSERT INTO students (id, name, age)
VALUES (5, 'Eva Green', 22, '化学');

错误:列数和数值数不一致。

违反约束。 如果某列要求唯一(UNIQUE)或者必须有值(NOT NULL),不满足就会失败。

数据类型不对。

比如你想往数字字段里插文本,PostgreSQL 也会不高兴:

INSERT INTO students (id, name, age, course)
VALUES (5, 'Axel Linz', '二十', '化学');

实际项目里为啥要用这个?

会用 INSERT INTO 是个你几乎做所有数据库应用都要用到的技能。现实里你会用它来:

  • 注册新用户。
  • 网店下单。
  • 支付系统里保存支付数据。
  • 教育系统里每天更新学生、考勤、成绩等数据。

每次你的应用和用户或外部数据源打交道,INSERT INTO 就是把这些数据写进数据库的主力工具。

如果你搞 backend 应用,或者打算写处理数据的 API,学会用 SQL 插入数据——这是最基础但超级重要的技能!

2
任务
SQL SELF, 第 21 级, 课程 0
已锁定
向表中插入多行数据
向表中插入多行数据
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION