Thay đổi cấu trúc bảng với ALTER TABLE trong SQL

Sử dụng mệnh đề ALTER TABLE để biến hóa cấu trúc bảng có sẵn bằng cách thêm cột mới ( ALTER COLUMN ), xóa cột ( DROP COLUMN ), đổi tên cột và biến hóa kiểu dữ liệu trong sql của cột trong SQL ( MODIFY COLUMN ) .

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 đang có bằng cách
thêm cột mới, xóa cột, chỉnh sửa thông tin các cột (tên cột, thay đổi dữ liệu cột SQL).
Nó cũng cho phép bạn thêm, xóa một số dàng buộc có trong bảng.
ALTER TABLE dễ dàng áp dụng cho nhiều hệ quản trị CSDL: MySQL, SQL Server …

Để thực hành, hãy dùng câu lệnh
create table,
tạo ra một bảng có tên Persons, trong bảng có các cột như: PersonID (là khóa chính primary key),
LastName, FirstName, Address, City.

Trước tiên thêm bảng mới Persons 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)
);

Chạy thử

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

Cú pháp thêm cột mới 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 ( tùy thuộc vào CSDL bạn hoàn toàn có thể chọn kiểu khác như int trong SQL Server ) .

ALTER TABLE Persons
ADD COLUMN DateOfBirth year

Chạy thử
Khi thi hành lệnh trên, cột mới thêm vào bảng. Các dòng dữ liệu có sẵn thì trường dữ liệu mới thêm này ( DateOfBirth ) sẽ có 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 thực tế 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 DateOfBirth

Chạy thử

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

Thực hiện đổi kiểu dữ liệu cột có 1 số ít khác nhau tùy thuộc vào hệ quản trị CSDL : MySQL, SQL Server …

Đổ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ủ pháp 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 SQL Server

Trong SQL Server bạn phải thực hiện truy vấn chạy thủ tục sp_rename,
cú pháp như sau

EXEC sp_rename 'tên-bảng.tên-cột-cũ', 'tên-cột-mới', 'COLUMN';

Đổi tên cột trong SQLite

Đổi tên cột trong SQLite bạn cần dùng thủ pháp theo những 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 hàng loạt 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, thứ nhất đổi tên bảng thành team_orig để lưu dữ liệu

ALTER TABLE team RENAME TO team_orig

Chạ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 hàng loạt dữ liệu từ bảng team_orgi sang team

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

Chạy thử
Cuối cùng xóa đi bảng team_orgi

DROP TABLE team_orig

Chạ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;

Chi tiết tại: xóa bảng với drop table

ĐĂNG KÝ KÊNH, XEM CÁC VIDEO TRÊN XUANTHULAB

Đăng ký nhận bài viết mới

Thay đổi cấu trúc bảng với ALTER TABLE trong SQL

Bài viết liên quan
Hotline 24/7: O984.666.352
Alternate Text Gọi ngay