ALTER TABLE trong SQL là gì?
ALTER TABLE là một câu lệnh cho phép bạn thay đổi cấu trúc của một bảng có sẵn. Với câu lệnh này, bạn có thể thực hiện nhiều tác vụ 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 hoặc xóa các ràng buộc trong bảng... Câu lệnh ALTER TABLE rất linh hoạt và được hỗ trợ bởi nhiều hệ quản trị cơ sở dữ liệu khác nhau như MySQL, SQL Server...
ALTER TABLE là câu lệnh cho phép thay đổi cấu trúc bảng có sẵn.
Cách thêm/xóa cột bằng câu lệnh ALTER TABLE trong SQL
Để thực hiện các ví dụ dưới đây, trước tiên bạn cần tạo một bảng có tên "Persons" bằng câu lệnh CREATE TABLE. Bảng này bao gồm các cột sau:
- PersonID (khóa chính - primary key)
- LastName
- FirstName
- Address
- City
Cú pháp tạo bảng "Persons" như sau:
CREATE TABLE Persons ( PersonID int, LastName varchar(255), FirstName varchar(255), Address varchar(255), City varchar(255), PRIMARY KEY(PersonID) );
Sau đó, bạn có thể thực hiện các thao tác thêm/xóa cột như sau:
Thêm một cột vào bảng (ALTER TABLE ADD COLUMN)
Cú pháp:
ALTER TABLE ten_bang ADD COLUMN ten_cot kieu_du_lieu;
Ví dụ: Trong bảng Persons, bạn muốn thêm một cột có tên là DateOfBirth và kiểu dữ liệu là year. Bạn có thể sử dụng câu lệnh sau:
ALTER TABLE Persons ADD COLUMN DateOfBirth year;
Xóa một cột từ bảng (ALTER TABLE DROP COLUMN)
Cú pháp:
ALTER TABLE ten_bang DROP COLUMN ten_cot;
Ví dụ: Trong bảng Persons, nếu bạn muốn xóa cột DateOfBirth đã thêm trước đó, bạn có thể sử dụng câu lệnh sau:
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;
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 sẽ khác nhau tùy thuộc vào hệ quản trị cơ sở dữ liệu mà bạn đang sử dụng. Dưới đây là các ví dụ cụ thể cho từng hệ quản trị cơ sở dữ liệu phổ biến:
Đổi kiểu dữ liệu của một cột trong MySQL
Cú pháp:
ALTER TABLE ten_bang MODIFY COLUMN ten_cot kieu_du_lieu;
Đổi kiểu dữ liệu của một cột trong SQL Server/Access
Cú pháp:
ALTER TABLE ten_bang ALTER COLUMN ten_cot kieu_du_lieu;
Hướng dẫn cách đổi tên cột bằng ALTER TABLE trong SQL
Đổi tên cột cũng là một tác vụ phổ biến khi làm việc với cơ sở dữ liệu. Dưới đây là các cú pháp để đổi tên cột trong các hệ quản trị cơ sở dữ liệu khác nhau:
Thay đổi tên cột trong MySQL
Cú pháp:
ALTER TABLE ten_bang CHANGE old_column new_column kieu_du_lieu;
Ví dụ:
ALTER TABLE team CHANGE City Location TEXT;
Thay đổi tên cột trong SQL Server
Để thay đổi tên cột trong SQL Server, bạn cần sử dụng thủ tục sp_rename
. Dưới đây là cú pháp chi tiết:
EXEC sp_rename 'ten_bang.ten_cot_cu', 'ten_cot_moi', 'COLUMN';
Thay đổi tên cột trong SQLite
Trong SQLite, bạn cần thực hiện các bước sau để đổi tên một cột:
Bước 1: Tạo một bảng mới giữ nguyên cấu trúc của bảng cũ nhưng có thêm một cột mới. Bước 2: Sao chép tất cả dữ liệu từ bảng cũ sang bảng mới. Bước 3: Xóa bỏ bảng cũ và đổi tên bảng mới thành tên của bảng cũ.
Ví dụ: Nếu bạn có một bảng "team" với cấu trúc như sau:
CREATE TABLE team(Name TEXT, Coach TEXT, City TEXT);
Để đổi tên cột "City" thành "Location", bạn cần thực hiện các câu lệnh ALTER TABLE trong SQL như sau:
ALTER TABLE team RENAME TO team_orig; CREATE TABLE team(Name TEXT, Coach TEXT, Location TEXT); INSERT INTO team(Name, Coach, Location) SELECT Name, Coach, City FROM team_orig; 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
Để xóa một bảng, bạn có thể sử dụng câu lệnh DROP TABLE. Cú pháp chi tiết như sau:
DROP TABLE ten_bang;
Cách đổi tên bảng trong SQL
Trong SQL Server, không thể đổi tên bảng bằng câu lệnh ALTER TABLE. Tuy nhiên, bạn có thể sử dụng thủ tục sp_rename
. Tuy nhiên, nhà sản xuất khuyến nghị bạn nên xóa bảng cũ và tạo một bảng mới để đảm bảo tính nhất quán trong lưu trữ và kịch bản.
Cú pháp:
sp_rename 'ten_bang_cu', 'ten_bang_moi';
Trên đây là một số cú pháp và cách sử dụng câu lệnh ALTER TABLE trong SQL. Hy vọng bài viết này đã giúp bạn hiểu rõ hơn về cách 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 theo dõi website Kienthucphanmem.com để cập nhật thêm thông tin bổ ích về chủ đề này.
Ban biên tập: Kiến Thức Phần Mềm