用SQL删除数据

  使用【delete】命令可以删除数据,使用【truncate】命令可以删除整表数据但保留结构。
4.7.1 删除记录
    在【命令编辑区】输入“delete from scott.test where empno>=7500 and empno<=8000;”,然后单击【执行】按钮,出现如图4.47所示的结果。
    【参见光盘文件】:\第4章\4.7\471.sql。

    删除记录的语法:delete from 数据表 where 条件。
4.7.2 整表数据删除
    在【命令编辑区】输入“truncate table scott.test ;”,然后单击【执行】按钮,出现如图4.48所示的结果。
    【参见光盘文件】:\第4章\4.7\472.sql。

    truncate table命令将快速删除数据表中的所有记录,但保留数据表结构。这种快速删除与delete from 数据表的删除全部数据表记录不一样,delete命令删除的数据将存储在系统回滚段中,需要的时候,数据可以回滚恢复,而truncate命令删除的数据是不可以恢复的。

时间: 2024-12-31 16:20:51

用SQL删除数据的相关文章

SQL删除数据如何保证不写日志,并释放空间

问题描述 SQL删除数据如何保证不写日志,并释放空间 因为我们的数据量非常大,数据不断增长,所以决定对前面的历史数据进行删除, 但是已经设置了简单模式,发现日志文件依旧不断的增加,而原来数据库的空间 依旧没有变小,只有unallocated space有减少的趋势,求各位大神怎么解决 解决方案 truncate table XXX 解决方案二: truncate table XXX

mysql sql删除数据库命令

DROP DATABASE <database>   SHOW DATABASES; CREATE DATABASE myDatabase; SHOW DATABASES; drop database myDatabase; SHOW DATABASES;   常见问题解决 DROP 老是说 mysql教程> drop second; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual th

h2 删数据 sql优化-h2数据库删除数据速度问题

问题描述 h2数据库删除数据速度问题 想删除h2数据库中某个表部分数据,但该表中有八千万左右数据,如何删除符合要求的一小部分数据呢?比如删除name以abc开头的数据,因为h2数据库我是通过web打开查看的,普通的Sql语句要执行很长很长时间,而且经常报内存不足,各位大神有没有什么优化的方法???求指点呀 解决方案 http://www.lc365.net/blog/b/32424/ 解决方案二: 因为没分了,不过谢谢能回答,对我其他的一些地方有帮助

mysql教程删除数据sql语句用法

  mysql教程删除数据sql语句用法 DELETE FROM 语句用于从数据库表中删除记录. 语法 DELETE FROM table_name WHERE column_name = some_value 注释:SQL 对大小写不敏感.DELETE FROM 与 delete from 等效. 为了让 PHP 执行上面的语句,我们必须使用 mysql_query( 函数.该函数用于向 SQL 连接发送查询和命令. 例子 稍早时,我们在本教程中创建了一个名为 "Person" 的表

sql 删除重复数据

sql 删除重复数据 本文章提供一款mysql删除重复数据,就是数据表中存在二条以上的重复数据,删除编号最小的一条信息. delete `borough_name` as a from fke_borough as a, ( select *,min(id) from fke_borough group by `borough_name` having count(1) > 1 ) as b  where a.`borough_name` = b.`borough_name` and a.id

SQL删除重复数据方法

原文:SQL删除重复数据方法 例如: id           name         value 1               a                 pp 2               a                 pp 3               b                 iii 4               b                 pp 5               b                 pp 6            

SQL 触发器批量删除数据

问题描述 SQL 触发器批量删除数据 有A主表,B表为临时表两个表,两个表的结构完全相同,主键分别为ch_billno,ch_tableno,ssid,我想做一个触发器,当A表插入主键数据时,把临时表中存在相同主键的数据删除,插入数据的时候会用到sqlbulkcopy方式插入,只会引发一次insert操作. 解决方案 亲测可用, 楼主速速采纳吧, 呵呵 --1. 创建测试表 A,B 及测试数据 IF OBJECT_ID('dbo.A') IS NOT nuLL BEGIN DROP TABLE

sql删除重复数据的详细方法_MsSql

一. 删除完全重复的记录 完全重复的数据,通常是由于没有设置主键/唯一键约束导致的.测试数据: 复制代码 代码如下: if OBJECT_ID('duplicate_all') is not nulldrop table duplicate_all GO create table duplicate_all ( c1 int, c2 int, c3 varchar(100) ) GO insert into duplicate_all select 1,100,'aaa' union allse

sql删除数据库中所有表与数据语句

使用sql删除数据库中所有表是不难的,就是遍历一下数据库中所有用户表,并将它清除,下边是具体的sql语句,在关键部分已经作了详细的注释:  代码如下 复制代码 --变量@tablename保存表名 declare @tablename nvarchar(100) --将用户表全部保存到临时表#tablename中 SELECT [name] into #tablename FROM sysobjects WHERE type = 'U'; --当#tablename有数据时 while(sele