【转载】SQL DELETE 语句

本文介绍了如何使用SQL DELETE语句删除数据库记录,包括语法、WHERE子句的作用以及删除所有数据的方法,同时提供了删除特定记录的实例和删除操作的警告。

转载:https://www.runoob.com/sql/sql-delete.html

SQL DELETE 语句


DELETE 语句用于删除表中的记录。


SQL DELETE 语句

DELETE 语句用于删除表中的行。

SQL DELETE 语法

DELETE FROM table_name
WHERE some_column=some_value;

请注意 SQL DELETE 语句中的 WHERE 子句!
WHERE 子句规定哪条记录或者哪些记录需要删除。如果您省略了 WHERE 子句,所有的记录都将被删除!

演示数据库

在本教程中,我们将使用 RUNOOB 样本数据库。

下面是选自 "Websites" 表的数据:

+----+--------------+---------------------------+-------+---------+
| id | name         | url                       | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1  | Google       | https://www.google.cm/    | 1     | USA     |
| 2  | 淘宝       | https://www.taobao.com/   | 13    | CN      |
| 3  | 菜鸟教程 | http://www.runoob.com/    | 4689  | CN      |
| 4  | 微博       | http://weibo.com/         | 20    | CN      |
| 5  | Facebook     | https://www.facebook.com/ | 3     | USA     |
+----+--------------+---------------------------+-------+---------+

SQL DELETE 实例

假设我们要从 "Websites" 表中删除网站名为 "Facebook" 且国家为 USA 的网站。

我们使用下面的 SQL 语句:

实例
DELETE FROM Websites
WHERE name='Facebook' AND country='USA';

执行以上 SQL,再读取 "Websites" 表,数据如下所示:


删除所有数据

您可以在不删除表的情况下,删除表中所有的行。这意味着表结构、属性、索引将保持不变:

DELETE FROM table_name;

或

DELETE * FROM table_name;

注释:在删除记录时要格外小心!因为您不能重来!

### 如何在VBA中正确使用SQL DELETE语句 #### SQL DELETE 语句概述 DELETE FROM 语句用于删除表中的现有记录。当希望移除特定条件下的某些记录或是清空整个表格的内容时,可以使用此命令。需要注意的是,在编写 DELETE 语句时不指定 WHERE 子句将会导致该表内所有的行被清除。 #### VBA 中实现 SQL DELETE 的方法 为了通过 VBA 执行 SQL DELETE 命令来操作外部数据库(例如 Microsoft Access),通常需要遵循如下模式: 1. **设置连接对象** 需要先初始化 ADO (ActiveX Data Objects) 或 DAO (Data Access Objects) 连接对象并打开目标数据库文件。 2. **构建 SQL 查询字符串** 构造包含适当筛选条件的 DELETE 语句作为查询的一部分。确保指定了正确的表名称以及任何必要的过滤器以限定受影响的范围。 3. **执行命令** 将上述准备好的 SQL 字符串传递给已建立的数据库连接实例来进行实际的数据修改动作。 4. **关闭资源** 完成所有操作之后记得释放占用的对象变量,并断开与数据库之间的链接。 下面给出一段具体的代码样例展示如何安全有效地运用这些原则完成预期的任务: ```vba Sub DeleteRecords() Dim conn As Object ' 创建ADO连接对象 Set conn = CreateObject("ADODB.Connection") ' 实例化 ' 设置连接字符串,此处假设为Access数据库路径 Const DB_PATH = "C:\path\to\your\Database.accdb" With conn .Provider = "Microsoft.ACE.OLEDB.12.0;" .Open "Data Source=" & DB_PATH On Error GoTo ErrorHandler ' 错误处理机制 ' 准备并运行带有WHERE子句的安全版本delete语句 .Execute ("DELETE FROM Employees WHERE Department='Sales'") MsgBox "成功删除符合条件的员工记录.", vbInformation ExitHandler: If Not .State = adStateClosed Then .Close Exit Sub ErrorHandler: MsgBox Err.Description, vbCritical Resume ExitHandler End With End Sub ``` 这段脚本展示了怎样利用 VBA 和 ADO 库去访问本地存储的一个 Access 数据库,并从中依据部门字段等于'Sales'这一条件精准定位到待删除的目标集合[^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值