综述:
数据更新在SQl中有三类,插入、修改、删除,操作对象为表
插入数据 INSERT
插入的数据可以是一条一条的元组,也可以一下子插入很多条即一个子查询结果
插入元组
insert into table (line1,line2,line3..)
values(x,y,z..)
注意点
黄色部分必须要一一对应
第一行黄色的代表table中的属性列,很多时候都不是table的所有属性,没有出现在这里的属性会自动取null
table后面属性列的要求不必与原表顺序一致
如果没有指定table的属性列,那么value的必须使得table属性列的每一个都有值,尽管是null也要写,而且顺序也得一致
注意value的值应当符合table属性列的限制要求,不然会出错的
插入子查询
insert into table (line1,line2,line3..)
子查询;
就相当于把子查询中每一行的值当作了value
INSERT INTO Dept_age(Sdept,Avg_age)
select Sdept,AVG(sage) FROM student GROUP BY Sdept;
修改数据 UPDATE
UPDATE 某张表
SET 列名=某个值 //这个列里面的数值改成某个值
WHERE 一些条件 //可能这个列并不是所有的数据都更改
where字句的所有条件语句都可以用在这里,包括子查询什么的
例如:将2001年出生的学生年龄加一岁
UPDATE STUDENT
SET AGE=AGE+1
WHERE BRITH=2001;
删除数据 DELETE
delete 和 drop 的区别:
drop table student;——student表不再存在
delete from student;——student表还在,即使有可能里面已经被删空了
所以delete删除的是数据而不是关于表的定义,drop直接删除的是定义
DELETE FROM 表名
WHERE 删除条件