目录
数据更新
数据更新有三种操作:向表中添加若干行数据、修改表中的数据和删除表中的若干行数据。
1、插入数据
SQL 的数据插入语句 insert 通常有两种形式,一种是插入一个元组,另一种是插入子查询结果。后者可以一次性插入多个元祖。
1)、插入元祖
将新元组插入指定表中,其一般格式为:
insert into <表名> ( 属性列 , 属性列 , ...... ) values ( 常量 , 常量 , ...... )
into子句中没有出现的属性列(即可以指定部分属性列),新元组在这些列上将取空值。但如果表定义时说明了 not null 的属性列不能取空值,不然会报错。如果into子句中没有指定属性列,那么就按照默认的顺序,个数也和表中的相同。属性列的顺序可与表定义中的顺序不一致。values 提供的值的个数和类型必须与 into 子句相匹配。
我们将上面表中数据插入为例:
insert into Student(Sno,Sname,Ssex,Sage,Sdept)
values('201215121' , '李勇' , '男' , 20 , 'CS');
insert into Student(Sno,Sname,Ssex,Sage,Sdept)
values('201215122' , '刘晨' , '女' , 19 , 'CS');
insert into Student(Sno,Sname,Ssex,Sage,Sdept)
values('201215123' , '王敏' , '女' , 18 , 'MA');
insert into Student(Sno,Sname,Ssex,Sage,Sdept)
values('201215125' , '张立' , '男' , 19 , 'IS')
insert into Course(Cno,Cname,Cpno,Ccredit)
values('1' , '数据库' , '5' , 4 );
insert into Course(Cno,Cname,Cpno,Ccredit)
values('2' , '数学' , NULL , 2 );
insert into Course(Cno,Cname,Cpno,Ccredit)
values('3' , '信息系统' , '1' , 4 );
insert into Course(Cno,Cname,Cpno,Ccredit)
values('4' , '操作系统' , '6' , 3 );
insert into Course(Cno,Cname,Cpno,Ccredit)
values('5' , '数据结构' , '7' , 4 );
insert into Course(Cno,Cname,Cpno,Ccredit)
values('6' , '数据处理' , NULL , 2 );
ins