广告
返回顶部
首页 > 资讯 > 数据库 >mysql如何删除数据表和关联的数据表删除详情
  • 149
分享到

mysql如何删除数据表和关联的数据表删除详情

mysql删除数据表mysql关联数据表删除 2022-07-26 12:07:31 149人浏览 独家记忆
摘要

目录前言一、Mysql删除没有被关联的表二、删除被其他表关联的主表前言 删除数据表的时候,表的定义和表中所有的数据均会被删除。因此,在进行删除操作前,最好对表中的数据做一个备份,以免造成无法挽回的后果。 mysql删除数

前言

删除数据表的时候,表的定义和表中所有的数据均会被删除。因此,在进行删除操作前,最好对表中的数据做一个备份,以免造成无法挽回的后果。

mysql删除数据表分为两种情况;

  • mysql删除没有关联的表;
  • mysql删除被关联的表;

下面我们就分别来看一下这两种情况;

一、mysql删除没有被关联的表

语法:

drop table [if exists] 表1, 表2,...,表n;

可以同时删除多个表,只需要将删除的表名依次写到后面就行,相互之间用逗号隔开即可。如果删除的表不存在会报错。

if exists用于在删除前判断被删除的表是否存在,加上该参数后,再删除表的时候,如果表不存在,sql不会报错,可以顺利执行下去,但是会发去警告(warning)。

举个栗子:

删除一个名为test_user_3的数据表;

执行sql语句;

mysql> drop table if exists test_user_3;
Query OK, 0 rows affected (0.02 sec)

mysql>

然后我们再次查看的时候,就会发现,这个表已经不见了;

mysql> show tables;
+-------------------+
| Tables_in_test_db |
+-------------------+
| test_dept |
| test_user |
| test_user_4 |
| test_user_5 |
| test_user_6 |
| test_user_7 |
| test_user_8 |
| test_user_9 |
| test_user_two |
+-------------------+
9 rows in set (0.00 sec)

mysql>

二、删除被其他表关联的主表

在两个数据表相互关联的情况下,如果直接删除主表,会显示失败,原因就是直接删除主表会破坏表的参照完整性

如果的确有删除主表的需求,可以先删除与它关联的子表,然后再删除父表,不过这样的话就同时删除了两个表中的数据。

因为我们有时候是要保留子表,仅仅是想要删除主表的数据的,那么我们应该如何处理呢?首先我们取消外键约束条件,然后就可以删除主表了。

举个栗子:

创建一个临时数据表,名字为ceshi_1,让他当做这个关联关系中的父表sql语句如下:

mysql> create table ceshi_1 (id INT primary key, name varchar(50), area varchar(50));
Query OK, 0 rows affected (0.04 sec)

mysql>

然后我们再创建一个临时数据表,名字为ceshi_2,让他当做这个关联关系中的子表sql语句如下;

mysql> create table ceshi_2 (id int primary key, name varchar(50), deptid int, constraint yunweijia_ceshi foreign key(deptid) references ceshi_1(id));
Query OK, 0 rows affected (0.05 sec)

mysql>

查看下我们新建的临时表ceshi_2的外键约束,结果:

