Lệnh ALTER TABLE trong SQL
ALTER TABLE trong SQL là gì? Dưới đây là chi tiết cách dùng câu lệnh ALTER TABLE trong SQL.
SQL là kiến thức mà mọi lập trình viên đều cần biết. Nó cực kì hữu ích trong lập trình. Học SQL không quá khó. Về cơ bản, bạn cần nắm được SQL là gì cùng các lệnh cơ bản của nó. Ở bài viết này, chúng ta sẽ cùng nhau tìm hiểu lệnh ALTER TABLE trong SQL.
Nếu được hỏi câu lệnh nào sau đây dùng để thêm mới một cột vào bảng khi dùng SQL, thấy đáp án ALTER TABLE hãy chọn ngay. Lệnh ALTER TABLE trong SQL được dùng để chỉnh sửa cấu trúc bảng bằng cách thêm, xóa cột trong bảng hiện tại. Bạn cũng có thể dùng lệnh này để bổ sung và loại bỏ các ràng buộc trên bảng hiện tại.
Vì lệnh ALTER TABLE trong SQL chỉnh sửa cấu trúc của bảng, nó là một phần của ngôn ngữ định nghĩa dữ liệu (Data Definition Language). Đây cũng là nơi lệnh ALTER TABLE khác lệnh UPDATE, còn ALTER TABLE tương tác với cấu trúc của bảng để chỉnh sửa nó, UPDATE chỉ tương tác với dữ liệu hiện trong bảng mà không làm xáo trộn cấu trúc bảng.
Cú pháp ALTER TABLE
Sử dụng lệnh ALTER TABLE để thêm cột
Để thêm một cột cho bảng ta sử dụng cú pháp sau:
ALTER TABLE ten_bang ADD ten_cot kieu_dulieu;
Sử dụng lệnh ALTER TABLE để xoá cột
Để xoá một cột trên một bảng ta sử dụng cú pháp sau:
ALTER TABLE ten_bang DROP COLUMN ten_cot;
Sử dụng lệnh ALTER TABLE để thay đổi kiểu dữ liệu
Để thay đổi kiểu dữ liệu của một cột trên một bảng ta sử dụng cú pháp sau, bạn lưu ý phiên bản để chọn câu lệnh cho đúng nhé.
SQL Server/ MS Access:
ALTER TABLE ten_bang
ALTER COLUMN ten_cot kieu_dulieu;
My SQL/Oracle (phiên bản trước 10G):
ALTER TABLE ten_bang MODIFY COLUMN ten_cot kieu_dulieu;
Oracle (phiên bản 10G trở lên):
ALTER TABLE ten_bang
MODIFY ten_cot kieu_dulieu;
Sử dụng lệnh ALTER TABLE để thêm ràng buộc
Để thêm ràng buộc NOT NULL cho cột trên một bảng ta sử dụng cú pháp sau:
ALTER TABLE ten_bang MODIFY ten_cot kieu_dulieu NOT NULL;
Để thêm ràng buộc UNIQUE trên một bảng ta sử dụng cú pháp sau:
ALTER TABLE ten_bang
ADD CONSTRAINT RangbuocUnique UNIQUE(cot1, cot2...);
Để thêm ràng buộc CHECK trên một bảng ta sử dụng cú pháp sau:
ALTER TABLE ten_bang
ADD CONSTRAINT RangbuocUnique CHECK (DIEUKIEN);
Để thêm ràng buộc PRIMARY KEY trên một bảng ta sử dụng cú pháp sau:
ALTER TABLE ten_bang
ADD CONSTRAINT Khoachinh PRIMARY KEY (cot1, cot2...);
Sử dụng lệnh ALTER TABLE để xóa ràng buộc
ALTER TABLE ten_bang
DROP CONSTRAINT RangbuocUnique;
Nếu bạn đang sử dụng MySQL thì code là:
ALTER TABLE ten_bang
DROP INDEX RangbuocUnique;
Để xóa ràng buộc PRIMARY KEY trên một bảng ta sử dụng cú pháp sau:
ALTER TABLE ten_bang
DROP CONSTRAINT Khoachinh;
Nếu bạn đang sử dụng MySQL thì code là:
ALTER TABLE ten_bang
DROP PRIMARY KEY;
Ví dụ sử dụng ALTER TABLE trong SQL
Giả sử bảng NHANVIEN có các bản ghi như sau:
+----+----------+-----+-----------+----------+ | ID | TEN |TUOI | DIACHI | LUONG | +----+----------+-----+-----------+----------+ | 1 | Thanh | 32 | Haiphong | 2000.00 | | 2 | Loan | 25 | Hanoi | 1500.00 | | 3 | Nga | 23 | Hanam | 2000.00 | | 4 | Manh | 25 | Hue | 6500.00 | | 5 | Huy | 27 | Hatinh | 8500.00 | | 6 | Cao | 22 | HCM | 4500.00 | | 7 | Lam | 24 | Hanoi | 10000.00 | +----+----------+-----+-----------+----------+
Bây giờ ta thêm cột GIOITINH vào bảng NHANVIEN.
ALTER TABLE NHANVIEN ADD GIOITINH char(1);
Bây giờ, bảng NHANVIEN đã bị thay đổi và sau đây là kết quả của lệnh SELECT:
+----+----------+-----+-----------+----------+----------+ | ID | TEN |TUOI | DIACHI | LUONG | GIOITINH | +----+----------+-----+-----------+----------+----------+ | 1 | Thanh | 32 | Haiphong | 2000.00 | NULL | | 2 | Loan | 25 | Hanoi | 1500.00 | NULL | | 3 | Nga | 23 | Hanam | 2000.00 | NULL | | 4 | Manh | 25 | Hue | 6500.00 | NULL | | 5 | Huy | 27 | Hatinh | 8500.00 | NULL | | 6 | Cao | 22 | HCM | 4500.00 | NULL | | 7 | Lam | 24 | Hanoi | 10000.00 | NULL | +----+----------+-----+-----------+----------+----------+
Tiếp tục, khi muốn xoá cột GIOITINH khỏi bảng, ta sử dụng câu lệnh SQL sau:
ALTER TABLE NHANVIEN DROP GIOITINH;
Bây giờ, bảng NHANVIEN đã bị thay đổi và sau đây là kết quả của lệnh SELECT:
+----+----------+-----+-----------+----------+ | ID | TEN |TUOI | DIACHI | LUONG | +----+----------+-----+-----------+----------+ | 1 | Thanh | 32 | Haiphong | 2000.00 | | 2 | Loan | 25 | Hanoi | 1500.00 | | 3 | Nga | 23 | Hanam | 2000.00 | | 4 | Manh | 25 | Hue | 6500.00 | | 5 | Huy | 27 | Hatinh | 8500.00 | | 6 | Cao | 22 | HCM | 4500.00 | | 7 | Lam | 24 | Hanoi | 10000.00 | +----+----------+-----+-----------+----------+
Trong phần tiếp theo, chúng ta sẽ tìm hiểu về lệnh TRUNCATE TABLE trong SQL, các bạn nhớ theo dõi nhé.
Bạn nên đọc
Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:


Cũ vẫn chất
-
Antimalware Service Executable là gì và tại sao nó lại chạy trên máy tính?
Hôm qua -
11 địa danh bí ẩn bị làm mờ trên Google Maps, điều gì đang bị che giấu?
Hôm qua -
Cách chuyển đổi từ Legacy sang UEFI trong BIOS
Hôm qua 4 -
‘Để giành’ hay ‘để dành’, ‘dành cho’ hay ‘giành cho’, cách viết nào đúng chính tả?
Hôm qua -
Cách sửa lỗi 0x0000011b khi in qua mạng trên Windows 10
Hôm qua 12 -
8 cách kiểm tra ổ cứng hiệu quả giúp khám sức khỏe định kỳ của ổ cứng
Hôm qua -
Cách cài Ubuntu song song với Windows bằng USB
Hôm qua -
Cách tắt chế độ Secure Boot và mở chế độ Boot Legacy
Hôm qua -
Đáp án Thử Tài Lịch Sử Liên Quân FULL các đáp án, gợi ý
Hôm qua 21 -
12 giờ trưa là AM hay PM trong tiếng Anh?
Hôm qua 1