mysql 表数据修改的方法,单标修改、多表修改--将一张表里面的其中一个字段的值赋值给另一张表

单表修改:

  update tab set column1 = value1,。。。where 条件;

多表修改:

sql 92语法:update table1 tab1,table2 tab2

      set column1 = value1,。。。

      where 链接条件

      and  筛选条件

sql 99 语法:update table1 tab1

      [inner | left | right ] join table2 tab 2

      on 链接条件

      set  column1 = value1,。。。

      where 筛选条件

实例:

表中"燕"老师教的课的成绩都更改为此课程的平均成绩;

 1  UPDATE beicaiSC sc inner  JOIN (--sql99 语法实现两表间的数据交换
 2          select 
 3          tc.cno,round(avg(sc.score),2) av 查询出课程的平均成绩和对应的课程ID
 4          from 
 5          (
 6              select co.tno tno,te.tname tname,co.cno cno,co.cname cname
 7              from beicaiTEA te 
 8              join beicaicou co 
 9              on(te.tno=co.tno) 
10              where te.tname='燕'
11          )tc --内部表,查询出燕老师所教课程
12          join beicaiSC sc 
13          on(tc.cno=sc.cno) --链接条件就是课程ID相同的课
14          group by tc.cno--根据课程分组
15           
16 ) cnn on cnn.cno = sc.cno量表的链接条件就是课程ID
17 set sc.score = cnn.av --赋值

 

posted @ 2020-12-24 10:02  shan_zhayidian  阅读(650)  评论(0编辑  收藏  举报