mysql> show create table ceshi_2\G;
*************************** 1. row ***************************
Table: ceshi_2
Create Table: CREATE TABLE `ceshi_2` (
`id` int NOT NULL,
`name` varchar(50) DEFAULT NULL,
`deptid` int DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `yunweijia_ceshi` (`deptid`),
CONSTRAINT `yunweijia_ceshi` FOREIGN KEY (`deptid`) REFERENCES `ceshi_1` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
1 row in set (0.00 sec)

ERROR:
No query specified

mysql>

然后我们尝试删除这个父表ceshi_1

mysql> drop table ceshi_1;
ERROR 3730 (HY000): Cannot drop table 'ceshi_1' referenced by a foreign key constraint 'yunweijia_ceshi' on table 'ceshi_2'.
mysql>

可以看到他报错了,报错说的是ceshi_1中有一个外键名为yunweijia_ceshi,在ceshi_2中,所以删除失败了。

那么我们接下来接触下关联关系;

mysql> alter table ceshi_2 drop foreign key yunweijia_ceshi;
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql>

这个时候我们再次尝试删除下ceshi_1这个父表

mysql> drop table ceshi_1;
Query OK, 0 rows affected (0.02 sec)

mysql> show tables;
+-------------------+
| Tables_in_test_db |
+-------------------+
| ceshi_2 |
| test_dept |
| test_user |
| test_user_4 |
| test_user_5 |
| test_user_6 |
| test_user_7 |
| test_user_8 |
| test_user_9 |
| test_user_two |
+-------------------+
10 rows in set (0.00 sec)

mysql>

可以看到我们顺利的删除了名为ceshi_1父表,查看整个数据库中也没有了这个数据表。

到此这篇关于mysql如何删除数据表和关联的数据表删除详情的文章就介绍到这了,更多相关mysql删除数据表内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

您可能感兴趣的文档:

--结束END--

本文标题: mysql如何删除数据表和关联的数据表删除详情

本文链接: https://www.lsjlt.com/news/33463.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql如何删除数据表和关联的数据表删除详情
    目录前言一、mysql删除没有被关联的表二、删除被其他表关联的主表前言 删除数据表的时候,表的定义和表中所有的数据均会被删除。因此,在进行删除操作前,最好对表中的数据做一个备份,以免造成无法挽回的后果。 mysql删除数...
    99+
    2022-07-26
    mysql删除数据表 mysql关联数据表删除
  • MySQL如何删除多表关联
    这篇文章主要介绍MySQL如何删除多表关联,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 在MySQL中,删除关联的多张表,可以使用下面SQLmysql&...
    99+
    2022-10-18
  • MySQL如何删除表中的数据
    目录如何删除表中的数据一、delete删除表中的数据二、drop删除表中的数据三、truncate删除表中的数据删除表数据但不删除表结构SQL语句下面是两种SQL语句如何删除表中的数据 mysql删除表中的数据...
    99+
    2022-11-09
  • mysql删除不用表数据
    MySQL删除数据几种情况以及是否释放磁盘空间:1、drop table table_name 立刻释放磁盘空间 ,不管是 Innodb和MyISAM ; 2、truncate table tab...
    99+
    2022-10-18
  • mysql如何删除数据表中的行数据
    小编给大家分享一下mysql如何删除数据表中的行数据,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在mysql中可以使用DELE...
    99+
    2022-10-18
  • MySQL删除数据表的指令
    本篇内容介绍了“MySQL删除数据表的指令”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!MySQL 删除数...
    99+
    2022-10-18
  • mysql删除数据表的方法
    这篇文章主要介绍mysql删除数据表的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在mysql中可以使用“DROP TABLE”来删除一个或多个数据表,语法格式“DROP TA...
    99+
    2022-10-18
  • 删除mysql数据表如何操作
    MySQL中删除数据表是非常容易操作的, 但是你再进行删除表操作时要非常小心,因为执行删除命令后所有数据都会消失。 语法 以下为删除MySQL数据表的通用语法: DROP TABLE table_name...
    99+
    2022-05-20
    mysql 删除表
  • mysql删除表数据如何恢复
    目录实验模拟恢复实战常用参数选项解释不常用选项 实验模拟 该实验必须是mysql开启了binlog的情况。 binlog日志,即binary log,是二进制日志文件。它有两个作用, 一是增量备份,即只备份新增...
    99+
    2022-11-09
  • mysql如何删除数据库中的表
    小编给大家分享一下mysql如何删除数据库中的表,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!基本语法当需要删除一个表的时候,可...
    99+
    2022-10-18
  • mysql如何删除表的一行数据
    这篇文章主要讲解了“mysql如何删除表的一行数据”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql如何删除表的一行数据”吧! ...
    99+
    2022-10-19
  • mysql如何删除所有表的数据
    这篇“mysql如何删除所有表的数据”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“mysq...
    99+
    2023-04-22
    mysql
  • MySQL 删除表中的数据记录详解
      目录 前言言 一、删除表中的数据记录? 1.删除特定数据记录 2.删除所有数据记录 总结 前言         删除数据记录是数据操作中常见的操作,可以删除表中已经存在的数据记录。在MySQL中可以通过DELETE语句来删...
    99+
    2023-09-11
    mysql 数据库 sql
  • MySql中删除数据表的方法详解
    目录定义:1 删除一个或多个没有被其他表关联的数据表1.1 新建一张表1.2 执行删除命令1.3 结果检查2 删除被其他表关联的主表2.1 创建两张具有关联关系的表2.2 执行删除DROP TABLE命令2.3 取消外键...
    99+
    2022-08-09
    mysql怎么删除数据库中的表 mysql删除数据表的方法 MySQL删除数据表
  • 数据库如何删除表
    这篇文章主要介绍数据库如何删除表,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在数据库中,可以使用“DROP TABLE”语句来删除一个或多个数据表,具体语法“DROP TABLE ...
    99+
    2022-10-18
  • mysql如何删除数据表中的全部数据
    mysql如何删除数据表中的全部数据?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!mysql删除数据表中的全部数据的方法:...
    99+
    2022-10-18
  • mysql如何删除表中一行数据
    可以使用DELETE语句来删除表中的一行数据。DELETE FROM 表名 WHERE 条件;其中,表名是要删除数据...
    99+
    2023-10-07
    mysql
  • mysql删除表中数据的方法
    这期内容当中小编将会给大家带来有关mysql删除表中数据的方法,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。语句为“DELETE FROM 表名称 WHER...
    99+
    2022-10-18
  • 数据库中表和表数据如何删除恢复
    这篇文章主要介绍了数据库中表和表数据如何删除恢复,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 flashback table TABLE...
    99+
    2022-10-18
  • 如何删除mysql表中的一条数据
    要删除MySQL表中的一条数据,可以使用DELETE语句。以下是删除表中一条数据的基本语法:```DELETE FROM 表...
    99+
    2023-08-09
    mysql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作