基本语法
INSERT INTO < 表名 > [(< 属性列 1>[ , < 属性列 2 >…)] VALUES (< 常量 1> [ , < 常量 2>] … );
插入元组
将一个新学生元组(学号: 200215128 ;姓名: 陈冬;性别:男;所在系: IS ;年龄: 18 岁)插入到 Student 表中
INSERT INTO Student (Sno, Sname, Ssex, Sdept, Sage) VALUES ('200215128', '陈冬', '男', 'IS', 18);
插入一条选课记录 ( '200215128' , '1 ')
INSERT INTO sc (Sno, Cno) VALUES('200215128', '1');
插入子查询结果
基本语法
INSERT INTO < 表名 > [(< 属性列 1> [ , < 属性列 2>… )] 子查询;
子查询SELECT 子句目标列必须与 INTO 子句匹配
对每一个系,求学生的平均年龄,并把结果存入数据库
/*1.建表*/ CREATE TABLE Dept_age( Sdept CHAR(15), Avg_age SMALLINT ); /*2.插入数据*/ INSERT INTO Dept_age(Sdept, Avg_age) SELECT Sdept, AVG(Sage) FROM student GROUP BY Sdept;
基本语法
UPDATE < 表名 > SET < 列名 >=< 表达式 >[ , < 列名 >=< 表达式 >]… [WHERE < 条件 >];
修改一个元组
将学生 200215121 的年龄改为 22 岁
UPDATE student SET Sage=22 WHERE Sno='200215121';
修改多个元组
将所有学生的年龄增加 1 岁
UPDATE student SET Sage=Sage+1;
带子查询的修改语句
将计算机科学系全体学生的成绩置零
UPDATE sc SET Grade=0 WHERE 'CS'=( SELECT Sdept FROM student WHERE student.`Sno`=sc.`Sno` );
基本语法
DELETE FROM < 表名 > [WHERE < 条件 >];
删除一个元组
删除学号为 200215128 的学生记录
DELETE FROM student WHERE Sno='200215128';
删除所有的学生选课记录
DELETE FROM sc;
删除计算机科学系所有学生的选课记录
DELETE FROM sc WHERE 'CS'=( SELECT Sdept FROM student WHERE student.`Sno`=sc.`Sno` );