Alex_McAvoy

想要成为渔夫的猎手

SQL 插入数据

【INSERT 语句】

在 SQL 中,插入元组使用的是 INSERT 语句,其基本语法如下

1
2
3
INSERT
INTO <表名> [(<属性列1> [,<属性列2>,...,<属性列n>])]
VALUES (<常量1> [,<常量2>,...,<常量n>]);

该语句是将新元组插入到指定表中,其中新元组的属性列 1 的值为常量 1,属性列 2 的值为常量 2,以此类推,属性列 n 的值为常量 n

INTO 子句中没有出现的属性列,新元组将在这些列上取空值 NULL,但要注意的是,如果在表定义时,有的列声明了非空 NOT NULL ,则不能取空值,否则会出错

【实例】

1.插入元组

例如,将一个新学生元组 (学号:5,姓名:孙七,性别:男,所在系:IS,年龄:18)插入到 student 表中

1
2
3
INSERT
INTO student(Sno, Sname, Ssex, Sdept, Sage)
VALUES(5, '陈东', '男', 'IS', 18);
2.插入子查询结果

子查询也可以嵌套在 INSERT 语句中生成要插入的批量数据

例如,对每一个系,求学生的平均年龄,并将结果存入数据库

对于该例,首先要建一张新表,其中一列存系名,另一列存放相应的平均年龄

1
2
3
4
CREATE TABLE dept_age(
Sdept CHAR(40),
Avg_age SMALLINT
);

之后,对 student 表按系分组来求平均年龄并插入到新表 dept_age 中

1
2
3
4
5
INSERT
INTO dept_age(Sdept, Avg_age)
SELECT Sdept, AVG(Sage)
FROM student
GROUP BY Sdept;
感谢您对我的支持,让我继续努力分享有用的技术与知识点!