ctltest

一、修改单表的记录
语法:
UPDATE 表名
SET 列1 = 值1, 列2=值2
WHERE 筛选条件
注意:若不加WHERE筛选语句,则会更新表中的所有记录。
我们有这样一个manager表:

 

 我要修改id=5的记录,将m_name 改为 ”TOM“,m_salary改为18000,email改为123@zc-campus.com,将location改为“Paris Tower"
sql语句如下:

UPDATE manager 
SET m_name="TOM", m_salary=1800, email="123@zc-campus.com", location="Paris Tower"
WHERE id = 5;

结果如下:

 

 我们可以看到,id=5的记录被修改了。
如果我们不加WHERE筛选条件会怎样呢?

UPDATE manager 
SET m_name="TOMS", m_salary=1800, email="124@zc-campus.com", location="Paris Tower"

执行结果:

 

 我们可以看到,表中的所有记录,除了id,都被update了。
所以:使用UPDATE更新数据时,一定要注意筛选条件,没有加的话很可能就会造成更新全表数据的结果。

二、修改多表的记录(级联修改)
语法(sql92):
UPDATE 表1 别名, 表2 别名
SET 列1 = 值1, 列2=值2
WHERE 连接条件
AND 筛选条件

语法(sql99)
UPDATE 表1 别名
INNER JOIN(或其它连接条件)表2 别名
ON 连接条件
SET 列1 = 值1, 列2=值2
WHERE 筛选条件
有如下两个表:
beauty表:

boys表:

 

 这两个表通过beauty.boyfriend_id于boys.id关联。
现在我们要更新热巴的男朋友的userCP为10000。
我们来看sql语句:

UPDATE beauty be
INNER JOIN boys bs
ON be.boyfriend_id = bs.id
SET bs.userCP = 10000
WHERE be.name = "热巴";

我们看boys表:

 

 热巴的男朋友鹿晗的userCP被修改为了10000。


 

 

 

 

 

分类:

技术点:

相关文章:

  • 2021-11-29
  • 2021-09-24
  • 2021-07-01
  • 2021-12-02
  • 2021-05-24
  • 2021-08-16
  • 2021-05-15
  • 2021-11-29
猜你喜欢
  • 2021-05-02
  • 2021-08-29
  • 2021-08-16
  • 2021-11-30
  • 2021-09-20
  • 2021-12-13
  • 2021-08-03
相关资源
相似解决方案