Bài 15: Sử dụng ALTER TABLE trong MySQL

Học Mysql 15/02/2017 07:00 848
Trong bài viết này, bạn sẽ học được về MySQL ALTER TABLE nhằm thay đổi cấu trúc bảng hiện tại như thêm hoặc xoá các cột, thay đổi thuộc tính cột, ...vv

Bạn có thể sử dụng câu lệnh ALTER TABLE để thay đổi cấu trúc bảng hiện tại.Câu lệnh ALTER TABLE cho phép bạn làm những việc như sau:

  • Thêm cột & Xóa cột
  • Thay đổi loại dữ liệu của cột
  • Thêm khóa chính (PRIMARY KEY)
  • Thay đổi tên bảng
  • Một số tính năng khác(More)

Cú pháp của ALTER TABLE:

ALTER TABLE [Tên_Bảng] [Hành động_1][,Hành động_2,…]

Chú ý:

  • Đầu tiên bạn cần xác định một bảng(Table), Bảng mà bạn thật sự muốn thay đổi sau mệnh đề ALTER TABLE
  • Tiếp theo, bạn liệt kê một danh sách các hành động mà bạn muốn áp dụng cho bảng. Một hành động có thể là bất cứ điều gì như là thêm một cột mới, thêm khóa chính, đổi tên bảng, ...vv ALTER TABLE cho phép bạn áp dụng nhiều hành động trong một câu lệnh ALTER TABLE duy nhất, mỗi hành động được phân cách bằng dấu phẩy (,).

Chúng ta sẽ sử dụng bảng suppliers đã tạo ở bài trước để thực hành.

1. Sử dụng ALTER TABLE để thêm cột.

Sử dụng MySQL ALTER TABLE để thêm một cột mới vào một bảng. Chúng ta sẽ thêm một cột email có kiểu dữ liệu là VARCHAR(255)

ALTER TABLE suppliers 
ADD COLUMN email VARCHAR(25) NOT NULL
AFTER address;

Lưu ý:

Nếu bạn không muốn chèn NULL vào cột nếu giá trị trong cột rỗng thì bạn sử dụng mệnh đề NOT NULL ngược lại sử dụng mệnh đề NULL.

2. Sử dụng ALTER TABLE để xóa cột.

Vì một số lý do nào đó bạn không muốn lưu trữ email trong bảng suppliers nữa.

ALTER TABLE suplliers
DROP COLUMN email;

3. Sử dụng ALTER TABLE để thay đổi tên bảng.

Bạn có thể sử dụng ALTER TABLE để thay đổi tên bảng. Một điều chú ý rằng việc thay đổi này sẽ làm các câu lệnh trước đó thao tác với tên bảng cũ sẽ không thực hiện được. Vì vậy bạn cần xem xét kỹ lưỡng trước khi thực hiện thay đổi.

Tôi muốn thay đổi tên bảng từ suppliers thành providers

ALTER TABLE suppilers
RENAME TO providers;

4. Sử dụng ALTER TABLE để thêm UNIQUE cho cột.

Ngoài cách thêm UNIQUE trong lúc tạo bảng thì bạn có thể sử dụng lênh ALTER TABLE để thêm UNIQUE cho một cột bất kỳ.

Ví dụ: Trong bảng suppliers tôi muốn thêm UNIQUE cho cột phone. Không cho phép có hai bản gi có số điện thoại giống nhau.

ALTER TABLE suppliers ADD UNIQUE(phone);

5. Sử dụng ALTER TABLE đổi cấu trúc cột.

Giả sử tôi cần đổi cấu trúc field supplier_id sang kiểu bigint(11) ký tự và NOT NULL

ALTER TABLE suppliers
CHANGE COLUMN supplier_id supplier_id BIGINT(11) NOT NULL AUTO_INCREMENT;

6. Tổng kết.

Trong bài viết này mình đã giới thiệu về ALTER TABLE. Việc sử dụng ALTER TABLE vào các trường hợp nhất định bạn nên xem xét kỹ có thực sự cần thiết hay không? Dù ứng dụng của bạn là lớn hay nhỏ thì hãy áp dụng ALTER TABLE một cách linh hoạt và có hiệu quả.

Xem Thêm

Profile photo of adminTheHalfHeart

B.V.T

Sinh ra và lớn nên ở Bắc Giang. Hiện tại thì tôi đang là một lập trình viên tại VietISO. Tôi lập website này với mục đích là bookmark những gì tôi đã đọc qua và mong muốn chia sẻ những gì tôi biết.