目錄
mysql刪除資料表
1.刪除沒有被關聯的表
2.刪除被其他表關聯的主表
在 mysql中,使用drop table可以一次刪除乙個或多個沒有被其他表關聯的資料表。語法格式如下:
drop table [if exists] 表1,表2,...表n;
其中「表n」指要刪除的表的名稱,後面可以同時刪除多個表,只需將要刪除的表名依次寫在後面,相互之間用逗號隔開即可。如果要刪除的資料表不存在,則 mysql會提示一條錯誤資訊,「 error 1051(42s02): unknown table '表名'」。引數「if exists」用於在刪除前判斷刪除的表是否存在,加上該引數後,再刪除表的時候,如果表不存在,sql語句可以順利執行,但是會發出警告(warning)。
【例子】刪除資料表tb_emp2,sql語句如下:
mysql> drop tables if exists tb_emp2;
query ok, 0 rows affected (0.22 sec)
mysql> show tables;
+-------------------+
| tables_in_test_db |
+-------------------+
| tb_dept1 |
| tb_emp1 |
| tb_emp5 |
+-------------------+
3 rows in set (0.00 sec)
資料表之間存在外來鍵關聯的情況下,如果直接刪除父表,結果會顯示失敗。原因是直接刪除,將破壞表的參照完整性。如果必須要刪除,可以先刪除與它關聯的子表,再刪除父表,只是這樣同時刪除了兩個表中的資料。但有的情況下可能要保留子表,這時如要單獨刪除父表,只需將關聯的表的外來鍵約束條件取消,然後就可以刪除父表,下面講解這種方法。 在資料庫中建立兩個關聯表,首先,建立表 tb_dept2,sql語句如下:
mysql> create table tb_dept2(
-> id int(11) primary key,
-> name varchar(22),
-> loaction varchar(50));
query ok, 0 rows affected (0.12 sec)
建立表tb_emp2,sql語句如下:
mysql> create table tb_emp2(
-> id int(11) primary key,
-> name varchar(25),
-> deptid int(11),
-> salary float,
-> constraint fk_emp_dept foreign key(deptid) references tb_dept2(id)
-> );
query ok, 0 rows affected (0.10 sec)
先解除關聯子表tb_emp2的外來鍵約束
mysql> alter table tb_emp2 drop foreign key fk_emp_dept;
query ok, 0 rows affected (0.20 sec)
records: 0 duplicates: 0 warnings: 0
mysql> show create table tb_emp2\g;
*************************** 1. row ***************************
table: tb_emp2
create table: create table `tb_emp2` (
`id` int(11) not null,
`name` varchar(25) character set latin1 default null,
`deptid` int(11) default null,
`salary` float default null,
primary key (`id`),
key `fk_emp_dept` (`deptid`)
) engine=innodb default charset=utf8
1 row in set (0.00 sec)
再刪除**tb_emp2
mysql> drop table tb_emp2;
query ok, 0 rows affected (0.07 sec)
mysql> show tables;
+-------------------+
| tables_in_test_db |
+-------------------+
| tb_dept1 |
| tb_dept2 |
| tb_emp1 |
| tb_emp5 |
+-------------------+
4 rows in set (0.00 sec)
MySQL 刪除資料表
mysql中刪除資料表是非常容易操作的,但是你再進行刪除表操作時要非常小心,因為執行刪除命令後所有資料都會消失。以下為刪除mysql資料表的通用語法 drop table table name 以下例項刪除了資料表runoob tbl root host mysql u root penter pa...
MySQL 刪除資料表
mysql中刪除資料表是非常容易操作的,但是你再進行刪除表操作時要非常小心,因為執行刪除命令後所有資料都會消失。以下為刪除mysql資料表的通用語法 drop table table name 在mysql 命令提示視窗中刪除資料表sql語句為drop table 以下例項刪除了資料表tutoria...
mysql 刪除表 命令 MySQL 刪除資料表
mysql 刪除資料表 mysql中刪除資料表是非常容易操作的,但是你再進行刪除表操作時要非常小心,因為執行刪除命令後所有資料都會消失。語法以下為刪除mysql資料表的通用語法 drop table table name 在命令提示視窗中刪除資料表 在mysql 命令提示視窗中刪除資料表sql語句為...