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.
Ví dụ tạo bảng trên, sửa lại và thiết lập PersonID là khóa chính
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
Trước tiên thêm bảng mới nếu chưa có
CREATE TABLE Persons ( PersonID int, LastName varchar(255), FirstName varchar(255), Address varchar(255), City varchar(255), PRIMARY KEY(PersonID) );
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 yearChạy thử
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
Tải CSDL SQLite mẫu để thực hành hoặc Chạy SQL Online
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 DateOfBirthChạy thử
Đổ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)Chạy thử
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_origChạy thử
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)Chạy thử
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_origChạy thử
Cuối cùng xóa đi bảng team_orgi
DROP TABLE team_origChạy thử
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;