MySQL之delete用法

本文深入探讨MySQL中DELETE语句的使用方法,通过具体示例展示如何从business_related_people表中删除特定类型的数据,为数据库操作提供实用指导。

MySQL之delete用法

DELETE FROM business_related_people where type=3-- 正确

DELETE a FROM business_related_people a where a.type=3-- 正确
在这里插入图片描述

### MySQLDELETE语句的用法及示例 #### 1. 基本语法 MySQL 中 `DELETE` 语句用于从表中删除满足特定条件的记录。基本语法如下: ```sql DELETE FROM table_name WHERE condition; ``` - **table_name**: 要从中删除记录的目标表。 - **condition**: 可选参数,指定哪些记录应被删除。如果省略此子句,则会删除表中的所有记录[^2]。 --- #### 2. 删除单条记录 假设有一个名为 `employees` 的表,其中存储员工的信息。要删除名字为 `'John Doe'` 的员工记录,可以执行以下 SQL 语句: ```sql DELETE FROM employees WHERE name = 'John Doe'; ``` --- #### 3. 删除多条记录 如果需要删除部门编号为 `10` 的所有员工记录,可以通过设置合适的条件来完成: ```sql DELETE FROM employees WHERE department_id = 10; ``` --- #### 4. 删除全部记录(不推荐) 如果不加任何条件,`DELETE` 语句将会清空目标表中的所有数据。例如: ```sql DELETE FROM employees; ``` 这种写法虽然有效,但在实际应用中通常建议使用 `TRUNCATE` 来替代,因为后者效率更高且不会触发删除事件[^4]。 --- #### 5. 结合 LIMIT 子句限制删除行数 当只需要删除一部分符合条件的记录时,可以配合 `LIMIT` 关键字一起使用。比如只允许最多删除两条工资低于 `$3000` 的员工信息: ```sql DELETE FROM employees WHERE salary < 3000 LIMIT 2; ``` --- #### 6. 多表联合删除 对于复杂的业务场景下涉及到跨多个关联表格间的清理工作,则需要用到更高级别的形式——即所谓的“多表 DELETE”。下面展示了一个例子,在这里假设有两张相互依赖的关系型结构化文件分别是 orders 和 order_details 。我们的目的是基于某些过滤准则同步消除两者间对应的部分项目单元格内容项。 ```sql DELETE o, od FROM orders AS o INNER JOIN order_details AS od ON o.order_id = od.order_id WHERE o.status = 'CANCELLED'; ``` 以上代码片段解释了如何一次性地针对两个不同但又彼此之间存在着内在联系的对象实施精准定位式的批量销毁动作过程[^3]。 --- ### 注意事项 - 在执行 `DELETE` 操作前务必确认好筛选依据以防误删重要资料。 - 对于 InnoDB 类型引擎管理下的事务安全模式而言,记得提交更改 (`COMMIT`) 或撤销未保存的状态(`ROLLBACK`)以免引起不必要的麻烦情况发生。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值