每次删除都删除一行的所有属性值(一次删一行)而不能只删掉某些属性
语法:
delete from r where p; 将满足“使条件p为真”的元组从r表中删除
重点在于where的子查询,跟前面的查询语句十分相似 将一个表的所有元组全部删除:
delete from r; (一次删除一行) insert into 插入语句 形式1: 语法: insert into R_name values(atttr1_value,attr2_value,……); 或者: insert into R_name(attr1_name,attr2_name,……) values(attr1_value,attr2_value,……);
推荐第二种写法,因为DBMS有自己的一套插入步骤,虽然默认的元组顺序是建表的时候的顺序,但是有时候会出错,因此建议写表的完整形式。 (一次插入一行)
insert 的时候要注意属性的数据类型,比如如果是字符型就要加’'号
形式2:
insert into R_name select attr1_name,attr2_name,…… from R2_name where p; 将表R2的一些元组插入表R(一次插入多行)
可以将某一些属性的值设置为某个值,比如:将薪资全部设置为18000,只需要将select语句的salary属性改为18000即可
语法:
update R_name set attr_name=(operation) where P;
注意:不能使用复合的运算符,比如salary=salary*0.15不能写成salary=0.15,跟编程语言稍有不同*
set一次可以更新多个属性,不过set后面的属性数量跟=号后面的属性数量必须相同
如:set tot_cred,course_id=(select tot_cred,course_id from relation2)
在set字句中加上case语句,分条件更新 (很多DBMS都不支持)
以一张现有的表的结构建一张新表:
create table temp_account like account