数据库如何删除数据

article/2025/10/23 8:24:21

1、drop (删除表):删除内容和定义,释放空间。简单来说就是把整个表去掉.以后要新增数据是不可能的,除非新增一个表。
drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger)索引(index);依赖于该表的存储过程/函数将被保留,但其状态会变为:invalid。

2、truncate (清空表中的数据):删除内容、释放空间但不删除定义(保留表的数据结构)。与drop不同的是,只是清空表数据而已。
注意:truncate 不能删除行数据,要删就要把表清空。

3、delete (删除表中的数据):delete 语句用于删除表中的行。delete语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存
以便进行进行回滚操作

例子:DELETE删除语句

DELETE FROM table_name
WHERE condition;

DELETE FROM Customers
WHERE CustomerName='Alfreds Futterkiste';

2.truncat语句

[ { database_name.[ schema_name ]. | schema_name . } ]
    table_name
[ ; ]

3.drop语句

DROP TABLE table_name

DROP DATABASE database_name

truncate注意事项
无论怎样,truncate表都是高危操作,特别是在生产环境要更加谨慎使用,下面列出几点注意事项。

Truncate Table 删除表中的所有行,但表结构及其列、约束、索引等保持不变。新行标识所用的计数值重置为该列的种子。如果想保留标识计数值,请改用 Delete 。如果要删除表定义及其数据,请使用 DROP TABLE 语句。
对于由 Foreign Key (外键)  约束引用的表,不能使用 Truncate Table,而应使用不带 Where子句的 Delete 语句。由于 Truncate Table 不记录在日志中,所以它不能激活触发器。
Truncate Table 不能用于参与了索引视图的表。
对用 Truncate Table 删除数据的表增加数据时,要使用Update Statistics 来维护索引信息。
如果有 Rollback 语句,Delete 操作将被撤销,但 Truncate 不会撤销。
执行 Truncate 需要 drop权限,不建议给账号drop权限;执行 Truncate 前一定要再三检查确认,最好提前备份下表数据。

综合比较:

要删除表用Drop;若想保留表而将表中数据删除,如果于事务无关,用truncate即可实现。如果和事务有关,或是想触发trigger,还是用delete。
在没有备份情况下,谨慎使用Drop 与 Truncate。要删除部分数据行采用Delete且注意结合where来约束影响范围。回滚段要足够大。
Truncate TABLE 删除表中的所有行,但表结构及其列、约束、索引等保持不变。新行标识所用的计数值重置为该列的种子。如果想保留标识计数值,请改用 Delete。如果要删除表定义及其数据,请使用 Drop TABLE 语句。
TruncateE只能对TABLE,Delete可以是TABLE和VIEW,Truncate和Delete只删除数据,Drop则删除整个表(结构和数据)。

总结:

1、在速度上,一般来说,drop> truncate > delete。
2、在使用drop和truncate时一定要注意,虽然可以恢复,但为了减少麻烦,还是要慎重。
3、如果想删除部分数据用delete,注意带上where子句,回滚段要足够大;


http://chatgpt.dhexx.cn/article/wPqr8GFG.shtml

相关文章

Mongo删除数据库/集合

Mongo 删除数据库/集合 1.使用mongo 连接数据库 2.show dbs 查看所有的数据库 3.删除mongo数据库 1.先切换到mongo数据库 use mongo 2.执行 db.dropDatabase()命令 结果:{ "dropped" : "mongo", "ok" : 1 } 3.执行show dbs 发现mongo库已被删…

mysql 如何删除数据库中所有的表

方法1: SELECT concat(DROP TABLE IF EXISTS , table_name, ;) FROM information_schema.tables WHERE table_schema mydb;mydb换成你想删除的数据库的名字 这样可以生成一个批量处理的sql语句,你需要再运行一次这个结果集 就可以删除所有的表而不删除…

Oracle数据库----删除数据库

一、使用DBCA删除数据库 1、单击“开始”→“Oracle_OraDB12Home1”→“Database Configuration Assistant”,进入删除步骤的第一步,选择“删除数据库”。 2、单击“下一步”按钮,如图所示。在数据库列表中选择需要删除的数据,例…

PostgreSql强制删除数据库的操作

记得先断开数据库 先执行这个SQL语句 SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity WHERE datname你的数据库的名字 AND pid<>pg_backend_pid();再执行 DROP DATABASE 你的数据库的名字;

MySQL删除数据库的命令_删除数据库的命令是什么?

删除数据库的命令是“DELETE DATA”,具体格式为“DROP DATABASE [IF EXISTS] 数据库名;”,可以删除数据库中的所有表格并同时删除数据库。如果要使用“DROP DATABASE”,需要获得数据库DROP权限。 当数据库不再使用时应该将其删除,以确保数据库存储空间中存放的是有效数据。…

MySQL 删除数据库

使用普通用户登陆 MySQL 服务器&#xff0c;你可能需要特定的权限来创建或者删除 MySQL 数据库&#xff0c;所以我们这边使用 root 用户登录&#xff0c;root 用户拥有最高权限。 当数据库不再使用时应该将其删除&#xff0c;以确保数据库存储空间中存放的是有效数据。删除数据…

删除数据库的外键

