10

删除MySQL表的SQL语句-DROP-TABLE-简介

 4 years ago
source link: https://renfufei.blog.csdn.net/article/details/103483079
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

删除MySQL表的SQL语句-DROP-TABLE-简介

original.png
铁锚 2019-12-10 21:11:15 articleReadEyes.png 3825

辨析: 在SQL中, DROP 用于删除表结构等信息, 属于数据格式定义 DDL的范畴;
DELETE 用于删除数据,属于数据内容操作 DML 的范畴。

官方给出的 DROP 关键字删除表结构的语法如下:

DROP [TEMPORARY] TABLE [IF EXISTS]
    tbl_name [, tbl_name] ...
    [RESTRICT | CASCADE]

当然, 删除表结构需要你使用的数据库账号具有对应的权限。

从中可以看出, DROP TABLE 可以一次性删除多个表结构, 用逗号分隔即可。

带上 IF EXISTS 条件则可以避免报错,将错误信息转换为警告。

如果不带 if 判断,假如有一个表不存在,则会连带当前这条SQL语句操作失败, 也就不会有Table被删除。

DROP TABLE IF EXISTS `t_test_user`;
DROP TABLE IF EXISTS `t_test_role`;
DROP TABLE IF EXISTS `t_test_user`, `t_test_role`;

既然表都被删除了,那么里面的数据自然也就没了,所以定时备份,以及操作前的备份都很重要。

  • 如果删除的表是分区表(partition), 则会删除表定义,对应的分区以及所有数据。

  • 如果有触发器和索引,也都会一起删除。

  • 但是对表的授权不会被连带删除。 这也很合理,测试环境中删表之后一般都是为了重建这个表。

  • 默认 DROP 语句会将当前连接中的事务提交。

原则上,在如今的MySQL开发中, 不准使用存储过程/触发器/外键/分区表/大批量数据更新/无主键等等情况。

如果带上 TEMPORARY 关键字,则只会删除临时表,而且不会自动提交事务。 临时表只有当前会话可见,所以也就没必要进行权限检查。

RESTRICTCASCADE 关键字在MySQL中则没什么用,只是为了兼容其他数据库迁移等情况而加上的,有这个也不报错。

官方文档: https://dev.mysql.com/doc/refman/8.0/en/drop-table.html


Recommend

  • 4

    查看mysql执行sql语句中慢的部分 作者: wencst 分类: Uncategorized,数...

  • 8
    • www.wencst.com 4 years ago
    • Cache

    查看mysql已经执行过的sql语句

    查看mysql已经执行过的sql语句 作者: wencst 分类: Uncategorized,数据...

  • 18
    • blog.csdn.net 3 years ago
    • Cache

    MySQL高级SQL语句

    MySQL高级SQL语句 use kgc; create table location (Region char(20),store_name char(20)); insert into location values ('East','Boston') ; insert into location values ('East','New York'); insert into location values ('west','Los...

  • 7
    • blog.csdn.net 3 years ago
    • Cache

    Mysql高阶sql语句

    以下两个表格做讲解

  • 9
    • blog.51cto.com 3 years ago
    • Cache

    MySQL高级(进阶) SQL 语句二

    MySQL高级(进阶) SQL 语句二 推荐 原创 呼噜呼噜懒洋洋 2022-03-08 22:30:29...

  • 5
    • blog.51cto.com 3 years ago
    • Cache

    MySQL高级(进阶) SQL 语句一

    MySQL高级(进阶) SQL 语句一 原创 呼噜呼噜懒洋洋 2022-03-08 22:07:01...

  • 6
    • forrestsu.github.io 2 years ago
    • Cache

    MySQL: 一条SQL语句是如何执行的?

    MySQL: 一条SQL语句是如何执行的? 2019年10月11日 | 字数 207 |

  • 9
    • jiawea.github.io 2 years ago
    • Cache

    MySQL是如何执行SQL更新语句的

    用了这么久数据库,却不知道数据库是如何执行我们输入的语句的,经过一番查阅后,记录下执行一条查询和更新SQL语句后,MySQL是如何工作的。 SQL语句基本的执行链路: 1 查询语句是如何执行一条查询语句的执行过程一般是经过连接器、...

  • 12

    MySQL客户端工具的使用 1、MySQL程序的组成 mysql:CLI交互式客户端程序 mycli:CLI交互式客户端程序;使用sql语句时会有提示信息 mysql_secure_installation:安全...

  • 5

    Python基础之MySQL数据库 一、SQL语句常用查询方法 前期数据准备 ​ 为了更加直观的展示、演示SQL语句查询关键字,需导入下列表...

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK