欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySql中刪除數(shù)據(jù)表的方法詳解

 更新時間:2022年08月09日 08:51:13   作者:靜言善思  
這篇文章主要介紹了MySql中刪除數(shù)據(jù)表的方法的相關(guān)資料,作者講解的十分細(xì)致全面,這里推薦給大家,需要的朋友可以參考下

定義:

  刪除數(shù)據(jù)表就是將數(shù)據(jù)庫中已經(jīng)存在的表從數(shù)據(jù)庫中刪除。注意,在刪除表的同時,表的定義和表中所有的數(shù)據(jù)均會被刪除。因此,在進(jìn)行刪除操作前,最好對表中的數(shù)據(jù)做一個備份,以免造成無法挽回的后果。本節(jié)將詳細(xì)講解數(shù)據(jù)庫表的刪除方法。

1 刪除一個或多個沒有被其他表關(guān)聯(lián)的數(shù)據(jù)表

如果一個數(shù)據(jù)表沒有和其它表存在關(guān)聯(lián)關(guān)系,即刪除它自己對其它表沒有影響的話,可以借助DROP TABLE 。語法格式:

DROP TABLE [IF EXSITS] 表1 ,表2,...,表n ;

 解釋:表n”指要刪除的表的名稱,后面可以同時刪除多個表,只需將要刪除的表名依次寫在后面,相互之間用逗號隔開即可。如果要刪除的數(shù)據(jù)表不存在,則MySQL會提示一條錯誤信息,“ERROR 1051 (42S02): Unknown table '表名'”。參數(shù)“IF EXISTS”用于在刪除前判斷刪除的表是否存在,加上該參數(shù)后,再刪除表的時候,如果表不存在,SQL語句可以順利執(zhí)行,但是會發(fā)出警告(warning)

案例1:

1.1 新建一張表

CREATE TABLE tb_school (

id INT(10) PRIMARY KEY,
name VARCHAR(11)
)

1.2 執(zhí)行刪除命令

DROP TABLE IF EXISTS tb_school;

1.3 結(jié)果檢查

刪除前:

刪除后:

從執(zhí)行結(jié)果可以看到,數(shù)據(jù)表列表中已經(jīng)不存在名稱為tb_school的表,刪除操作成功。

2 刪除被其他表關(guān)聯(lián)的主表

在數(shù)據(jù)表之間存在外鍵關(guān)聯(lián)的情況下,如果直接刪除父表,結(jié)果會顯示失敗,原因是直接刪除將破壞表的參照完整性。如果必須要刪除,可以先刪除與它關(guān)聯(lián)的子表,再刪除父表,只是這樣就同時刪除了兩個表中的數(shù)據(jù)。有的情況下可能要保留子表,這時若要單獨刪除父表,只需將關(guān)聯(lián)的表的外鍵約束條件取消,然后就可以刪除父表了。

案例2 

2.1 創(chuàng)建兩張具有關(guān)聯(lián)關(guān)系的表

CREATE TABLE tb_school ( id INT ( 11 ) PRIMARY KEY, name VARCHAR ( 22 ) );

CREATE TABLE tb_classroom (
id  INT(11) PRIMARY KEY,
schoolId INT(11),

CONSTRAINT fk_emp_school FOREIGN KEY(schoolId) REFERENCES tb_school(id)
)

可以看到,以上執(zhí)行結(jié)果創(chuàng)建了兩個關(guān)聯(lián)表tb_school和表tb_classroom。其中,tb_classroom表為子表,具有名稱為fk_emp_school的外鍵約束;tb_school為父表,其主鍵id被子表tb_classroom所關(guān)聯(lián)。

2.2 執(zhí)行刪除DROP TABLE命令

執(zhí)行結(jié)果顯示無法刪除,原因是存在外鍵 關(guān)聯(lián)關(guān)系。這種情況下,有兩種處理方法:

一: 先刪除子表 tb_classroom ,再刪除 父表tb_school,可參考 1 方法,這里不再贅述

二:取消表之前外鍵關(guān)系,再執(zhí)行刪除。

2.3 取消外鍵關(guān)系,再刪除。

