Trong hướng dẫn này, bạn sẽ học cách sử dụng câu lệnh DROP TABLE để xóa một hoặc nhiều bảng khỏi cơ sở dữ liệu.
Bạn đang xem : xóa bảng trong mysql
Tóm tắt : trong này hướng dẫn này, bạn sẽ học cách sử dụng câu lệnh MySQL DROP TABLE
để xóa một bảng khỏi cơ sở dữ liệu.
Cú pháp câu lệnh MySQL DROP TABLE
h2 >
Để xóa các bảng hiện có, bạn sử dụng câu lệnh MySQL DROP TABLE
.
Đây là cú pháp cơ bản của câu lệnh DROP TABLE
: < / p>
THẢ
[TẠM THỜI
]BẢNG
[NẾU
TỒN TẠI
] table_name [, table_name] ... [HẠN CHẾ |CASCADE
]Ngôn ngữ mã:
SQL (Ngôn ngữ truy vấn có cấu trúc)
(
sql
)
Câu lệnh DROP TABLE
xóa vĩnh viễn một bảng và dữ liệu của nó khỏi cơ sở dữ liệu. Trong MySQL, bạn cũng có thể xóa nhiều bảng bằng một câu lệnh DROP TABLE
, mỗi bảng được phân tách bằng dấu phẩy (,).
TEMPORARY
chỉ cho phép bạn xóa bảng tạm thời . Nó đảm bảo rằng bạn không vô tình xóa các bảng không phải tạm thời.
Tùy chọn IF EXISTS
chỉ xóa một bảng có điều kiện nếu nó tồn tại. Nếu bạn thả một bảng không tồn tại với tùy chọn IF EXISTS
, MySQL tạo ra một LƯU Ý, có thể được truy xuất bằng câu lệnh SHOW WARNINGS
.
Lưu ý rằng câu lệnh DROP TABLE
chỉ đưa ra các bảng. Nó không xóa các đặc quyền người dùng cụ thể được liên kết với các bảng. Do đó, nếu bạn tạo một bảng có cùng tên với bảng đã bị loại bỏ, MySQL sẽ áp dụng các đặc quyền hiện có cho bảng mới, điều này có thể gây ra rủi ro bảo mật.
RESTRICT
và các tùy chọn CASCADE
được dành riêng cho các phiên bản sau của MySQL.
Để thực thi câu lệnh DROP TABLE
, bạn phải có DROP code > các đặc quyền cho bảng mà bạn muốn xóa.
Ví dụ về DROP TABLE
trong MySQL
Hãy lấy một số ví dụ về việc sử dụng DROP TABLE code> câu lệnh.
A) Sử dụng MySQL DROP TABLE
để thả một ví dụ bảng duy nhất
Đầu tiên, hãy tạo một bảng có tên insurances code > cho mục đích thử nghiệm:
TẠO
BẢNG
bảo hiểm (id
INT
AUTO_INCREMENT, titleVARCHAR
(100
)KHÔNG
KHÔNG ĐẦY ĐỦ
, hiệu quảthời lượng
INT
KHÔNG
KHÔNG ĐẦY ĐỦ
, số tiềnDEC
(10
,2
) < p class = "hljs-keyword"> KHÔNGKHÔNG ĐỦ
, CHÍNHKEY
(id
) );Ngôn ngữ mã:
SQL (Ngôn ngữ truy vấn có cấu trúc)
(
sql
)
Thứ hai , sử dụng DROP TABLE
để xóa bảng insurances
:
DROP
BẢNG
;Ngôn ngữ mã:
SQL (Ngôn ngữ truy vấn có cấu trúc)
(
sql
)
A) Sử dụng MySQL DROP TABLE
để thả nhiều bảng
Đầu tiên, tạo hai bảng có tên CarAccessories
và CarGadgets
:
TẠO
BẢNG
CarAccessories (id
INT
AUTO_INCREMENT,tên
VARCHAR
(100
)KHÔNG
KHÔNG ĐỦ
, priceDEC
(10
,2
) < p class = "hljs-keyword"> KHÔNGKHÔNG ĐỦ
, CHÍNHKEY
(id
) );TẠO
BẢNG
CarGadgets (id
INT
AUTO_INCREMENT,name
VARCHAR
(100
)KHÔNG
KHÔNG ĐỦ
, priceDEC
(10
,2
) < p class = "hljs-keyword"> KHÔNGKHÔNG ĐỦ
, CHÍNHKEY
(id
) );Ngôn ngữ mã:
SQL (Ngôn ngữ truy vấn có cấu trúc)
(
sql
)
Thứ hai , sử dụng câu lệnh DROP TABLE
để loại bỏ hai bảng:
< p class = "hljs-keyword"> DROP
BẢNG
CarAccessories, CarGadgets;Ngôn ngữ mã:
SQL (Ngôn ngữ truy vấn có cấu trúc)
(
sql
)
C) Sử dụng MySQL DROP TABLE
để thả một bảng không tồn tại
Câu lệnh này cố gắng loại bỏ một bảng không tồn tại:
DROP
BẢNG
ali ens;Ngôn ngữ mã:
SQL (Ngôn ngữ truy vấn có cấu trúc)
(
sql
)
MySQL đã phát hành lỗi sau:
Mã Lỗi: 1051. Bảng không xác định 'classicmodels.aliens'
Ngôn ngữ mã:
SQL (Ngôn ngữ truy vấn có cấu trúc)
(
sql
)
Tuy nhiên, nếu bạn sử dụng tùy chọn IF EXISTS
trong câu lệnh DROP TABLE
:
DROP
BẢNG
IF p >
TỒN TẠI
người ngoài hành tinh;Ngôn ngữ mã:
SQL (Ngôn ngữ truy vấn có cấu trúc)
(
sql
)
Thay vào đó, MySQL đã đưa ra cảnh báo:
0 hàng bị ảnh hưởng, 1 cảnh báo: 1051 Bảng không xác định 'classicmodels.aliens'
Ngôn ngữ mã:
SQL (Ngôn ngữ truy vấn có cấu trúc)
(
sql
)
Để hiển thị cảnh báo, bạn có thể sử dụng câu lệnh SHOW WARNINGS
:
HIỂN THỊ
CẢNH BÁO
;Ngôn ngữ mã: < / p>
SQL (Ngôn ngữ truy vấn có cấu trúc)
(
sql < / p>
)
MySQL < code> DROP TABLE dựa trên một mẫu
Giả sử rằng bạn e nhiều bảng có tên bắt đầu bằng test
trong cơ sở dữ liệu của bạn và bạn muốn xóa tất cả chúng bằng một câu lệnh DROP TABLE
.
Thật không may, MySQL không có câu lệnh DROP TABLE LIKE
có thể xóa bảng dựa trên đối sánh mẫu:
BẢNG XẢ NHƯ
'% pattern%'
Ngôn ngữ mã: p >
JavaScript
(
javascript
)
Tuy nhiên, có một số cách giải quyết. Chúng tôi sẽ thảo luận về một trong số chúng ở đây để bạn tham khảo.
Đầu tiên, hãy tạo ba bảng test1
, test2
, test4
cho trình diễn:
p >
TẠO
BẢNG
test1 (id
INT
AUTO_INCREMENT, CHÍNHKEY
(id
) );TẠO
BẢNG
NẾU
KHÔNG PHẢI
TỒN TẠI
test2THÍCH
test1;TẠO
BẢNG
NẾU
KHÔNG PHẢI
TỒN TẠI
test3THÍCH
test1;Ngôn ngữ mã:
SQL (Ngôn ngữ truy vấn có cấu trúc)
(< / p>
sql
)
Giả sử bạn muốn xóa tất cả kiểm tra các bảng *
.
Thứ hai, khai báo hai biến chấp nhận lược đồ cơ sở dữ liệu và một mẫu mà bạn muốn các bảng khớp với nhau:
-
set p >
bảng
schema
và p>
pattern
phù hợp
cho
bảng
SET
@ schema
='classicmodels' p >;
SET
@ pattern
='test%' p>;
Ngôn ngữ mã:
CSS
(
css
)
Thứ ba, xây dựng một động Câu lệnh DROP TABLE
:
, table_name)),
CHỌN
CONCAT
('DROP TABLE'
,GROUP_CONCAT
(CONCAT
(@schema
, < p class = "hljs-string"> '.'';'
)VÀO
@droplikeTỪ
information_schema.tablesWHERE
@schema
=cơ sở dữ liệu
()VÀ
table_nameTHÍCH
@pattern;Ngôn ngữ mã:
SQL (Ngôn ngữ truy vấn có cấu trúc)
(
sql
)
Về cơ bản, truy vấn hướng dẫn MySQL đi tới bảng information_schema
, chứa thông tin về tất cả các bảng trong tất cả cơ sở dữ liệu và để nối tất cả các bảng trong cơ sở dữ liệu @schema
( classicmodels
) khớp với mẫu @pattern code > (
test%
) với tiền tố DROP TABLE
. Hàm GROUP_CONCAT
tạo danh sách các bảng được phân tách bằng dấu phẩy.
Thứ tư, hiển thị SQL động để xác minh xem nó có hoạt động chính xác hay không:
CHỌN
@droplike;Ngôn ngữ mã:
SQL (Ngôn ngữ truy vấn có cấu trúc)
(
sql
)
Như bạn có thể thấy, đầu ra là những gì chúng tôi mong đợi. < / p>
Thứ năm, thực hiện câu lệnh bằng cách sử dụng câu lệnh chuẩn bị như được hiển thị trong truy vấn sau:
CHUẨN BỊ
stmtTỪ
@droplike;THỰC HIỆN
stmt;DEALLOCATE
CHUẨN BỊ
stmt;Ngôn ngữ mã:
SQL (Ngôn ngữ truy vấn có cấu trúc)
(
sql
)
Kết hợp tất cả lại với nhau.
, table_name)),
SET
@schema
='classicmodels'
;SET
@pattern ='test%'
;CHỌN
CONCAT
('DROP TABLE'
,GROUP_CONCAT
(CONCAT
(@schema
, < p class = "hljs-string"> '.'';'
)VÀO
@droplikeTỪ
information_schema.tablesWHERE
@schema
=cơ sở dữ liệu
()VÀ
table_nameTHÍCH
@pattern;CHỌN
@droplike;CHUẨN BỊ
stmtTỪ
@droplike;THỰC HIỆN
stmt;DEALLOCATE
CHUẨN BỊ
stmt;Ngôn ngữ mã:
SQL (Ngôn ngữ truy vấn có cấu trúc)
(
sql
)
Vì vậy, nếu bạn muốn bỏ nhiều bảng có một mẫu cụ thể trong cơ sở dữ liệu, bạn chỉ cần sử dụng script ở trên để tiết kiệm thời gian. Tất cả những gì bạn cần làm là thay thế mẫu và lược đồ cơ sở dữ liệu trong các biến @pattern
và @schema
. Nếu bạn thường xuyên phải giải quyết công việc này, bạn có thể phát triển thủ tục được lưu trữ dựa trên tập lệnh và sử dụng lại thủ tục đã lưu trữ này.
Trong hướng dẫn này , bạn đã học cách sử dụng câu lệnh MySQL DROP TABLE
để xóa các bảng hiện có khỏi cơ sở dữ liệu.
Hướng dẫn này có hữu ích không?
Xem thêm những thông tin liên quan đến chủ đề xóa bảng trong mysql
How to Create and Delete Database using MySQL Workbench
- Tác giả: TechKENIN
- Ngày đăng: 2016-05-19
- Đánh giá: 4 ⭐ ( 6298 lượt đánh giá )
- Khớp với kết quả tìm kiếm: How to Create and Delete Database using MySQL Workbench... In this video you can learn how to create and delete database using MySQL Workbench Software
Bài MySQL 12: Cách xóa một bảng trong MySQL
- Tác giả: vietpro.net.vn
- Đánh giá: 5 ⭐ ( 7381 lượt đánh giá )
- Khớp với kết quả tìm kiếm: Cách xóa một bảng trong MySQL đang tồn tại ta dùng lệnh lDROP TABLE. Nhưng hãy cẩn thận khi drop table mysql vì nếu xóa đi thì sẽ mất toàn bộ dữ liệu.
Bài 3: Hướng dẫn tạo và xóa bảng trong MySQL với PhpMyadmin
- Tác giả: laptrinhphp.info
- Đánh giá: 3 ⭐ ( 4774 lượt đánh giá )
- Khớp với kết quả tìm kiếm: Bảng (Table) trong MySQL dùng để lưu trữ thông tin của người dùng. Trong bảng có các thuộc tính là các cột.
[MySQL 10] Cập nhật và Xoá dữ liệu bằng lệnh UPDATE, DELETE
- Tác giả: www.codelean.vn
- Đánh giá: 3 ⭐ ( 3545 lượt đánh giá )
- Khớp với kết quả tìm kiếm: CodeLean.vn là nơi chia sẻ kiến thức của những người học, làm và dạy trong lĩnh vực công nghệ thông tin.
DROP TABLE – Lệnh xóa bảng
- Tác giả: www.sql.edu.vn
- Đánh giá: 5 ⭐ ( 4387 lượt đánh giá )
- Khớp với kết quả tìm kiếm: Lệnh DROP TABLE trong Microsoft SQL Server dùng để xóa bảng trong CSDL (xóa cả dữ liệu và cấu trúc bảng).
Hệ quản trị CSDL MySQL
- Tác giả: hiepsiit.net
- Đánh giá: 5 ⭐ ( 5049 lượt đánh giá )
- Khớp với kết quả tìm kiếm:
Xóa bảng trong MySQL
- Tác giả: vietjack.com
- Đánh giá: 3 ⭐ ( 7659 lượt đánh giá )
- Khớp với kết quả tìm kiếm: Xóa bảng trong MySQL - Học MySQL cơ bản đến nâng cao bắt đầu từ MySQL và PHP, Cơ sở dữ liệu, Cú pháp kết hợp MySQL và PHP, Mệnh đề WHERE, Lệnh DELETE, Truy vấn INSERT, Truy vấn UPDATE, Ràng buộc (Constraint), Truy vấn DROP, Mệnh đề ORDER BY, Mệnh đề GROUP BY, Hàm xử lý, Sử dụng JOIN, Giá trị NULL, Transaction, Sử dụng Sequence, Nhập - Xuất cơ sở dữ liệu, Phương thức Backup và Recovery, Regexp, SQL Injection và cách sử dụng trong PHP theo các bước cơ bản.
Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình