MySQL 删除数据表
发布时间:2026-08-11 | 浏览:1
MySQL中删除数据表是非常容易操作的,但是你在进行删除表操作时要非常小心,因为执行删除命令后所有数据都会消失。
以下为删除 MySQL 数据表的通用语法:
table_name 是要删除的表的名称。
IF EXISTS 是一个可选的子句,表示如果表存在才执行删除操作,避免因为表不存在而引发错误。
请替换 mytable 为你要删除的表的名称。
如果你只是想删除表中的所有数据,但保留表的结构,可以使用 TRUNCATE TABLE 语句:
这会清空表中的所有数据,但不会删除表本身。
备份数据 :在删除表之前,确保已经备份了数据,如果你需要的话。
外键约束 :如果该表与其他表有外键约束,可能需要先删除外键约束,或者确保依赖关系被处理好。
以下实例删除了数据表 runoob_tbl:
PHP 使用 mysqli_query 函数来删除 MySQL 数据表。
该函数有两个参数,在执行成功时返回 TRUE,否则返回 FALSE。
可选。一个常量。可以是下列值中的任意一个:
MYSQLI_USE_RESULT(如果需要检索大量数据,请使用这个)
MYSQLI_STORE_RESULT(默认)
以下实例使用了 PHP 脚本删除数据表 runoob_tbl:
执行成功后,我们使用以下命令,就看不到 runoob_tbl 表了:
#0 萌面超人 ykc*** [email protected] 119 删除表内数据,用 delete 。格式为: delete from 表名 where 删除条件; 实例:删除学生表内姓名为张三的记录。 delete from student where T_name = "张三"; 清除表内数据,保存表结构,用 truncate 。格式为: truncate table 表名; 实例:清除学生表内的所有数据。 truncate table student; 删除表用 drop ,就是啥都没了。格式为: drop table 表名; 实例:删除学生表。 drop table student; 1、当你不再需要该表时, 用 drop ; 2、当你仍要保留该表,但要删除所有记录时, 用 truncate ; 3、当你要删除部分记录时, 用 delete 。 萌面超人 萌面超人 ykc*** [email protected] 9年前 (2018-01-26)
ykc*** [email protected]
删除表内数据,用 delete 。格式为:
实例:删除学生表内姓名为张三的记录。
清除表内数据,保存表结构,用 truncate 。格式为:
实例:清除学生表内的所有数据。
删除表用 drop ,就是啥都没了。格式为:
1、当你不再需要该表时, 用 drop ;
2、当你仍要保留该表,但要删除所有记录时, 用 truncate ;
3、当你要删除部分记录时, 用 delete 。
ykc*** [email protected]
#0 Icoder 884*** [email protected] 39 MySQL 删除表的几种情况: 1、 drop table table_name : 删除表全部数据和表结构,立刻释放磁盘空间,不管是 Innodb 和 MyISAM; 实例,删除学生表: drop table student; 2、 truncate table table_name : 删除表全部数据,保留表结构,立刻释放磁盘空间 ,不管是 Innodb 和 MyISAM; 实例,删除学生表: truncate table student; 3、 delete from table_name : 删除表全部数据,表结构不变,对于 MyISAM 会立刻释放磁盘空间,InnoDB 不会释放磁盘空间; 实例,删除学生表: delete from student; 4、 delete from table_name where xxx : 带条件的删除,表结构不变,不管是 innodb 还是 MyISAM 都不会释放磁盘空间; 实例,删除学生表中姓名为 "张三" 的数据: delete from student where T_name = "张三"; 5、delete 操作以后,使用 optimize table table_name 会立刻释放磁盘空间,不管是 innodb 还是 myisam; 实例,删除学生表中姓名为 "张三" 的数据: delete from student where T_name = "张三"; 实例,释放学生表的表空间: optimize table student; 6、 delete from 表以后虽然未释放磁盘空间,但是下次插入数据的时候,仍然可以使用这部分空间。 Icoder Icoder 884*** [email protected] 8年前 (2018-05-23)
884*** [email protected]
MySQL 删除表的几种情况:
1、 drop table table_name : 删除表全部数据和表结构,立刻释放磁盘空间,不管是 Innodb 和 MyISAM;
2、 truncate table table_name : 删除表全部数据,保留表结构,立刻释放磁盘空间 ,不管是 Innodb 和 MyISAM;
3、 delete from table_name : 删除表全部数据,表结构不变,对于 MyISAM 会立刻释放磁盘空间,InnoDB 不会释放磁盘空间;
4、 delete from table_name where xxx : 带条件的删除,表结构不变,不管是 innodb 还是 MyISAM 都不会释放磁盘空间;
实例,删除学生表中姓名为 "张三" 的数据:
5、delete 操作以后,使用 optimize table table_name 会立刻释放磁盘空间,不管是 innodb 还是 myisam;
实例,删除学生表中姓名为 "张三" 的数据:
6、 delete from 表以后虽然未释放磁盘空间,但是下次插入数据的时候,仍然可以使用这部分空间。
884*** [email protected]
#0 抹茶 173*** [email protected] 17 MySQL 数据库删除数据的三种方式: delete from table where 直接删除表中的某一行数据,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。所以 delete 相比较 truncate 更加占用资源,数据空间不释放,因为需回滚。对 table 和 view 都能操作。 truncate table 一次性地从表中删除所有的数据(释放存储表数据所用的数据页来删除数据)并不把单独的删除操作记录记入日志保存(只在事务日志中记录 页的释放),因此也不能回滚,不能恢复数据,在删除的过程中不会激活与表有关的删除触发器,占用资源更加少,速度更快。数据空间会释放,这个表和索引所占用的空间会恢复到初始大小。只能操作没有关联视图的 table。 truncate table 不能用于参与了索引视图的表。 drop table 删除的是整个表,包括表的结构,数据,定义。永久抹去,空间释放。对 table 和 view 都能操作。由于 TRUNCATE TABLE 不记录在日志中,所以它不能激活触发器,对于外键(foreignkey )约束引用的表,不能使用 truncate table,而应使用不带 where 子句的 delete 语句。 抹茶 抹茶 173*** [email protected] 7年前 (2019-07-15)
173*** [email protected]
MySQL 数据库删除数据的三种方式:
delete from table where
直接删除表中的某一行数据,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。所以 delete 相比较 truncate 更加占用资源,数据空间不释放,因为需回滚。对 table 和 view 都能操作。
一次性地从表中删除所有的数据(释放存储表数据所用的数据页来删除数据)并不把单独的删除操作记录记入日志保存(只在事务日志中记录 页的释放),因此也不能回滚,不能恢复数据,在删除的过程中不会激活与表有关的删除触发器,占用资源更加少,速度更快。数据空间会释放,这个表和索引所占用的空间会恢复到初始大小。只能操作没有关联视图的 table。
truncate table 不能用于参与了索引视图的表。
删除的是整个表,包括表的结构,数据,定义。永久抹去,空间释放。对 table 和 view 都能操作。由于 TRUNCATE TABLE 不记录在日志中,所以它不能激活触发器,对于外键(foreignkey )约束引用的表,不能使用 truncate table,而应使用不带 where 子句的 delete 语句。
173*** [email protected]
Python / 数据科学 Python 教程 Python2.x 教程 FastAPI 教程 Flask 教程 Django 教程 NumPy 教程 Pandas 教程 SciPy 教程 Matplotlib 教程 Dash 教程 Jupyter Notebook 教程 Pillow 教程 量化交易 R 教程 Julia 教程
Jupyter Notebook 教程
AI / 智能开发 AI Agent(智能体) AI(人工智能) Codex 教程 Vibe Coding 教程 Claude Code OpenCode Skills(技能) Ollama 教程 Hermes Agent Pi Agent AI 数学基础 TensorFlow 教程 PyTorch 教程 Scikit-learn 教程 机器 教程 LangChain 自然语言处理 NLP OpenCV 教程 Selenium 教程 Playwright 教程
Scikit-learn 教程
前端开发 HTML 教程 HTML5 教程 CSS 教程 CSS3 教程 JavaScript 教程 HTML DOM 教程 TypeScript 教程 AJAX 教程 JSON 教程 Tailwind CSS 教程 Bootstrap4 教程 Bootstrap5 教程 Foundation 教程 Vue.js 教程 Vue3 教程 React 教程 Next.js 教程 AngularJS 教程 Angular 教程 jQuery 教程 jQuery UI 教程 jQuery EasyUI 教程 ECharts 教程 Chart.js 教程 Highcharts 教程 Google 地图 教程 SVG 教程 Font Awesome 教程
Tailwind CSS 教程
jQuery EasyUI 教程
Font Awesome 教程
后端开发 Node.js 教程 Electron 教程 PHP 教程 Java 教程 Go 教程 Rust 教程 C# 教程 Servlet 教程 JSP 教程 ASP 教程 AppML 教程 VBScript 教程 Swagger 教程 RESTful API 教程 Docker 教程 Linux 教程 ZooKeeper 教程
数据库 SQL 教程 MySQL 教程 PostgreSQL 教程 SQLite 教程 MongoDB 教程 Redis 教程 Memcached 教程
移动开发 Android 教程 Flutter 教程 Ionic 教程 jQuery Mobile 教程 Swift 教程 Kotlin 教程
jQuery Mobile 教程
DevOps / 工程化 Git 教程 SVN 教程 CMake 教程 Maven 教程 VS Code 教程 Obsidian 教程 PyCharm 教程 Eclipse 教程 Markdown 教程
编程语言 C 教程 C++ 教程 Zig 教程 Scala 教程 Ruby 教程 Perl 教程 Lua 教程 Dart 教程 汇编语言 教程 Verilog 教程
计算机基础 计算机组成原理 数据结构与算法 C 语言数据结构与算法 设计模式 Python 设计模式 正则表达式 HTTP 教程 TCP/IP 教程 网络协议 W3C 教程
XML / Web Service XML 教程 DTD 教程 XML DOM 教程 XSLT 教程 XPath 教程 XQuery 教程 XLink 教程 XPointer 教程 XML Schema 教程 XSL-FO 教程 Web Service 教程 WSDL 教程 SOAP 教程 RSS 教程 RDF 教程
.NET ASP.NET 教程 MVC 教程 Razor 教程 Web Forms 教程 Web Pages 教程 PowerShell 教程
网站建设 网站建设指南 浏览器信息 网站主机教程 网站品质