注意&#xff1a; 删除外键的表名是添加外键的 “表1名”&#xff1b;删除外键的表的外键名与添加外键的外键名在这里是不同的&#xff0c;删除使用的外键名是上图所示的黄框中的 text1_ibfk_1 这个字段&#xff1b; 也可以使用命令&#xff1a;SHOW CREATE TABLE 表名&#xf…

mysql如何drop数据库_MySQL如何删除数据库

MySQL删除数据库的方法:1、使用drop命令删除数据库,代码为【drop database ;】;2、使用PHP脚本删除,代码为【mysqli_query(connection,query,resultmode);】。 MySQL删除数据库的方法: 1、drop 命令删除数据库 drop 命令格式:drop database ; 例如删除名为 RUNOOB 的数据…

MSSQL删除数据库失败

错误&#xff1a; 在文件’D:)SubHealth)\DataFile.mdf’中、偏移里为0x00000000350000 的信署执行读助期间&#xff0c;损作系统已经向SQL Server诚回了错误21(语备未就绪。)。SOL server错馍白羔新福作玄红语"误白恙中的其他消息可能会渠位审山谨细管。桌二个或胁赴摇左…

如何将数据库删除干净

1.在控制面板中选择卸载程序&#xff0c;将有关mysql的东西都删除干净。 注意在这里可能不止这一处与mysql 有关 &#xff0c;注意查看自己的软件的信息只要带mysql这几个字母的都卸载掉。 2.在注册表编辑器中将有关mysql的文件删除掉 windowr 打开注册表编辑器 查找地址为&a…

数据库的3种删除方法

1. Delete &#xff1a;删除数据表中的行&#xff08;可以删除某一行&#xff0c;也可以在不删除数据表的情况下删除所有行&#xff09;。 删除某一行&#xff1a;Delete from 数据表名称 where 列名称值&#xff1b; 删除所有行&#xff1a;Delete * from 数据表名称 delet…

用200行C语言代码实现贪吃蛇——2.0(EasyX基本版)

1.前言 这个版本使用了EasyX图形库&#xff0c;使动画效果更加丰富&#xff0c;更加接近真实的小游戏。当然这个“小游戏”并不是真正意义上的小游戏&#xff0c;只是个人对C语言的一些理解与应用。本人水平不高&#xff0c;通过博客来分享自己的学习成果&#xff0c;也算是一…

C语言,234行代码控制台贪吃蛇

结果图&#xff1a; 先上全代码: #include <stdio.h> #include <Windows.h>//移动光标 #include <stdlib.h> #include <time.h>//使用时间戳创建随机数种子 #include <conio.h>//监听键盘#define WIDE 50//定义地图宽度 #define HIGH 28//定义地…

贪吃蛇c语言源代码彩色版,贪吃蛇C语言源代码

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include #include #include typedef struct snake { int a; int b; struct snake *u; struct snake *n; }snake,*snake1; typedef struct food { int a; int b; }food; void main() { char c,c0 d; int i,j,k,n1,t,at;…

C语言贪吃蛇游戏代码,贪吃蛇C语言代码实现大全

一、C语言贪吃蛇代码实现前言 设计贪吃蛇游戏的主要目的是让大家夯实C语言基础&#xff0c;训练编程思维&#xff0c;培养解决问题的思路&#xff0c;领略多姿多彩的C语言。 贪吃蛇是非常经典的一款游戏&#xff0c;本次我们模拟在控制台实现贪吃蛇游戏&#xff0c;也就是实现…

C语言入门项目篇:贪吃蛇(完整代码+详细注释)

C语言入门项目篇:贪吃蛇 可直接运行。 #include <stdio.h> #include <stdlib.h> #include <windows.h> #include <time.h> #include <conio.h> /*大一上的时候C语言入门学的一个小游戏。还是挺有意思的&#xff0c;有兴趣的同学可以继续优化下&…

完整!贪吃蛇游戏c语言代码分享(包括界面,计数,提示)

最近看到身边有些朋友抱怨&#xff0c;网上的贪吃蛇项目完整源码太少&#xff0c;或者说运行不了&#xff0c;甚至还有花钱购买的情况&#xff0c;作为你们的过来人&#xff0c;学长了解你们期末考试的苦&#xff0c;今天的博客我就不啰嗦&#xff0c;我直接放代码给你们。 所有…

C7-如何学好C语言

1&#xff1a;必须实践--敲代码 2&#xff1a;画图理解--内存布局 3&#xff1a;调试&#xff01;调试&#xff01; 课本推荐&#xff1a;

学好C语言从关键字开始

目录 1、C语言数据类型 2、变量的命名规则 3、最冤枉的关键字——sizeof 4、signed和unsigned 原、反、补 深入理解变量内容的存入和取出 大小端 1、C语言数据类型 在学习C语言数据类型之前&#xff0c;我们得先了解&#xff1a;为什么要有类型&#xff1f; 类型为什…

【c语言】如何学好c语言?c语言应该怎么去学?

大家好&#xff0c;我是想要慢慢变得优秀的向阳同学&#xff0c;谢谢大家的支持&#xff01;让我这个菜鸟博主可以有非常开心的收获1000的浏览量和200的粉丝&#xff01;我也会不断努力去持续分享一下高质量的博客内容的&#xff01;再次感谢大家的支持&#xff01;如果觉得我的…