MySQL 删除数据表

MySQL 创建数据表

MySQL 插入数据

MySQL 删除数据表

MySQL中删除数据表是非常容易操作的,地面清洗13825404095但是你在进行删除表操作时要非常小心,因为执行删除命令后所有数据都会消失。

语法

以下为删除 MySQL 数据表的通用语法:

DROP TABLE table_name; -- 直接删除表,不检查是否存在

DROP TABLE [IF EXISTS] table_name; -- 会检查是否存在,如果存在则删除

参数说明:

table_name 是要删除的表的名称。

IF EXISTS 是一个可选的子句,表示如果表存在才执行删除操作,避免因为表不存在而引发错误。

-- 删除表,如果存在的话 DROP TABLE IF EXISTS mytable; -- 直接删除表,不检查是否存在 DROP TABLE mytable;

请替换 mytable 为你要删除的表的名称。

如果你只是想删除表中的所有数据,但保留表的结构,可以使用 TRUNCATE TABLE 语句:

TRUNCATE TABLE table_name;

这会清空表中的所有数据,但不会删除表本身。

注意事项:

备份数据:在删除表之前,确保已经备份了数据,如果你需要的话。

外键约束:如果该表与其他表有外键约束,可能需要先删除外键约束,或者确保依赖关系被处理好。

实例

以下实例删除了数据表 runoob_tbl:

实例

root@host# mysql -u root -p
Enter password:*******
mysql> USE RUNOOB;
DATABASE changed
mysql> DROP TABLE runoob_tbl;
Query OK, 0 ROWS affected (0.8 sec)
mysql>

使用 PHP 脚本删除数据表

PHP 使用 mysqli_query 函数来删除 MySQL 数据表。

该函数有两个参数,在执行成功时返回 TRUE,否则返回 FALSE。

语法 mysqli_query(connection,query,resultmode); 参数 描述
connection   必需。规定要使用的 MySQL 连接。  
query   必需,规定查询字符串。  
resultmode  

可选。一个常量。可以是下列值中的任意一个:

MYSQLI_USE_RESULT(如果需要检索大量数据,请使用这个)

MYSQLI_STORE_RESULT(默认)

 
实例

以下实例使用了 PHP 脚本删除数据表 runoob_tbl:

删除数据库

<?php$dbhost = 'localhost'; // mysql服务器主机地址$dbuser = 'root'; // mysql用户名$dbpass = '123456'; // mysql用户名密码$conn = mysqli_connect($dbhost, $dbuser, $dbpass); if(! $conn){die('连接失败: ' . mysqli_error($conn)); }echo'连接成功<br />'; $sql = "DROP TABLE runoob_tbl"; mysqli_select_db($conn, 'RUNOOB'); $retval = mysqli_query($conn, $sql); if(! $retval){die('数据表删除失败: ' . mysqli_error($conn)); }echo"数据表删除成功\n"; mysqli_close($conn); ?>

执行成功后,我们使用以下命令,就看不到 runoob_tbl 表了:

mysql> show tables; Empty set (0.01 sec)

AI 思考中...

MySQL 创建数据表

MySQL 插入数据

3 篇笔记 写笔记

#0

萌面超人

ykc***3329483@163.com

108

删除表内数据,用 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***3329483@163.com

7年前 (2018-01-26)

#0

Icoder

884***535@qq.com

36

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***535@qq.com

6年前 (2018-05-23)

#0

抹茶

173***2517@qq.com

16

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***2517@qq.com

5年前 (2019-07-15)

2024-10-15 11:01 点击量:9