Đôi khi bạn có thể cần thêm giá trị mặc định vào cột hoặc thêm cột với giá trị mặc định trong MySQL. Bạn có thể dễ dàng thực hiện việc này bằng cách sử dụng ràng buộc mặc định trong MySQL. Dưới đây là cách thêm ràng buộc mặc định trong MySQL.
Cách thêm Ràng buộc Mặc định trong MySQL
Dưới đây là các bước để thêm ràng buộc mặc định trong MySQL. Bạn có thể thêm ràng buộc mặc định trong khi tạo bảng bằng câu lệnh CREATE TABLE hoặc sau khi tạo bảng bằng câu lệnh ALTER TABLE. Chúng ta sẽ xem xét cả hai cách tiếp cận này.
Cách thêm Ràng buộc Mặc định bằng TẠO BẢNG
Đây là cú pháp để thêm ràng buộc mặc định bằng cách sử dụng câu lệnh CREATE bảng.
mysql> create table table_name( column1 column1_definition DEFAULT default_value, column2 column2_definition, ... );
Trong truy vấn SQL ở trên, bạn cần chỉ định tên bảng table_name . Ngoài ra, bạn cần phải đề cập đến DEFAULT sau định nghĩa cột của trường mà bạn muốn thêm giá trị mặc định. Bạn cũng cần chỉ định giá trị mặc định cho cột của mình.
Phần thưởng đã đọc:MySQL Chọn N hàng đầu cho mỗi nhóm
Dưới đây là một ví dụ để thêm ràng buộc mặc định trong MySQL.
mysql> create table sample_data( id int, order_date date, amount int DEFAULT 0 ); mysql> insert into sample_data(id, order_date) values(1,'2020-08-01'); mysql> select * from sample_data; +------+------------+--------+ | id | order_date | amount | +------+------------+--------+ | 1 | 2020-08-01 | 0 | +------+------------+--------+
Trong truy vấn SQL ở trên, chúng tôi tạo dữ liệu mẫu bảng có giá trị DEFAULT 0 cho cột số tiền. Như bạn có thể thấy, khi chúng tôi chèn các giá trị vào sample_data , chúng tôi không đề cập đến giá trị cho số tiền cột. Tuy nhiên, MySQL tự động gán giá trị mặc định 0 cho cột này.
Phần thưởng đã đọc:Cách nhận dữ liệu tuần trước trong MySQL
ALTER TABLE thêm cột với giá trị mặc định trong MySQL
Tương tự, bạn có thể thêm ràng buộc mặc định bằng cách sử dụng câu lệnh ALTER TABLE cho các bảng hiện có. Đây là cú pháp của nó
mysql> ALTER TABLE table_name ALTER column_name SET DEFAULT default_value;
Trong câu lệnh ALTER TABLE ở trên, bạn cần đề cập đến tên_bảng, tên_bảng và default_value
Dưới đây là một ví dụ để thêm ràng buộc mặc định bằng ALTER TABLE. Giả sử bạn muốn đặt giá trị mặc định cho order_date trong bảng trên dữ liệu mẫu
mysql> ALTER TABLE sample_data ALTER order_date SET DEFAULT '2020-08-03'; mysql> insert into sample_data(id) values(2); mysql>select * from sample_data; mysql> select * from sample_data; +------+------------+--------+ | id | order_date | amount | +------+------------+--------+ | 1 | 2020-08-01 | 0 | | 2 | 2020-08-03 | 0 | +------+------------+--------+
Trong truy vấn SQL ở trên, chúng tôi đã thêm ràng buộc mặc định vào order_date cột. Sau đó, chúng tôi chỉ cung cấp id giá trị của cột trong câu lệnh INSERT của chúng tôi. Tuy nhiên, MySQL tự động điền order_date và số lượng dựa trên các giá trị mặc định của chúng.
Phần thưởng Đọc:Cơ sở dữ liệu sao chép MySQL
Cách xóa giá trị mặc định thành cột
Nếu bạn cần loại bỏ giá trị mặc định cho cột, thì hãy sử dụng câu lệnh DROP DEFAULT. Đây là cú pháp cho truy vấn DROP DEFAULT.
mysql> ALTER TABLE table_name ALTER column_name DROP DEFAULT;
Trong truy vấn trên, bạn cần chỉ định tên_bảng và column_name mà bạn muốn bỏ ràng buộc DEFAULT.
Đây là một ví dụ về ràng buộc DROP DEFAULT trong SQL.
mysql> ALTER TABLE sample_data ALTER order_date DROP DEFAULT;
Trong câu lệnh trên, chúng tôi đã xóa ràng buộc mặc định khỏi order_date cột.
Ubiq giúp dễ dàng trực quan hóa dữ liệu trong vài phút và theo dõi trong trang tổng quan thời gian thực. Thử nó ngay hôm nay!