插入数据
1.插入元组
INSERT
INTO <表名> [(<属性列1>[,<属性列2>]...)]
VALUES (<常量1>[,<常量2>]...);
案例:
1.将一个学生元组(学号: 201215128, 姓名:陈冬,性别:男,所在系:IS,年龄:18)插入到student表中
INSERT INTO student (Sno,Sname,Ssex,Sdept,Sage)
VALUES ('201215128','陈冬','男','IS',18);
或者
INSERT INTO student
VALUES ('201215128','陈冬','男','IS',18);
2.插入子查询结果
INSERT
INTO <表名> [(<属性列1>[,<属性列2>]...)]
子查询
案例:
对每一个系,求学生的平均年龄,并把结果存入数据库:
1.先建一个新表
CREATE TABLE Dept_age(
Sdept CHAR(15)
Avg_age SMALLINT
);
2.然后对student表按系分组求平均年龄,再把系名和平均年龄存入新表中
INSERT
INTO Dept_age(Sdept, Avg_age)
SELECT Sdept, AVG(Sage)
FROM student
GROUP BY Sdept;
修改数据
UPDATE <表名>
SET <列名>=<表达式> [,<列名>=<表达式>]...
[WHERE <条件>];
1.修改一个元组的值
案例:
将学生201215121的年龄改为22岁
UPDATE student
SET Sage = 22
WHERE Sno = '201215121';
2.修改多个元组的值
案例:
将所有学生的年龄增加1岁
UPDATE student
SET Sage = Sage + 1;
3.带子查询的修改语句
案例:
将计算机系全体学生的成绩置零
UPDATE sc
SET grade = 0
WHERE sno IN
(SELECT sno
FROM student
WHERE Sdept = 'CS');
删除数据
DELETE
FROM <表名>
[WHERE <条件>];
1.删除某一个元组的值
案例:
删除学号为201215121的学生记录。
DELETE
FROM student
WHERE sno = '201215121';
2.删除多个元组
案例:
删除所有的学生选课记录。
DELETE
FROM sc;
3.带子查询的删除语句
案例:
删除计算机系所有学生的选课记录。
DELETE
FROM sc
WHERE sno IN
(SELECT sno
FROM student
WHERE Sdept = 'CS');