Mysql 删除表中“DROP TABLE IF EXISTS `A`” 这个语句是什么意思?

Mysql 删除表中“DROP TABLE IF EXISTS `A`” 这个语句是什么意思?,第1张

删除表

Exists 方法 描述如果在 Dictionary 对象中指定的关键字存在,则返回 True,若不存在,则返回 False。(这句不是词语解释,这是数据库方法的名称!)

一般drop table if exists是数据库里面的,后面接表名,如:drop table if exists xxx_book

其意思是:如果数据库中存在xxx_book表,就把它从数据库中drop掉。备份sql中一般都有这样的语句,如果是数据库中有这个表,先drop掉,然后create表,然后再进行数据插入。

拓展:

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。

数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。

DROP

[TEMPORARY]

TABLE

[IF

EXISTS]

tbl_name

[,

tbl_name]

...

[RESTRICT

|

CASCADE]DROP

TABLE用于取消一个或多个表。您必须有每个表的DROP权限。所有的表数据和表定义会被取消,所以使用本语句要小心!注意,对于一个带分区的表,DROP

TABLE会永久性地取消表定义,取消各分区,并取消储存在这些分区中的所有数据。DROP

TABLE还会取消与被取消的表有关联的分区定义(.par)文件。对与不存在的表,使用IF

EXISTS用于防止错误发生。当使用IF

EXISTS时,对于每个不存在的表,会生成一个NOTE。RESTRICT和CASCADE可以使分区更容易。目前,RESTRICT和CASCADE不起作用。

MySQL 需要创建隐式临时表来解决某些类型的查询。往往查询的排序阶段需要依赖临时表。例如,当您使用 GROUP BY,ORDER BY 或DISTINCT 时。这样的查询分两个阶段执行:首先是收集数据并将它们放入临时表中,然后是在临时表上执行排序。

对于某些 UNION 语句,不能合并的 VIEW,子查询时用到派生表,多表 UPDATE 以及其他一些情况,还需要使用临时表。如果临时表很小,可以到内存中创建,否则它将在磁盘上创建。MySQL 在内存中创建了一个表,如果它变得太大,就会被转换为磁盘上存储。内存临时表的最大值由 tmp_table_size 或 max_heap_table_size 值定义,以较小者为准。MySQL 5.7 中的默认大小为 16MB。如果运行查询的数据量较大,或者尚未查询优化,则可以增加该值。设置阈值时,请考虑可用的 RAM 大小以及峰值期间的并发连接数。你无法无限期地增加变量,因为在某些时候你需要让 MySQL 使用磁盘上的临时表。

注意:如果涉及的表具有 TEXT 或 BLOB 列,则即使大小小于配置的阈值,也会在磁盘上创建临时表。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8522003.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-17
下一篇 2023-04-17

发表评论

登录后才能评论

评论列表(0条)

保存