SQL删除语句

如果我们要删除数据库中表的数据,我们就可以使用DELETE语句。

DELETE语句的基本语法是:

DELETE FROM <表名> WHERE ...;

例如,我们想删除employees表中id=100的记录,就需要这么写:

DELETE FROM employees WHERE employee_id = 100;

-- 查询结果:

 

在这里我们发现DELETE语句的WHERE条件也是用来筛选需要删除的行,因此和UPDATE类似,DELETE语句也可以一次删除多条记录:

DELETE FROM employees WHERE employee_id >= 101 and employee_id <= 105;

-- 查询结果:

 

 

如果WHERE条件没有匹配到任何记录,DELETE语句不会报错,也不会有任何记录被删除。例如:DELETE FROM employees WHERE employee_id = 999 ;

-- 删除employee_id=999的记录

--查询结果:

 

和UPDATE类似,不带WHERE条件的DELETE语句会删除整个表的数据:

DELETE FROM employees;

这时,整个表的所有记录都会被删除。所以,在执行DELETE语句时也要非常小心,最好先用SELECT语句来测试WHERE条件是否筛选出了期望的记录集,然后再用DELETE删除。

 

在使用oracle这类关系数据库时,DELETE语句会返回删除的行数以及WHERE条件匹配的行数。

例如,分别执行删除employee_id=100和employee_id=999的记录:

SQL> DELETE FROM employees WHERE employee_id=100;

Query OK, 1 row affected (0.01 sec)

 

SQL> DELETE FROM employees WHERE employee_id=999;

Query OK, 0 rows affected (0.01 sec)

 

      另外如果要进行删除的这条数据在其他表中使用,并且建立了约束的话,是不能直接进行删除的。

 

  • 16
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值