Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Mục đích lệnh CHANGE trong MySQL

Chức năng

Lệnh CHANGE trong ALTER TABLE dùng để đổi tên cột (và có thể thay đổi kiểu dữ liệu, thuộc tính cùng lúc).

Cú pháp

ALTER TABLE ten_bang CHANGE ten_cot_cu ten_cot_moi kieu_du_lieu [thuoc_tinh];

Ví dụ

Tạo bảng:

CREATE TABLE DemoTable796 (
    StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Name VARCHAR(100),
    StudentAge INT
);

Kiểm tra cấu trúc:

DESC DemoTable796;

Đổi tên cột Name → StudentName:

ALTER TABLE DemoTable796 CHANGE Name StudentName VARCHAR(100);

Kiểm tra lại:

DESC DemoTable796;

Kết quả: cột Name đã thành StudentName.

CHANGE vs MODIFY vs RENAME COLUMN

LệnhChức năngLưu ý
CHANGEĐổi tên cột + có thể đổi kiểu/thuộc tínhBắt buộc nhập lại kiểu dữ liệu
MODIFYChỉ đổi kiểu/thuộc tính, KHÔNG đổi tênKhông cần nhập tên cột cũ
RENAME COLUMN (MySQL 8.0+)Chỉ đổi tên, giữ nguyên kiểu/thuộc tínhCú pháp chuẩn SQL, ngắn gọn hơn

Ví dụ MODIFY

-- Chỉ đổi kiểu, không đổi tên
ALTER TABLE DemoTable796 MODIFY StudentName VARCHAR(200);

Ví dụ RENAME COLUMN (MySQL 8.0+)

ALTER TABLE DemoTable796 RENAME COLUMN StudentName TO FullName;

Lưu ý

  • CHANGE yêu cầu nhập lại đầy đủ định nghĩa cột (kiểu, NULL/NOT NULL, DEFAULT, AUTO_INCREMENT...).
  • Nếu chỉ đổi tên, hãy dùng RENAME COLUMN (MySQL 8.0+) để tránh lỗi quên thuộc tính.
  • Đổi tên cột có trong INDEX/FOREIGN KEY: MySQL tự cập nhật metadata, nhưng cần kiểm tra application code.