Chỉnh sửa bảng với ALTER TABLE

Với ALTER TABLE nó cho phép bạn thay đổi cấu trúc bảng bằng cách thêm, xóa, chỉnh sửa thông tin các cột. Nó cũng cho phép bạn thêm, xóa một số dàng buộc có trong bảng.

Thêm một cột vào bảng ALTER COLUMN

Cú pháp thêm cột vào bảng như sau

ALTER TABLE tên_bảng
ADD tên_cột kiểu_dữ_liệu_cột

Ví dụ thêm cột mới có tên DateOfBirth vào bảng Persons với kiểu dữ liệu là year

ALTER TABLE Persons
ALTER COLUMN DateOfBirth year

Khi thi hành lệnh trên, cột mới thêm vào bảng. Trường dữ liệu của các dòng có sẵn tại vị trí của cột nhận giá trị mặc định, với trường hợp trên nhận NULL

Bạn có thể thực hành các câu lệnh SQL ví dụ trên CSDL mẫu SQLite có sẵn tại SQLite và thực hành lệnh SQL

Xóa đi một cột trong bảng DROP COLUMN

Cú pháp xóa đi một cột trong bảng như sau

ALTER TABLE tên_bảng
DROP COLUMN tên_cột

Ví dụ xóa đi cột có tên DateOfBirth của bảng Persons

ALTER TABLE Persons
DROP COLUMN DateOfBirth

Đổi kiểu dữ liệu một cột

Đổi kiểu dữ liệu cột MySQL

ALTER TABLE table_name
MODIFY COLUMN column_name datatype

Đổi kiểu dữ liệu cột SQL Server / Access

ALTER TABLE table_name
ALTER COLUMN column_name datatype

Với SQLite xem thủ thuật dưới

Đổi tên một cột

Đổi tên cột trong MySQL

ALTER TABLE
    tablename
CHANGE
    oldcolumn
    newcolumn datatype

Đổi tên cột trong SQLite

Đổi tên cột trong SQLite bạn cần dùng thủ thuật theo các bước: tạo ra bảng mới, cấu trúc như bảng cũ nhưng thêm cột mới, sau đó insert toàn bộ dữ liệu bảng cũ vào bảng mới, xóa đi bảng cũ, đổi tên bảng mới trở lại tên bảng cũ.

Ví dụ có bảng team đã có dữ liệu với cấu trúc được tạo ra như sau:

CREATE TABLE team(Name TEXT, Coach TEXT, City TEXT)

Giờ muốn đổi cột City thành tên Location, trước tiên đổi tên bảng thành team_orig để lưu dữ liệu

ALTER TABLE team RENAME TO team_orig

Sau đó tạo bảng team mới với cấu trúc có tên cột mới

CREATE TABLE team(Name TEXT, Coach TEXT, Location TEXT)

Insert toàn bộ dữ liệu từ bảng team_orgi sang team

INSERT INTO team(Name, Coach, Location) SELECT Name, Coach, City FROM team_orig

Cuối cùng xóa đi bảng team_orgi

DROP TABLE team_orig

Xóa bảng với DROP TABLE

Để xóa một bảng sử dụng lệnh SQL DROP TABLE với cú pháp như sau:

DROP TABLE table_name;