Lệnh ALTER Là G?
Như đã nói Thay đổi là hằng số duy nhất
Với thời gian yêu cầu kinh doanh cũng thay đổi. Khi yêu cầu kinh doanh thay đổi, thiết kế cơ sở dữ liệu cũng cần thay đổi.
MySQL cung cấp chức năng ALTER giúp chúng tôi kết hợp các thay đổi đối với thiết kế cơ sở dữ liệu đã có .
Lệnh thay đổi được sử dụng để sửa đổi cơ sở dữ liệu, bảng, dạng xem hoặc các đối tượng cơ sở dữ liệu khác có thể cần thay đổi trong vòng đời của cơ sở dữ liệu.
Giả sử rằng chúng tôi đã hoàn thành thiết kế cơ sở dữ liệu của mình và nó đã được thực hiện. Người dùng cơ sở dữ liệu của chúng tôi đang sử dụng nó và sau đó họ nhận ra một số thông tin quan trọng đã bị bỏ lại trong giai đoạn thiết kế. Họ không muốn mất dữ liệu hiện tại mà chỉ muốn kết hợp thông tin mới. Lệnh thay đổi có ích trong các tình huống như vậy. Chúng ta có thể sử dụng lệnh thay đổi để thay đổi kiểu dữ liệu của một trường từ chuỗi say thành số, thay đổi tên trường thành tên mới hoặc thậm chí thêm một cột mới trong bảng.
Cú pháp Alter
Cú pháp cơ bản được sử dụng để thêm một cột vào bảng đã có sẵn được hiển thị bên dưới
ALTER TABLE `table_name` ADD COLUMN `column_name` `data_type`;
ĐÂY
- "ALTER TABLE` table_name` " là lệnh yêu cầu máy chủ MySQL sửa đổi bảng có tên` table_name`.
- "ADD COLUMN `column_name` `data_type`" là lệnh thông báo cho máy chủ MySQL thêm một cột mới có tên `cột_name` với kiểu dữ liệu` data_type '.
Giả sử Myflix đã giới thiệu thanh toán và thanh toán trực tuyến. Để đạt được điều đó, chúng tôi đã được yêu cầu thêm một trường cho số thẻ tín dụng trong bảng thành viên của chúng tôi. Chúng ta có thể sử dụng lệnh ALTER để làm điều đó. Trước tiên chúng ta hãy xem cấu trúc của bảng thành viên trước khi chúng tôi thực hiện bất kỳ sửa đổi nào. Kịch bản hiển thị dưới đây giúp chúng tôi làm điều đó.
SHOW COLUMNS FROM `members`;
Field | Type | Null | Key | Default | Extra |
membership_number | int(11) | NO | PRI | NULL | auto_increment |
full_names | varchar(350) | NO | | NULL | |
gender | varchar(6) | YES | | NULL | |
date_of_birth | date | YES | | NULL | |
physical_address | varchar(255) | YES | | NULL | |
postal_address | varchar(255) | YES | | NULL | |
contact_number | varchar(75) | YES | | NULL | |
email | varchar(255) | YES | | NULL | |
Chúng ta có thể sử dụng tập lệnh hiển thị bên dưới để thêm trường mới vào bảng thành viên.
ALTER TABLE `members` ADD COLUMN `credit_card_number` VARCHAR(25);
Thực thi tập lệnh trên trong MySQL đối với Myflixdb thêm một cột mới có tên số thẻ tín dụng vào bảng thành viên với VARCHAR làm kiểu dữ liệu. Thực hiện kịch bản cột chương trình cho chúng ta các kết quả sau.
SHOW COLUMNS FROM `members`;
Field | Type | Null | Key | Default | Extra |
membership_number | int(11) | NO | PRI | NULL | auto_increment |
full_names | varchar(350) | NO | | NULL | |
gender | varchar(6) | YES | | NULL | |
date_of_birth | date | YES | | NULL | |
physical_address | varchar(255) | YES | | NULL | |
postal_address | varchar(255) | YES | | NULL | |
contact_number | varchar(75) | YES | | NULL | |
email | varchar(255) | YES | | NULL | |
credit_card_number | varchar(25) | YES | |
|
Như bạn có thể thấy từ kết quả trả về, số thẻ tín dụng đã được thêm vào bảng thành viên. Dữ liệu chứa trong dữ liệu của các thành viên không bị ảnh hưởng bởi việc thêm cột mới.
Lệnh DROP là gi?
Lệnh DROP được sử dụng để
- Xóa cơ sở dữ liệu khỏi máy chủ MySQL
- Xóa một đối tượng (như Bảng, Cột) khỏi cơ sở dữ liệu.
Bây giờ chúng ta hãy xem các ví dụ thực tế sử dụng lệnh DROP.
Trong ví dụ trước của chúng tôi về Lệnh Alter, chúng tôi đã thêm một cột có tên số thẻ tín dụng vào bảng thành viên.
Giả sử chức năng thanh toán trực tuyến sẽ mất một chút thời gian và chúng tôi muốn DROP cột thẻ tín dụng
Chúng ta có thể sử dụng đoạn script sau
ALTER TABLE `members` DROP COLUMN `credit_card_number`;
Thực thi tập lệnh trên sẽ giảm cột credit_card_number khỏi bảng thành viên
Bây giờ chúng ta hãy xem các cột trong bảng thành viên để xác nhận xem cột của chúng ta đã bị hủy hay chưa.
SHOW COLUMNS FROM `members`;
Việc thực thi đoạn script trên trong bàn làm việc của MySQL đối với myflixdb cho chúng ta các kết quả sau.
Field | Type | Null | Key | Default | Extra |
membership_number | int(11) | NO | PRI | NULL | auto_increment |
full_names | varchar(350) | NO | | NULL | |
gender | varchar(6) | YES | | NULL | |
date_of_birth | date | YES | | NULL | |
physical_address | varchar(255) | YES | | NULL | |
postal_address | varchar(255) | YES | | NULL | |
contact_number | varchar(75) | YES | | NULL | |
email | varchar(255) | YES | | NULL | |
Lưu ý rằng số thẻ tín dụng đã bị loại khỏi danh sách trường.
BẢNG DROP
Cú pháp để DROP một bảng từ Cơ sở dữ liệu như sau -
DROP TABLE `sample_table`;
Hãy xem một ví dụ
DROP TABLE `categories_archive`;
Việc thực thi đoạn script trên sẽ xóa bảng có tên `chuyên mục_archive` khỏi cơ sở dữ liệu của chúng tôi.
Lệnh RENAME Là Gì?
Lệnh đổi tên được sử dụng để thay đổi tên của một đối tượng cơ sở dữ liệu hiện có (như Bảng, Cột) thành một tên mới .
Đổi tên bảng không làm mất bảng dữ liệu trong bảng.
Cú pháp: -
Lệnh đổi tên có cú pháp cơ bản sau.
RENAME TABLE `current_table_name` TO `new_table_name`;
Giả sử rằng chúng ta muốn đổi tên bảng Movierentals thành movie_rentals, chúng ta có thể sử dụng tập lệnh hiển thị bên dưới để đạt được điều đó.
RENAME TABLE `movierentals` TO `movie_rentals`;
Thực hiện đoạn script trên đổi tên bảng `Movierentals` thành` movie_rentals`.
Bây giờ chúng ta sẽ đổi tên bảng movie_rentals trở lại tên ban đầu.
RENAME TABLE `movie_rentals` TO `movierentals`;
THAY ĐỔI TỪ KHÓA
Thay đổi từ khóa cho phép bạn
- Thay đổi tên cột
- Thay đổi kiểu dữ liệu cột
- Thay đổi ràng buộc cột
Hãy xem một ví dụ. Trường tên đầy đủ trong bảng thành viên có kiểu dữ liệu varchar và có chiều rộng 150.
SHOW COLUMNS FROM `members`;
Việc thực thi đoạn script trên trong bàn làm việc của MySQL đối với myflixdb cho chúng ta các kết quả sau.
Field | Type | Null | Key | Default | Extra |
membership_number | int(11) | NO | PRI | NULL | auto_increment |
full_names | varchar(150) | NO | | NULL | |
gender | varchar(6) | YES | | NULL | |
date_of_birth | date | YES | | NULL | |
physical_address | varchar(255) | YES | | NULL | |
postal_address | varchar(255) | YES | | NULL | |
contact_number | varchar(75) | YES | | NULL | |
email | varchar(255) | YES | | NULL | |
Giả sử chúng ta muốn
- Thay đổi tên trường từ "full_names" thành "fullname
- Thay đổi nó thành kiểu dữ liệu char với chiều rộng 250
- Thêm một ràng buộc KHÔNG NULL
Chúng ta có thể thực hiện điều này bằng cách sử dụng lệnh thay đổi như sau -
ALTER TABLE `members` CHANGE COLUMN `full_names` `fullname` char(250) NOT NULL;
Thực thi tập lệnh trên trong bàn làm việc của MySQL đối với myflixdb và sau đó thực thi tập lệnh hiển thị các cột được đưa ra ở trên sẽ cho kết quả như sau.
Field | Type | Null | Key | Default | Extra |
membership_number | int(11) | NO | PRI | NULL | auto_increment |
fullnames | char(250) | NO | | NULL | |
gender | varchar(6) | YES | | NULL | |
date_of_birth | date | YES | | NULL | |
physical_address | varchar(255) | YES | | NULL | |
postal_address | varchar(255) | YES | | NULL | |
contact_number | varchar(75) | YES | | NULL | |
email | varchar(255) | YES | | NULL | |
Từ khoá MODIFY
Từ khóa MODIFY cho phép bạn
- Sửa đổi kiểu dữ liệu cột
- Sửa đổi các ràng buộc cột
Trong ví dụ CHANGE ở trên, chúng tôi đã phải thay đổi tên trường cũng như các chi tiết khác. Bỏ qua tên trường từ câu lệnh CHANGE sẽ tạo ra lỗi. Giả sử chúng ta chỉ quan tâm đến việc thay đổi loại dữ liệu và các ràng buộc trên trường mà không ảnh hưởng đến tên trường, chúng ta có thể sử dụng từ khóa MODIFY để thực hiện điều đó.
Tập lệnh bên dưới thay đổi độ rộng của trường "tên đầy đủ" từ 250 thành 50.
ALTER TABLE `members`MODIFY `fullname` char(50) NOT NULL;
Việc thực thi tập lệnh trên trong bàn làm việc của MySQL đối với myflixdb và sau đó thực thi tập lệnh hiển thị các cột được đưa ra ở trên sẽ cho kết quả như sau.
Field | Type | Null | Key | Default | Extra |
membership_number | int(11) | NO | PRI | NULL | auto_increment |
fullnames | char(50) | NO | | NULL | |
gender | varchar(6) | YES | | NULL | |
date_of_birth | date | YES | | NULL | |
physical_address | varchar(255) | YES | | NULL | |
postal_address | varchar(255) | YES | | NULL | |
contact_number | varchar(75) | YES | | NULL | |
email | varchar(255) | YES | | NULL | |
Từ khoá AFTER
Giả sử rằng chúng tôi muốn thêm một cột mới tại một vị trí cụ thể trong bảng.
Chúng ta có thể sử dụng lệnh thay đổi cùng với từ khóa SAU.
Kịch bản bên dưới thêm "date_of_registration" ngay sau ngày sinh trong bảng thành viên.
ALTER TABLE `members` ADD `date_of_registration` date NULL AFTER `date_of_birth`;
Việc thực thi tập lệnh trên trong bàn làm việc của MySQL đối với myflixdb và sau đó thực thi tập lệnh hiển thị các cột được đưa ra ở trên sẽ cho kết quả như sau.
Field | Type | Null | Key | Default | Extra |
membership_number | int(11) | NO | PRI | NULL | auto_increment |
fullnames | char(50) | NO | | NULL | |
gender | varchar(6) | YES | | NULL | |
date_of_birth | date | YES | | NULL | |
date_of_registration | date | YES | | NULL | |
physical_address | varchar(255) | YES | | NULL | |
postal_address | varchar(255) | YES | | NULL | |
contact_number | varchar(75) | YES | | NULL | |
email | varchar(255) | YES | | NULL | |
| | | | | |
Lưu ý: Hàng Hilighted được thêm vào sau date_of_birth cloumn
Tóm lược
- Lệnh thay đổi được sử dụng khi chúng ta muốn sửa đổi cơ sở dữ liệu hoặc bất kỳ đối tượng nào có trong cơ sở dữ liệu.
- Lệnh drop được sử dụng để xóa cơ sở dữ liệu khỏi máy chủ MySQL hoặc các đối tượng trong cơ sở dữ liệu.
- Lệnh đổi tên được sử dụng để thay đổi tên của bảng thành tên bảng mới.
- Từ khóa Thay đổi cho phép bạn thay đổi tên cột, loại dữ liệu và các ràng buộc
- Modify Keyword cho phép bạn sửa đổi loại dữ liệu cột và các ràng buộc
- Từ khóa After được sử dụng để xác định vị trí của một cột trong bảng
Đăng nhận xét