Bản tóm tắt. trong hướng dẫn này, bạn sẽ học cách xác định ràng buộc CREATE TABLE tasks (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
start_date DATE NOT NULL,
end_date DATE
);
Code language: SQL (Structured Query Language) (sql) 2 cho cột, thêm ràng buộc CREATE TABLE tasks (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
start_date DATE NOT NULL,
end_date DATE
);
Code language: SQL (Structured Query Language) (sql) 2 vào cột hiện có và xóa ràng buộc CREATE TABLE tasks (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
start_date DATE NOT NULL,
end_date DATE
);
Code language: SQL (Structured Query Language) (sql) 2 khỏi cộtGiới thiệu về ràng buộc MySQL CREATE TABLE tasks (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
start_date DATE NOT NULL,
end_date DATE
);
Code language: SQL (Structured Query Language) (sql)2Ràng buộc CREATE TABLE tasks (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
start_date DATE NOT NULL,
end_date DATE
);
Code language: SQL (Structured Query Language) (sql) 2 là một ràng buộc cột để đảm bảo các giá trị được lưu trữ trong một cột không phải là CREATE TABLE tasks (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
start_date DATE NOT NULL,
end_date DATE
);
Code language: SQL (Structured Query Language) (sql) 7Cú pháp xác định ràng buộc CREATE TABLE tasks (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
start_date DATE NOT NULL,
end_date DATE
);
Code language: SQL (Structured Query Language) (sql) 2 như saucolumn_name data_type NOT NULL;
Code language: SQL (Structured Query Language) (sql)
Một cột chỉ có thể chứa một ràng buộc CREATE TABLE tasks (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
start_date DATE NOT NULL,
end_date DATE
);
Code language: SQL (Structured Query Language) (sql) 2 xác định quy tắc rằng cột không được chứa bất kỳ giá trị INSERT INTO tasks(title ,start_date, end_date)
VALUES('Learn MySQL NOT NULL constraint', '2017-02-01','2017-02-02'),
('Check and update NOT NULL constraint to your database', '2017-02-01',NULL);
Code language: SQL (Structured Query Language) (sql) 0 nào. Nói cách khác, nếu bạn cập nhật hoặc chèn INSERT INTO tasks(title ,start_date, end_date)
VALUES('Learn MySQL NOT NULL constraint', '2017-02-01','2017-02-02'),
('Check and update NOT NULL constraint to your database', '2017-02-01',NULL);
Code language: SQL (Structured Query Language) (sql) 0 vào cột CREATE TABLE tasks (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
start_date DATE NOT NULL,
end_date DATE
);
Code language: SQL (Structured Query Language) (sql) 2, MySQL sẽ báo lỗiCâu lệnh INSERT INTO tasks(title ,start_date, end_date)
VALUES('Learn MySQL NOT NULL constraint', '2017-02-01','2017-02-02'),
('Check and update NOT NULL constraint to your database', '2017-02-01',NULL);
Code language: SQL (Structured Query Language) (sql) 3 sau đây tạo bảng INSERT INTO tasks(title ,start_date, end_date)
VALUES('Learn MySQL NOT NULL constraint', '2017-02-01','2017-02-02'),
('Check and update NOT NULL constraint to your database', '2017-02-01',NULL);
Code language: SQL (Structured Query Language) (sql) 4CREATE TABLE tasks (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
start_date DATE NOT NULL,
end_date DATE
);
Code language: SQL (Structured Query Language) (sql)
Trong bảng INSERT INTO tasks(title ,start_date, end_date)
VALUES('Learn MySQL NOT NULL constraint', '2017-02-01','2017-02-02'),
('Check and update NOT NULL constraint to your database', '2017-02-01',NULL);
Code language: SQL (Structured Query Language) (sql) 4, chúng tôi xác định rõ ràng các cột INSERT INTO tasks(title ,start_date, end_date)
VALUES('Learn MySQL NOT NULL constraint', '2017-02-01','2017-02-02'),
('Check and update NOT NULL constraint to your database', '2017-02-01',NULL);
Code language: SQL (Structured Query Language) (sql) 6 và INSERT INTO tasks(title ,start_date, end_date)
VALUES('Learn MySQL NOT NULL constraint', '2017-02-01','2017-02-02'),
('Check and update NOT NULL constraint to your database', '2017-02-01',NULL);
Code language: SQL (Structured Query Language) (sql) 7 với ràng buộc CREATE TABLE tasks (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
start_date DATE NOT NULL,
end_date DATE
);
Code language: SQL (Structured Query Language) (sql) 2. Cột INSERT INTO tasks(title ,start_date, end_date)
VALUES('Learn MySQL NOT NULL constraint', '2017-02-01','2017-02-02'),
('Check and update NOT NULL constraint to your database', '2017-02-01',NULL);
Code language: SQL (Structured Query Language) (sql) 9 có ràng buộc SELECT *
FROM tasks
WHERE end_date IS NULL;
Code language: SQL (Structured Query Language) (sql) 0, do đó, nó ngầm định bao gồm ràng buộc CREATE TABLE tasks (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
start_date DATE NOT NULL,
end_date DATE
);
Code language: SQL (Structured Query Language) (sql) 2Cột SELECT *
FROM tasks
WHERE end_date IS NULL;
Code language: SQL (Structured Query Language) (sql) 2 có thể có giá trị INSERT INTO tasks(title ,start_date, end_date)
VALUES('Learn MySQL NOT NULL constraint', '2017-02-01','2017-02-02'),
('Check and update NOT NULL constraint to your database', '2017-02-01',NULL);
Code language: SQL (Structured Query Language) (sql) 0, giả sử rằng khi bạn tạo một nhiệm vụ mới, bạn có thể không biết khi nào nhiệm vụ có thể hoàn thànhĐó là một cách thực hành tốt để có ràng buộc CREATE TABLE tasks (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
start_date DATE NOT NULL,
end_date DATE
);
Code language: SQL (Structured Query Language) (sql) 2 trong mỗi cột của bảng trừ khi bạn có lý do chính đáng để không làm như vậyNói chung, giá trị INSERT INTO tasks(title ,start_date, end_date)
VALUES('Learn MySQL NOT NULL constraint', '2017-02-01','2017-02-02'),
('Check and update NOT NULL constraint to your database', '2017-02-01',NULL);
Code language: SQL (Structured Query Language) (sql) 0 làm cho các truy vấn của bạn phức tạp hơn vì bạn phải sử dụng các hàm như SELECT *
FROM tasks
WHERE end_date IS NULL;
Code language: SQL (Structured Query Language) (sql) 6, SELECT *
FROM tasks
WHERE end_date IS NULL;
Code language: SQL (Structured Query Language) (sql) 7 và SELECT *
FROM tasks
WHERE end_date IS NULL;
Code language: SQL (Structured Query Language) (sql) 8 để xử lý INSERT INTO tasks(title ,start_date, end_date)
VALUES('Learn MySQL NOT NULL constraint', '2017-02-01','2017-02-02'),
('Check and update NOT NULL constraint to your database', '2017-02-01',NULL);
Code language: SQL (Structured Query Language) (sql) 0Thêm ràng buộc CREATE TABLE tasks (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
start_date DATE NOT NULL,
end_date DATE
);
Code language: SQL (Structured Query Language) (sql)2 vào cột hiện cóThông thường, bạn thêm các ràng buộc CREATE TABLE tasks (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
start_date DATE NOT NULL,
end_date DATE
);
Code language: SQL (Structured Query Language) (sql) 2 vào các cột khi tạo bảng. Đôi khi, bạn muốn thêm ràng buộc CREATE TABLE tasks (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
start_date DATE NOT NULL,
end_date DATE
);
Code language: SQL (Structured Query Language) (sql) 2 vào cột có thể NULL của bảng hiện có. Trong trường hợp này, bạn sử dụng các bước sau- Kiểm tra các giá trị hiện tại của cột nếu có bất kỳ
INSERT INTO tasks(title ,start_date, end_date)
VALUES('Learn MySQL NOT NULL constraint', '2017-02-01','2017-02-02'),
('Check and update NOT NULL constraint to your database', '2017-02-01',NULL);
Code language: SQL (Structured Query Language) (sql) 0 - Cập nhật
INSERT INTO tasks(title ,start_date, end_date)
VALUES('Learn MySQL NOT NULL constraint', '2017-02-01','2017-02-02'),
('Check and update NOT NULL constraint to your database', '2017-02-01',NULL);
Code language: SQL (Structured Query Language) (sql) 0 thành non-INSERT INTO tasks(title ,start_date, end_date)
VALUES('Learn MySQL NOT NULL constraint', '2017-02-01','2017-02-02'),
('Check and update NOT NULL constraint to your database', '2017-02-01',NULL);
Code language: SQL (Structured Query Language) (sql) 0 nếu tồn tại UPDATE tasks
SET
end_date = start_date + 7
WHERE
end_date IS NULL;
Code language: SQL (Structured Query Language) (sql) 6 - Sửa đổi cột với ràng buộc
CREATE TABLE tasks (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
start_date DATE NOT NULL,
end_date DATE
);
Code language: SQL (Structured Query Language) (sql) 2
Xem xét ví dụ sau Câu lệnh sau đây chèn một số hàng vào bảng INSERT INTO tasks(title ,start_date, end_date)
VALUES('Learn MySQL NOT NULL constraint', '2017-02-01','2017-02-02'),
('Check and update NOT NULL constraint to your database', '2017-02-01',NULL);
Code language: SQL (Structured Query Language) (sql) 4 để minh họaINSERT INTO tasks(title ,start_date, end_date)
VALUES('Learn MySQL NOT NULL constraint', '2017-02-01','2017-02-02'),
('Check and update NOT NULL constraint to your database', '2017-02-01',NULL);
Code language: SQL (Structured Query Language) (sql)
Giả sử bạn muốn buộc người dùng đưa ra ngày kết thúc ước tính khi tạo tác vụ mới. Để thực hiện quy tắc này, bạn thêm ràng buộc CREATE TABLE tasks (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
start_date DATE NOT NULL,
end_date DATE
);
Code language: SQL (Structured Query Language) (sql) 2 vào cột SELECT *
FROM tasks
WHERE end_date IS NULL;
Code language: SQL (Structured Query Language) (sql) 2 của bảng INSERT INTO tasks(title ,start_date, end_date)
VALUES('Learn MySQL NOT NULL constraint', '2017-02-01','2017-02-02'),
('Check and update NOT NULL constraint to your database', '2017-02-01',NULL);
Code language: SQL (Structured Query Language) (sql) 4Trước tiên, hãy sử dụng toán tử SELECT * FROM tasks;
Code language: SQL (Structured Query Language) (sql) 2 để tìm các hàng có UPDATE tasks
SET
end_date = start_date + 7
WHERE
end_date IS NULL;
Code language: SQL (Structured Query Language) (sql) 6 trong cột SELECT *
FROM tasks
WHERE end_date IS NULL;
Code language: SQL (Structured Query Language) (sql) 2SELECT *
FROM tasks
WHERE end_date IS NULL;
Code language: SQL (Structured Query Language) (sql)
Truy vấn đã trả về một hàng có INSERT INTO tasks(title ,start_date, end_date)
VALUES('Learn MySQL NOT NULL constraint', '2017-02-01','2017-02-02'),
('Check and update NOT NULL constraint to your database', '2017-02-01',NULL);
Code language: SQL (Structured Query Language) (sql) 0 trong cột SELECT *
FROM tasks
WHERE end_date IS NULL;
Code language: SQL (Structured Query Language) (sql) 2Thứ hai, cập nhật các giá trị INSERT INTO tasks(title ,start_date, end_date)
VALUES('Learn MySQL NOT NULL constraint', '2017-02-01','2017-02-02'),
('Check and update NOT NULL constraint to your database', '2017-02-01',NULL);
Code language: SQL (Structured Query Language) (sql) 0 thành các giá trị khác null. Trong trường hợp này, bạn có thể tạo ra một quy tắc rằng nếu SELECT *
FROM tasks
WHERE end_date IS NULL;
Code language: SQL (Structured Query Language) (sql) 2 là INSERT INTO tasks(title ,start_date, end_date)
VALUES('Learn MySQL NOT NULL constraint', '2017-02-01','2017-02-02'),
('Check and update NOT NULL constraint to your database', '2017-02-01',NULL);
Code language: SQL (Structured Query Language) (sql) 0, thì ngày kết thúc là một tuần sau ngày bắt đầuUPDATE tasks
SET
end_date = start_date + 7
WHERE
end_date IS NULL;
Code language: SQL (Structured Query Language) (sql)
Truy vấn này xác minh bản cập nhật SELECT * FROM tasks;
Code language: SQL (Structured Query Language) (sql)
Thứ ba, thêm ràng buộc CREATE TABLE tasks (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
start_date DATE NOT NULL,
end_date DATE
);
Code language: SQL (Structured Query Language) (sql) 2 vào cột SELECT *
FROM tasks
WHERE end_date IS NULL;
Code language: SQL (Structured Query Language) (sql) 2 bằng cách sử dụng câu lệnh ALTER TABLE table_name
CHANGE
old_column_name
new_column_name column_definition;
Code language: SQL (Structured Query Language) (sql) 2 sau đây. ALTER TABLE table_name
CHANGE
old_column_name
new_column_name column_definition;
Code language: SQL (Structured Query Language) (sql)
Trong trường hợp này, tên của cột cũ và cột mới giống nhau ngoại trừ cột phải có ràng buộc CREATE TABLE tasks (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
start_date DATE NOT NULL,
end_date DATE
);
Code language: SQL (Structured Query Language) (sql) 2ALTER TABLE tasks
CHANGE
end_date
end_date DATE NOT NULL;
Code language: SQL (Structured Query Language) (sql)
Hãy xác minh sự thay đổi bằng cách sử dụng câu lệnh ALTER TABLE table_name
CHANGE
old_column_name
new_column_name column_definition;
Code language: SQL (Structured Query Language) (sql) 4DESCRIBE tasks;
Code language: SQL (Structured Query Language) (sql)
Như bạn thấy, ràng buộc CREATE TABLE tasks (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
start_date DATE NOT NULL,
end_date DATE
);
Code language: SQL (Structured Query Language) (sql) 2 đã được thêm vào cột SELECT *
FROM tasks
WHERE end_date IS NULL;
Code language: SQL (Structured Query Language) (sql) 2 thành công. Thả một ràng buộc CREATE TABLE tasks (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
start_date DATE NOT NULL,
end_date DATE
);
Code language: SQL (Structured Query Language) (sql)2Để loại bỏ ràng buộc CREATE TABLE tasks (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
start_date DATE NOT NULL,
end_date DATE
);
Code language: SQL (Structured Query Language) (sql) 2 cho một cột, bạn sử dụng câu lệnh ALTER TABLE table_name
CHANGE
old_column_name
new_column_name column_definition;
Code language: SQL (Structured Query Language) (sql) 9ALTER TABLE table_name
MODIFY column_name column_definition;
Code language: SQL (Structured Query Language) (sql)
Lưu ý rằng định nghĩa cột (column_definition) phải trình bày lại định nghĩa cột ban đầu mà không có ràng buộc CREATE TABLE tasks (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
start_date DATE NOT NULL,
end_date DATE
);
Code language: SQL (Structured Query Language) (sql) 2Ví dụ: câu lệnh sau loại bỏ ràng buộc CREATE TABLE tasks (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
start_date DATE NOT NULL,
end_date DATE
);
Code language: SQL (Structured Query Language) (sql) 2 khỏi cột SELECT *
FROM tasks
WHERE end_date IS NULL;
Code language: SQL (Structured Query Language) (sql) 2 trong bảng INSERT INTO tasks(title ,start_date, end_date)
VALUES('Learn MySQL NOT NULL constraint', '2017-02-01','2017-02-02'),
('Check and update NOT NULL constraint to your database', '2017-02-01',NULL);
Code language: SQL (Structured Query Language) (sql) 4CREATE TABLE tasks (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
start_date DATE NOT NULL,
end_date DATE
);
Code language: SQL (Structured Query Language) (sql) 0Để đảm bảo rằng câu lệnh thực sự đã loại bỏ ràng buộc CREATE TABLE tasks (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
start_date DATE NOT NULL,
end_date DATE
);
Code language: SQL (Structured Query Language) (sql) 2, bạn có thể sử dụng lệnh ALTER TABLE tasks
CHANGE
end_date
end_date DATE NOT NULL;
Code language: SQL (Structured Query Language) (sql) 5 để xem toàn bộ định nghĩa cộtLưu ý rằng câu lệnh ALTER TABLE table_name
CHANGE
old_column_name
new_column_name column_definition;
Code language: SQL (Structured Query Language) (sql) 4 cũng thực hiện thủ thuậtCREATE TABLE tasks (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
start_date DATE NOT NULL,
end_date DATE
);
Code language: SQL (Structured Query Language) (sql) 1Trong hướng dẫn này, bạn đã học cách xác định ràng buộc CREATE TABLE tasks (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
start_date DATE NOT NULL,
end_date DATE
);
Code language: SQL (Structured Query Language) (sql) 2 cho cột, thêm ràng buộc CREATE TABLE tasks (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
start_date DATE NOT NULL,
end_date DATE
);
Code language: SQL (Structured Query Language) (sql) 2 vào cột và xóa ràng buộc CREATE TABLE tasks (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
start_date DATE NOT NULL,
end_date DATE
);
Code language: SQL (Structured Query Language) (sql) 2 khỏi cột
KHÔNG NULL kiểm tra MySQL?
Điều kiện MySQL IS NOT NULL được dùng để kiểm tra giá trị NOT NULL trong biểu thức . Nó được sử dụng với các câu lệnh SELECT, INSERT, UPDATE và DELETE. cú pháp. biểu thức KHÔNG NULL.
Là NULL và không phải là null trong MySQL?
“IS NULL” là từ khóa thực hiện phép so sánh Boolean. Nó trả về true nếu giá trị được cung cấp là NULL và sai nếu giá trị được cung cấp không phải là NULL. “NOT NULL” là từ khóa thực hiện phép so sánh Boolean. Nó trả về true nếu giá trị được cung cấp không phải là NULL và sai nếu giá trị được cung cấp là null
KHÔNG PHẢI LÀ NULL hoặc. = NULL SQL?
Điều kiện IS NOT NULL được sử dụng trong SQL để kiểm tra giá trị không phải NULL . Nó trả về TRUE nếu tìm thấy giá trị không NULL, ngược lại nó trả về FALSE. Nó có thể được sử dụng trong câu lệnh SELECT, INSERT, UPDATE hoặc DELETE.
KHÔNG PHẢI LÀ NULL hoặc. = KHÔNG?
Điều kiện IS NULL được thỏa mãn nếu cột chứa giá trị null hoặc nếu biểu thức không thể được đánh giá vì nó chứa một hoặc nhiều giá trị null. Nếu bạn sử dụng toán tử IS NOT NULL, thì điều kiện được thỏa mãn khi toán hạng là giá trị cột không phải là null hoặc một biểu thức không có giá trị là null. |