ALTER TABLE trong SQL là một lệnh có tần suất sử dụng khá thường xuyên. Lệnh này có vai trò quan trọng, đó là thực hiện các thao tác liên quan đến chỉnh sửa bảng biểu như đổi tên cột, thêm hoặc xóa cột trong bảng… Cùng KTPM tìm hiểu chi tiết về cú pháp, cách dùng và ví dụ về lệnh ALTER TABLE nhé.
ALTER TABLE trong SQL là gì?
ALTER TABLE là câu lệnh cho phép thay đổi cấu trúc bảng có sẵn. Với câu lệnh này, bạn có thể thực hiện nhiều thao tác chỉnh sửa bảng như thay đổi kiểu dữ liệu của cột, đổi tên cột, thêm hoặc xóa cột, thêm/xóa một số ràng buộc có trong bảng…
ALTER TABLE được sử dụng trong nhiều hệ quản trị cơ sở dữ liệu khác nhau. Ví dụ như ALTER TABLE trong MySQL, trong SQL Server…
Cách thêm/xóa cột bằng câu lệnh ALTER TABLE trong SQL
Để thực hành theo các ví dụ dưới đây, trước hết bạn cần tạo bảng có tên “Persons” bằng câu lệnh CREATE TABLE. Trong bảng sẽ bao gồm các cột sau đây:
- PersonID (được đặt làm khóa chính – primary key)
- LastName
- FirstName
- Address
- City
Cú pháp tạo bảng Persons là:
CREATE TABLE Persons (
PersonID int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY(PersonID)
);
Sau đó nhập đúng cú pháp đối với từng trường hợp cụ thể.
Thêm một cột vào bảng (ALTER TABLE ADD Column)
Cú pháp:
ALTER TABLE tên_bảng
ADD tên_cột kiểu_dữ_liệu_cột
Ví dụ: Trong bảng Persons, bạn chèn cột mới đặt tên là DateOfBirth và thiết lập kiểu dữ liệu là year. Tùy vào hệ thống cơ sở dữ liệu của mình, bạn có thể thiết lập các kiểu khác. Ví dụ như trong SQL Server là int.
Với ví dụ này, bạn nhập cú pháp như sau:
ALTER TABLE Persons
ADD COLUMN DateOfBirth year
Xóa một cột có trong bảng (DROP COLUMN)
Cú pháp:
ALTER TABLE tên_bảng
DROP COLUMN tên_cột
Ví dụ: Trong bảng Persons, nếu muốn xóa cột vừa tạo là DateOfBirth thì bạn thực thi lệnh sau đây:
ALTER TABLE Persons
DROP COLUMN DateOfBirth
Thêm nhiều cột vào bảng
Cú pháp:
ALTER TABLE ten_bang
ADD cot1 dinh_nghia_cot,
cot2 dinh_nghia_cot,
…
cot_n dinh_nghia_cot;
Cách thay đổi kiểu dữ liệu của một cột bằng ALTER TABLE trong SQL
Cú pháp thay đổi kiểu dữ liệu cột trong các hệ quản trị cơ sở dữ liệu khác nhau cũng sẽ có sự khác biệt. Cụ thể như sau:
Đổi kiểu dữ liệu cột trong MySQL
Cú pháp:
ALTER TABLE table_name
MODIFY COLUMN column_name datatype
Đổi kiểu dữ liệu cột trong SQL Server/Access
Cú pháp:
ALTER TABLE table_name
ALTER COLUMN column_name datatype
Hướng dẫn cách đổi tên cột bằng ALTER TABLE trong SQL
Thay đổi tên cột trong MySQL
Cú pháp:
ALTER TABLE
tablename
CHANGE
oldcolumn
newcolumn datatype
Cách thay đổi tên cột trong SQL Server
Khi muốn đổi tên cột trong SQL Server, bạn cần tiến hành truy vấn chạy thủ tục sp_rename. Sau đây là cú pháp:
EXEC sp_rename ‘tên-bảng.tên-cột-cũ’, ‘tên-cột-mới’, ‘COLUMN’;
Thay đổi tên cột trong SQLite
Để đổi tên cột trong hệ quản trị CSDL SQLite bạn cần thực hiện theo trình tự sau:
Bước 1: Tạo bảng mới giữ nguyên cấu trúc của bảng cũ nhưng có bổ sung thêm cột mới.
Bước 2: Insert tất cả dữ liệu từ bảng cũ sang bảng mới.
Bước 3: Xóa bảng cũ đi và đổi tên cho bảng mới trùng với tên của bảng cũ.
Ví dụ, bạn đang có sẵn bảng team với cấu trúc như sau:
CREATE TABLE team(Name TEXT, Coach TEXT, City TEXT)
Lúc này nếu muốn đổi tên cho cột City thành cột Location thì bạn phải đổi tên bảng sang team_orig bằng cú pháp ALTER TABLE trong SQL:
ALTER TABLE team RENAME TO team_orig
Tiếp theo tạo một bảng team mới với cấu trúc cũ nhưng đổi tên cột thành Location:
CREATE TABLE team(Name TEXT, Coach TEXT, Location TEXT)
Tiếp đó Insert tất cả dữ liệu từ bảng gốc là team_orgi sang bảng team mới:
INSERT INTO team(Name, Coach, Location) SELECT Name, Coach, City FROM team_orig
Cuối cùng, bạn chạy lệnh để xóa bảng team_orig ban đầu:
DROP TABLE team_orig
Câu lệnh xóa và đổi tên bảng trong SQL
Câu lệnh xóa bảng
Nếu muốn xóa một bảng nào đó trong SQL, bạn sử dụng lệnh DROP TABLE. Cú pháp chi tiết như sau:
DROP TABLE table_name;
Cách đổi tên bảng trong SQL
Trong SQL Server, bạn không thể đổi tên bảng bằng lệnh ALTER TABLE. Do đó bạn phải sử dụng cú pháp sp_rename. Tuy nhiên theo khuyến nghị của nhà sản xuất, bạn nên xóa và tạo bảng mới để các quy trình lưu trữ và kịch bản không bị ảnh hưởng.
Cú pháp:
sp_rename ‘ten_bang_cu’, ‘ten_bang_moi’;
Trên đây là một số cú pháp và cách dùng câu lệnh ALTER TABLE trong SQL. Mong rằng bài viết này sẽ giúp ích cho bạn trong quá trình làm việc với các hệ quản trị cơ sở dữ liệu và đạt hiệu quả cao. Đừng quên các bài viết có chủ đề liên quan sẽ liên tục được cập nhật website Kienthucphanmem.com. Bạn hãy đón đọc để ngày càng nâng cao kỹ năng của mình nhé!
Ban biên tập: Kiến Thức Phần Mềm