http://vietjack.com/mysql/index.jsp Copyright © vietjack.com Lệnh ALTER MySQL Lệnh ALTER MySQL thực hữu ích bạn muốn thay tên cho bảng, cho trường bạn muốn thêm xóa cột tồn bảng Đầu tiên, tạo bảng hocphik61: //Lua chon co so du lieu USE sinhvien; //Tao bang hocphik61 CREATE TABLE hocphik61 ( ten VARCHAR(40), hocphi INT ); //Hien thi tat ca cac cot bang hocphik61 SHOW COLUMNS FROM hocphik61; //ket qua la: + -+ + + -+ -+ -+ | Field | Type | Null | Key | Default | Extra | + -+ -+ + -+ -+ -+ | ten | varchar(40) | YES | | NULL | | | hocphi | int(11) | YES | | NULL | | + -+ -+ + -+ + -+ Xóa, thêm tái định vị cột MySQL Giả sử bạn muốn xóa cột tồn ten từ bảng MySQL trên, bạn sử dụng mệnh đề DROP với lệnh ALTER sau: ALTER TABLE hocphik61 DROP ten; Một lệnh DROP không làm việc cột nằm bên trái bảng Để thêm cột, sử dụng ADD xác định định nghĩa cột Lệnh sau phục hồi cột ten cho bảng hocphik61: ALTER TABLE hocphik61 ADD ten VARCHAR(40); Sau thông báo lệnh này, bảng hocphik61 chứa hai cột chứa bạn lần đầu tạo bảng đó, khơng có cấu trúc Đó cột thêm vào phần cuối bảng theo mặc định Vì thế, lúc ban đầu cột ten cột bảng hocphik61, cột cuối SHOW COLUMNS FROM hocphik61; + -+ -+ + -+ -+ + | Field | Type | Null | Key | Default | Extra | + -+ + + -+ -+ -+ | hocphi | int(11) | YES | | NULL | | | ten | varchar(40) | YES | | NULL | | + + -+ + -+ -+ -+ Để bạn muốn cột vị trí cụ thể bên bảng, sử dụng FIRSTđể làm trở thành cột AFTER ten_cot để cột nên http://vietjack.com/ Trang chia sẻ các bài học online miễn phí http://vietjack.com/mysql/index.jsp Copyright © vietjack.com đặt sau cột ten_cot Bạn thử lệnh ALTER TABLE sau, sử dụng SHOW COLUMNS sau lệnh để xem hiệu lệnh đó: ALTER TABLE hocphik61 DROP ten; ALTER TABLE hocphik61 ADD ten VARCHAR(40) FIRST; //them cot ten cot dau tien ALTER TABLE hocphik61 DROP ten; ALTER TABLE hocphik61 ADD ten VARCHAR(40) AFTER hocphi; //them cot ten sau cot hocphi FIRST AFTER specifier làm việc với mệnh đề ADD Điều nghĩa bạn muốn tái định vị cột tồn bên bảng, bạn phải DROP sau ADD vị trí Thay đổi định nghĩa tên cột MySQL Để thay đổi định nghĩa cột, sử dụng mệnh đề MODIFY CHANGE với lệnh ALTER Ví dụ, để thay đổi cột ten từ VARCHAR(40) thành VARCHAR(20), bạn sử dụng: ALTER TABLE hocphik61 MODIFY ten VARCHAR(20); Với CHANGE, cú pháp có chút khác biệt Sau từ khóa CHANGE, bạn xác định cột bạn muốn thay đổi, sau xác định định nghĩa mới, bao gồm tên Bạn xem ví dụ: ALTER TABLE hocphik61 CHANGE ten hoten VARCHAR(60); Nếu bạn sử dụng CHANGE để chuyển đổi hoten từ VARCHAR(60) VARCHAR(40) mà không thay đổi tên cột, lệnh là: ALTER TABLE hocphik61 CHANGE hoten hoten VARCHAR(40); Tác động ALTER TABLE giá trị NULL DEFAULT Khi bạn MODIFY CHANGE cột, bạn xác định có hay khơng cột chứa giá trị NULL giá trị DEFAULT Thực tế, bạn không làm điều này, MySQL tự động gán giá trị cho thuộc tính Trong ví dụ sau, cột NOT NULL có giá trị mặc định 4000000 ALTER TABLE hocphik61 MODIFY hocphi BIGINT NOT NULL DEFAULT 4000000; Nếu bạn không sử dụng lệnh trên, MySQL điền giá trị NULL vào tất cột http://vietjack.com/ Trang chia sẻ các bài học online miễn phí http://vietjack.com/mysql/index.jsp Copyright © vietjack.com Thay đổi giá trị DEFAULT cột MySQL Bạn thay đổi giá trị mặc định cho cột sử dụng lệnh ALTER Bạn thử ví dụ sau: ALTER TABLE hocphik61 ALTER hocphi SET DEFAULT 3000000; //hien thi cac cot SHOW COLUMNS FROM hocphik61; //ket qua la: + -+ -+ + + -+ -+ | Field | Type | Null | Key | Default | Extra | + -+ -+ + -+ -+ -+ | ten | varchar(40) | YES | | NULL | | | hocphi | int(11) | YES | | 3000000 | | + -+ -+ + -+ -+ -+ Bạn xóa ràng buộc DEFAULT từ cột sử dụng mệnh đề DROP với lệnh ALTER ALTER TABLE hocphik61 ALTER hocphi DROP DEFAULT; //hien thi cac cot SHOW COLUMNS FROM hocphik61; //ket qua la: + -+ -+ + -+ + -+ | Field | Type | Null | Key | Default | Extra | + + -+ + -+ -+ -+ | ten | varchar(40) | YES | | NULL | | | hocphi | int(11) | YES | | NULL | | + -+ -+ + -+ -+ -+ Thay đổi kiểu bảng MySQL Bạn thay đổi kiểu bảng sử dụng TYPE với lệnh ALTER Bạn xem ví dụ sau để thay đổi hocphik61 thành kiểu bảng MyISAM Để tìm kiểu bảng tại, sử dụng lệnh SHOW TABLE STATUS ALTER TABLE hocphik61 ENGINE = MyISAM; Để tìm kiểu bảng tại, sử dụng lệnh SHOW TABLE STATUS SHOW TABLE STATUS LIKE 'hocphik61' Kết giống sau: http://vietjack.com/ Trang chia sẻ các bài học online miễn phí http://vietjack.com/mysql/index.jsp Copyright © vietjack.com Thay tên cho bảng MySQL Để thay tên cho bảng, sử dụng tùy chọn RENAME lệnh ALTER TABLE Bạn xem ví dụ sau để đổi tên hocphik61 thành hocphik62 ALTER TABLE hocphik61 RENAME TO hocphik62; Bạn sử dụng lệnh ALTER để tạo xóa INDEX MySQL file Chúng ta xem tính chương sau http://vietjack.com/ Trang chia sẻ các bài học online miễn phí ... lệnh để xem hiệu lệnh đó: ALTER TABLE hocphik61 DROP ten; ALTER TABLE hocphik61 ADD ten VARCHAR(40) FIRST; //them cot ten cot dau tien ALTER TABLE hocphik61 DROP ten; ALTER TABLE hocphik61 ADD... tùy chọn RENAME lệnh ALTER TABLE Bạn xem ví dụ sau để đổi tên hocphik61 thành hocphik62 ALTER TABLE hocphik61 RENAME TO hocphik62; Bạn sử dụng lệnh ALTER để tạo xóa INDEX MySQL file Chúng ta xem... cho thuộc tính Trong ví dụ sau, cột NOT NULL có giá trị mặc định 4000000 ALTER TABLE hocphik61 MODIFY hocphi BIGINT NOT NULL DEFAULT 4000000; Nếu bạn không sử dụng lệnh trên, MySQL điền giá trị