ALTER TABLE tb_classroom DROP FOREIGN KEY fk_emp_school

結(jié)果執(zhí)行成功后,再執(zhí)行刪除命令,顯示刪除成功。

相關(guān)文章

  • 有關(guān)SQL模糊查詢

    有關(guān)SQL模糊查詢

    在進(jìn)行數(shù)據(jù)庫查詢時,有完整查詢和模糊查詢之分,這里簡單介紹下,方便需要的朋友
    2006-12-12
  • MySql 5.7.17壓縮包免安裝的配置過程圖解

    MySql 5.7.17壓縮包免安裝的配置過程圖解

    這篇文章主要介紹了MySql 5.7.17壓縮包免安裝的配置過程圖解,本文圖文并茂給大家介紹的非常詳細(xì),感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧
    2018-05-05
  • 一文搞懂什么是MySQL前綴索引

    一文搞懂什么是MySQL前綴索引

    所謂前綴索引,說白了就是對文本的前幾個字符建立索引,有點類似于?Oracle?中對字段使用?Left?函數(shù)來建立函數(shù)索引,只不過?MySQL?的這個前綴索引在查詢時是內(nèi)部自動完成匹配的。本文將通過示例詳細(xì)聊聊前綴索引,需要的可以參考一下
    2022-09-09
  • Mysql怎么存儲json格式數(shù)據(jù)詳解

    Mysql怎么存儲json格式數(shù)據(jù)詳解

    在開發(fā)中遇到存取html值的情況,并且要根據(jù)id進(jìn)行實時返回,在做的時候想到了mysql的json類型存儲,下面這篇文章主要給大家介紹了關(guān)于Mysql怎么存儲json格式數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下
    2022-06-06
  • Mysql創(chuàng)建視圖中文亂碼如何修改docker里的配置

    Mysql創(chuàng)建視圖中文亂碼如何修改docker里的配置

    這篇文章主要介紹了Mysql創(chuàng)建視圖中文亂碼如何修改docker里的配置,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-10-10
  • MySQL存儲過程輸入?yún)?shù)(in),輸出參數(shù)(out),輸入輸出參數(shù)(inout)

    MySQL存儲過程輸入?yún)?shù)(in),輸出參數(shù)(out),輸入輸出參數(shù)(inout)

    這篇文章主要介紹了MySQL存儲過程輸入?yún)?shù)(in),輸出參數(shù)(out),輸入輸出參數(shù)(inout),存儲過程就是一組SQL語句集,功能強(qiáng)大,可以實現(xiàn)一些比較復(fù)雜的邏輯功能,類似于JAVA語言中的方法;Python里面的函數(shù)
    2022-07-07
  • mysql8.0.12如何重置root密碼

    mysql8.0.12如何重置root密碼

    這篇文章主要為大家詳細(xì)介紹了mysql8.0.12如何重置root密碼,文中安裝步驟介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • MySQL查看和修改最大連接數(shù)的方法步驟

    MySQL查看和修改最大連接數(shù)的方法步驟

    使用MySQL 數(shù)據(jù)庫的站點,當(dāng)訪問連接數(shù)過多時,就會出現(xiàn) "Too many connections" 的錯誤,所以我們需要設(shè)置MySQL查看和修改最大連接數(shù),具有一定的參考價值,感興趣的可以了解一下
    2023-10-10
  • MySQL修改存儲過程的詳細(xì)步驟

    MySQL修改存儲過程的詳細(xì)步驟

    這篇文章主要給大家介紹了關(guān)于MySQL修改存儲過程的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • MySQL庫操作和表操作詳細(xì)圖文教程

    MySQL庫操作和表操作詳細(xì)圖文教程

    在MySQL數(shù)據(jù)庫中表是一種很重要的數(shù)據(jù)庫對象,是組成數(shù)據(jù)庫的基本元素,由若干個字段組成,主要用來實現(xiàn)存儲數(shù)據(jù)記錄,這篇文章主要給大家介紹了關(guān)于MySQL庫操作和表操作的相關(guān)資料,需要的朋友可以參考下
    2023-12-12

最新評論