数据删除:delete

--数据删除:在删除的时候需要询问是否真的需要删除?同时在之后的项目中,删除往往不是真的删除,而是做删除标记
--语法:
--delete from 表名 where 条件

delete from Teacher
--删除指定的人员信息
delete from Teacher where Id=26
--使用delete删除的特点:
--1.它是一条条记录进行删除。每一次的删除都需要将操作记录到日志文件中,效率不高。
--2.它不会让标识列重新从标识种子计算,而是继续之前的最后一条记录的标识列

--truncate table 表名 --没有条件
--1.一次性删除表的所有记录,不关注记录的数量,日志文件最小化写入方式,效率更高
--2.标识列会从标识种子重新计算
truncate table teacher

时间: 2024-10-26 13:55:34

数据删除:delete的相关文章

SQL中CRUD C——create 添加数据 R——read 读取数据 U——update 修改数据 D——delete 删除数据

在SQL server中对数据库的操作: 删除表:drop table 表名修改表:alter table 表名 添加列add 列名 列类型alter table 表名 drop column 列名 删除数据库drop database 数据库名 CRUD操作C——create 添加数据 R——read 读取数据 U——update 修改数据 D——delete 删除数据 1.添加数据insert into 表名 values('第一列值','第二列值')——数据库中用单引号 每一列都要添加 第

SQL从入门到基础 - 04 SQLServer基础2(数据删除、数据检索、数据汇总、数据排序、通配符过滤、空值处理、多值匹配)

一.数据删除 1. 删除表中全部数据:Delete from T_Person. 2. Delete 只是删除数据,表还在,和Drop Table(数据和表全部删除)不同. 3. Delete 也可以带where子句来删除一部分数据:Delete from T_Person where FAge>20. 二.数据检索 1. 执行备注中的代码创建测试数据表. 2. 简单的数据检索:select *from T_Employee(*表示所有字段) 3. 只检索需要的列:select FNumber

分区表的数据删除

问题:堆表按天做了分区,表中只保留最近7天的数据.最近发现此表的数据空间明显比之前大,之前2G:现在6G,持续关注几天表中记录数保持平衡,但数据空间却在进一步增长.对应表所在的文件组也不停在自增长.分析:使用sys.dm_db_index_physical_stats查看表的碎片情况,发现在已删除记录的分区中堆的区碎片(avg_fragmentation_in_percent).数据页总数(page_count)不为零.查看另一个库下此表的备份表(同为分区表,保留最近30天的数据),表的数据空间

ORACLE数据删除数据删除的解决办法

今天主要以oracle数据库为例,介绍关于表中数据删除的解决办法.(不考虑全库备份和利用归档日志)删除表中数据有三种方法:·delete(删除一条记录)·drop或truncate删除表格中数据 1.delete误删除的解决方法原理: 利用oracle提供的闪回方法,如果在删除数据后还没做大量的操作(只要保证被删除数据的块没被覆写),就可以利用闪回方式直接找回删除的数据具体步骤为: *确定删除数据的时间(在删除数据之前的时间就行,不过最好是删除数据的时间点) *用以下语句找出删除的数据:sele

一次oracle大量数据删除经历

oracle有个数据表现在已经有2500万条数据了,软件用到这个表的数据时就变的特别慢,所以准备把一个月以前的数据全部清除. 我的步骤是(下边操作都是在plsql中运行的) 1.首先 将这个月的数据导出到一个临时表中(这些数据是自己希望保留的) create table tempTable as select id,name from table1 where sj>to_date('2013-7-31 23:59:59','yyyy-mm-dd hh24:mi:ss'); 2.然后将2500万

Design7:数据删除设计

在设计一个新系统的Table Schema的时候,不仅需要满足业务逻辑的复杂需求,而且需要考虑如何设计schema才能更快的更新和查询数据,减少维护成本. 模拟一个场景,有如下Table Schema: Product(ID,Name,Description) 在设计思路上,ID是自增的Identity字段,用以唯一标识一个Product:在业务逻辑上要求Name字段是唯一的,通过Name能够确定一个Product.业务上和设计上有所冲突在所难免,解决冲突的方法其实很简单:将ID字段做主键,并创

sql server多个相同的数据删除

1:自己添加一个区别字段,判断区别字段进行删除 delete from (select ROW_NUMBER() over(partition by 代码 order by 时间 desc) as rows a,代码,时间 from 表) where a > 2 2:查询出表中多于1的数据,查询出区别,根据区别进行删除 select 区别字段 from 表 a right join (select 代码,MIN(时间) 最小时间 from 表 group by sddm having COUNT

记录数过亿条的表数据维护-数据删除

当一张表数据很大的时候,由于数据删除的时候时间会很长,事务很大,所需的undo段将会比较大,未提交的话,undo段数据会受到保护,这将影响其它事务的操作-执行时间会变长或者挂起,所以删除大表数据的时候尽量将大事务切分成小事务去做,下面的存储过程是删除表数据时没10万行一提交. declare cursor cur is select rowid from tab1 where   xx<nnn order by rowid; type rowid_table_type is  table  of

压缩Sqlite数据文件大小,解决数据删除后占用空间不变的问题

最近有一网站使用Sqlite数据库作为数据临时性的缓存,对多片区进行划分 Sqlite数据库文件,每天大概新增近1万的数据量,起初效率有明显的提高,但历经一个多月后数据库文件从几K也上升到了近160M,数据量也达到了 40多万条,平均每一条数据占用了 4K的空间,虽然使用上的效率直观上没有造成太大的影响,但服务器的占用内存却比原来多占用了20%左右.今天刚好打算清除一个Sqlite的冗余数据, 将保留最近10天的数据就可以了,结果执行了删除指令delete后删除30多万条数据保留了10多万数据,