Bài MySQL 42: Lệnh DROP COLUMN trong MySQL

0
288

Xin chào các bạn, trong bài học ngày hôm nay mình sẽ hướng dẫn các bạn sử dụng câu lệnh DROP COLUMN để xóa một cột trong bảng.

Giới thiệu

Trong một số trường hợp, bạn muốn xóa một hoặc nhiều cột khỏi bảng. Vậy thì bạn sử dụng câu lệnh ALTER TABLE DROP COLUMN như sau:

Trong đó:

  • Đầu tiên, bạn chỉ định bảng có chứa cột mà bạn muốn xóa sau mệnh đề ALTER TABLE.
  • Thứ hai, bạn đặt tên của cột theo mệnh đề DROP COLUMN.

Lưu ý rằng từ khóa COLUMN là tùy chọn để bạn có thể sử dụng câu lệnh ngắn hơn như sau:

Để xóa nhiều cột khỏi một bảng cùng một lúc, bạn sử dụng cú pháp sau:

Có một số lưu ý bạn cần nhớ trước khi xóa cột khỏi bảng:

  • Việc loại bỏ một cột khỏi một bảng làm cho tất cả các đối tượng cơ sở dữ liệu như các công cụ lưu trữ, khung nhìn, trình kích hoạt, vv, phụ thuộc vào cột đó sẽ trở thành không hợp lệ.
  • Mã từ các ứng dụng khác phụ thuộc vào cột đã xóa cũng phải được thay đổi, làm tốn thời gian và công sức.
  • Việc xóa một cột khỏi một bảng lớn có thể ảnh hưởng đến hiệu năng của cơ sở dữ liệu.

Vi dụ về câu lệnh DROP COLUMN

Đầu tiên, chúng ta tạo một bảng có tên là các posts:

Thứ hai, để loại bỏ cột excerpt , bạn sử dụng câu lệnh ALTER TABLE như sau:

Thứ ba, để loại bỏ cả hai cột created_atupdated_at cùng một lúc, bạn sử dụng câu lệnh sau:

Ví dụ về xóa một cột khóa ngoại

Nếu bạn xóa một cột là khóa ngoại, MySQL sẽ thông báo một lỗi. Ví dụ:

Đầu tiên, tạo một bảng có tên là categories:

Thứ hai, thêm cột category_id vào bảng posts.

Thứ ba, làm cho cột category_id là khóa ngoại tham chiếu đến cột id của bảng categories.

Thứ tư, xóa cột category_id từ bảng posts.

Lúc này MySQL sẽ đưa ra một thông báo lỗi:

Để tránh lỗi này, bạn phải loại bỏ khóa ngoại trước khi xóa cột.

Kết luận

Như vậy trong bài ngày hôm nay mình đã hướng dẫn các bạn sử dụng câu lệnh DROP COLUMN để xóa một cột trong bảng. Trong bài học tiếp theo chúng ta sẽ tìm hiểu về lệnh RENAME TABLE trong MySQL.

Chúc các bạn học tập tốt!

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây