#数据库--第3章 数据库更新


  这一章节将会介绍所有的数据库更新方法,使用的数据是 第一章 介绍和导入的数据。


一、插入数据

  1、普通插入

  关键字:insert into …(…) values(…)
  注意:1、字段名不一定要全部出现,顺序也可以与表内不同,
     2、未出现的字段如果有自增属性则会自动加 1 ,否则置为 NULL
     3、若插入的数据不满足完整性约束则会拒接此次插入

insert into region(R_REGIONKEY, R_NAME, R_COMMENT) values(5, 'China', 'i love china');

  2、插入子查询结果

  关键字:insert into …(…) select …
  注意:1、子查询结果字段数据类型须与表一致
     2、若插入的数据不满足完整性约束则会拒接此次插入

-- 新建表,存储零件平均价格
create table if not exists PARTAVGCOST(
	AVG_PARTKEY		int		references PARTSUPP(PS_PARTKEY),
    ABG_SUPPLYCOST	float	null
);
-- 将平均价格插入表中
insert into PARTAVGCOST(AVG_PARTKEY, ABG_SUPPLYCOST) select PS_PARTKEY, avg(PS_SUPPLYCOST) from partsupp group by PS_PARTKEY;

二、修改数据

  关键字:update … set … [where …]
  注意:1、若没有 where 条件则默认修改全部数据,MySQL默认是禁止没有 where 条件的修改操作
     2、set 后面的赋值语句可以是常量、算术表达式、函数、另一列
     3、若修改的数据不满足完整性约束则会拒接此次修改


  2.1、直接修改

update region set R_NAME='AAAA' where R_REGIONKEY=0;

  2.2、赋值为另一列

update region set R_COMMENT=R_NAME where R_REGIONKEY=0;

  2.3、算术表达式赋值

update partsupp set PS_SUPPLYCOST = PS_SUPPLYCOST + 1 where PS_PARTKEY > -1;

  2.4、函数赋值

update partsupp set PS_SUPPLYCOST = round(PS_SUPPLYCOST) where PS_PARTKEY=1;

三、删除数据

  关键字:delete from … [where…]
  注意:若没有 where 条件则默认删除全部数据,MySQL默认是禁止没有 where 条件的删除操作

delete from orders where O_ORDERKEY = 1;

猜你喜欢

转载自blog.csdn.net/qq_43519779/article/details/105869719