Khi bạn tạo một bảng trong SQL Server bằng T-SQL, bạn chỉ định tất cả các cột cho bảng đó, cùng với kiểu dữ liệu của chúng, bất kỳ ràng buộc nào, v.v.
Nhưng điều gì sẽ xảy ra nếu một ngày bạn quyết định thêm một cột mới vào bảng đó? Làm cách nào để bạn thêm cột mới vào bảng hiện có mà không cần tạo lại bảng? Rốt cuộc, bỏ bảng và bắt đầu lại thường không phải là một tùy chọn, vì bảng sẽ chứa dữ liệu và có thể bạn không muốn phải sao lưu tất cả dữ liệu đó và chèn lại sau khi thả và tạo bảng.
Câu trả lời là:ALTER TABLE
tuyên bố.
Tuyên bố ALTER TABLE
ALTER TABLE
câu lệnh cho phép bạn sửa đổi một bảng hiện có mà không làm xáo trộn định nghĩa hiện có của nó và bất kỳ dữ liệu nào có thể nằm trong bảng đó.
Bạn có thể thêm một cột mới vào một bảng hiện có như sau:
Đây là một ví dụ:
ALTER TABLE Tasks ADD TaskDescription varchar(255) NULL; GO
Trong ví dụ này, chúng tôi thêm một cột mới có tên là TaskDescription
đến Tasks
bàn. Cột mới của chúng tôi có kiểu dữ liệu là varchar(255)
và nó có thể chứa các giá trị rỗng.
Chúng tôi cũng sử dụng GO
trong trường hợp này, thực tế không phải là lệnh Transact-SQL nhưng nó được sqlcmd nhận dạng và osql tiện ích và SQL Server Management Studio Code Editor, đồng thời báo hiệu sự kết thúc của một loạt câu lệnh Transact-SQL.
Kiểm tra kết quả
Bạn có thể kiểm tra kết quả bằng cách chạy truy vấn trả về tất cả các cột cho bảng đã cho. Như thế này:
USE Solutions; SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Tasks';
Điều này liệt kê chi tiết của tất cả các cột trong Tasks
bàn. Tôi chuyển sang đúng cơ sở dữ liệu đầu tiên (trong trường hợp này là Solutions
cơ sở dữ liệu). Tất nhiên, bạn sẽ cần thay đổi cơ sở dữ liệu và tên bảng theo yêu cầu.