Bài viết này cung cấp một ví dụ nhanh về đổi tên bảng trong SQL.
Hầu hết các RDBMS chính cho phép bạn đổi tên một cột bằng ALTER TABLE
tuyên bố. SQL Server là một ngoại lệ.
Ví dụ (Hầu hết các RDBMS)
Hầu hết các RDBMS chính cho phép bạn đổi tên một cột như sau.
Cú pháp:
ALTER TABLE table_name
RENAME COLUMN old_column_name TO new_column_name;
Ví dụ:
ALTER TABLE Products
RENAME COLUMN ProdDesc TO ProductDescription;
Ở đây, chúng tôi đã đổi tên một cột trong Products
bảng từ ProdDesc
thành ProductDescription
.
Điều đó sẽ hoạt động trong RDBMS bao gồm PostgreSQL, Oracle, SQLite, MySQL (bắt đầu với 8.0) và MariaDB (bắt đầu với 10.5.2+).
Các phiên bản trước của MySQL &MariaDB
MySQL và MariaDB không phải lúc nào cũng hỗ trợ RENAME COLUMN
cú pháp.
Trong MySQL trước phiên bản 8.0 và MariaDB trước 10.5.2+, bạn sẽ cần sử dụng CHANGE COLUMN
cú pháp thay thế.
Cú pháp:
ALTER TABLE table_name
CHANGE COLUMN old_column_name new_column_name datatype;
Ví dụ:
ALTER TABLE Products
CHANGE COLUMN ProdDesc ProductDescription varchar(500);
Lưu ý rằng cú pháp này yêu cầu bạn chỉ định lại định nghĩa cột ngay cả khi bạn chỉ đổi tên nó.
Cú pháp này vẫn được hỗ trợ trong các phiên bản sau của MySQL và MariaDB, mặc dù bây giờ chúng cũng có RENAME COLUMN
trước đó cú pháp làm cho nó dễ dàng hơn.
Máy chủ SQL
Trong SQL Server, bạn sẽ cần sử dụng sp_rename
thủ tục được lưu trữ để đổi tên một cột.
Cú pháp:
sp_rename 'schema_name.table_name.old_column_name', 'new_column_name', 'COLUMN';
Bạn cũng có tùy chọn cung cấp tên tham số:
sp_rename
[ @objname = ] 'object_name' ,
[ @newname = ] 'new_name'
[ , [ @objtype = ] 'object_type' ]
Ví dụ:
EXEC sp_rename 'dbo.Products.ProdDesc', 'ProductDescription', 'COLUMN';
Hoặc:
EXEC sp_rename
@objname = 'dbo.Products.ProdDesc',
@newname = 'ProductDescription',
@objtype = 'COLUMN';