知者何南 发表于 2024-10-14 16:08:02

SQL第16课——更新和删除数据

介绍怎样使用update和delete语句进一步操作表数据。
16.1 更新数据
使用update语句。两种使用方式:
1. 更新表中的特定行;
2. 更新表中的全部行。
!!!(使用update时不要省略where子句,因为容易更新表中的全部行)
基本update语句由三部分组成 = 要更新的表 + 列名和它们的新值 + 确定要更新哪些行的过滤条件
例:客户1000000005现在有了电子邮件地点,因此必要更新记载
https://i-blog.csdnimg.cn/direct/35764d8f5e6341f0a38bd3703d33fc4c.png
更新单个列:
https://i-blog.csdnimg.cn/direct/3770b16d4b0f4699923e53f773fc25e6.png
这里是更新customers表中cust_id为1000000005的email.
没有where子句的话,DBMS将会用这个电子邮件地点更新customers表中的全部行。
更新多个列:
https://i-blog.csdnimg.cn/direct/599417ee034642369a0ad596e7304c33.png
!!!在update语句中使用子查询,使得能用select语句检索出的数据更新列数据。
有的SQL实现支持在update语句中使用from子句,用一个表的数据更新另一个表的行。
要删除某个列的值,可设置它为null(表定义允许null值):
https://i-blog.csdnimg.cn/direct/53eb1da22aa34da0878a417b4b5b68f6.png
null去除cust_email列中的值,与保存空字符串差别(' ',是一个值),null表现没有值。
16.2 删除数据
delete删除(去掉)数据,有两种方式:
1. 删除特定的行;
2.删除全部行。
同样不要省略where子句,不然容易删除全部行。
例:从customers表中删除一行:
https://i-blog.csdnimg.cn/direct/fbd5c671fa0648a3b808b29e80b8dbdf.png
delete from 指定删除的表名
!!!友好的外键
12课中的联结,简单联结两个表必要两个表中的公用字段,
使用外键确保引用完备性的好处:DBMS通常可以防止删除某个关系必要用到的行。如从Products表中删除一个产品,但这个产品用在orderitems的已有订单中,那么delete语句将抛堕落误并中止。
delete不必要列名或通配符,delete删除整行而不是删除列,删除指定的列,使用update语句。
delete删除行,不删除表本身
要删除全部行,用truncate table语句更快。
16.3 更新和删除的指导原则
   update和delete遵循的紧张原则1. 假如不是更新或删除每一行,那么肯定要使用where子句2. 包管每个表都有主键,尽可能像where子句那样使用它(可以指定各主键,多个值或值的范围)3. 在使用where子句前,应该先用select进行测试,包管过滤的是精确的记载4. 使用逼迫实施引用完备性的数据库,这样DBMS将不允许删除其数据与其他表相干联的行5. 有得DBMS允许数据库管理员施加束缚,防止执行不带where子句得update或delete语句。6. 假如SQL没有撤销(undo)按钮,鉴戒使用,不然容易更新或删除错误数据。





免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: SQL第16课——更新和删除数据