MySQL学习笔记:更新和删除数据

本文为本人学习书籍《MySQL必知必会》笔记系列,欢迎持续关注,有问题随时留言评论,一起探讨学习~

20 更新和删除数据

使用更新和删除一定要慎重!一定要慎重!一定要慎重!
因为没有撤销操作,可以先备份再更新/删除;
或者先查询确定无误再更新/删除。
一定要有WHERE语句,否则会更新/删除所有行。否则会更新/删除所有行。否则会更新/删除所有行!!!

20.1更新数据UPDATE

20.1.1更新单个列

UPDATE customers
SET cust_city='太原'
WHERE cust_id=123461;

20.1.2更新多个列

UPDATE customers
SET cust_city='石家庄',
    cust_state='河北'
WHERE cust_id=123462;

20.1.3删除某列的一个或多个值——即设置它为NULL(假设允许空值NULL)

UPDATE customers
SET cust_zip=NULL
WHERE cust_id=123459;

20.2删除数据DELETE:删除的是行而不是列

20.2.1删除一行

DELETE FROM customers
WHERE cust_id=100002;

20.2.2删除所有行

TRUNCATE TABLE product.student;

20.3更新和删除的指导原则

除非确实打算更新和删除每一行, 否则绝对不要使用不带WHERE子句的UPDATEDELETE语句。
保证每个表都有主键,尽可能像WHERE子句那样使用它(可以指定各主键、多个值或值的范围)。
在对UPDATEDELETE语句使用WHERE子句前,应该先用SELECT进行测试,保证它过滤的是正确的记录,以防编写的WHERE子句不正确。
使用强制实施引用完整性的数据库(关于这个内容,请参阅第15),这样MySQL将不允许删除具有与其他表相关联的数据的行。
小心使用:MySQL没有撤销 (undo) 按钮。应该非常小心地使用UPDATEDELETE,否则你会发现自己更新或删除了错误的数据。
发布了51 篇原创文章 · 获赞 34 · 访问量 879

猜你喜欢

转载自blog.csdn.net/weixin_43412569/article/details/104860915