Lệnh ALTER TABLE trong SQL: Cú pháp, cách sử dụng và ví dụ cụ thể

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…

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 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

Leave a Reply

Your email address will not be published. Required fields are marked *