Trước tiên chúng ta hãy tạo một bảng - Show
mysql> create table DemoTable807( ClientId int NOT NULL AUTO_INCREMENT PRIMARY KEY, ClientName varchar(100), ClientCountryName varchar(100) ); Query OK, 0 rows affected (0.64 sec) Chèn một số bản ghi vào bảng bằng lệnh chèn - mysql> insert into DemoTable807(ClientName,ClientCountryName) values('Chris','UK'); Query OK, 1 row affected (0.20 sec) mysql> insert into DemoTable807(ClientName,ClientCountryName) values('David','AUS'); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable807(ClientName,ClientCountryName) values('Robert','US'); Query OK, 1 row affected (0.74 sec) mysql> insert into DemoTable807(ClientName,ClientCountryName) values('Mike','ENG'); Query OK, 1 row affected (0.14 sec) Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select - mysql> select *from DemoTable807; Điều này sẽ tạo ra đầu ra sau - +----------+------------+-------------------+ | ClientId | ClientName | ClientCountryName | +----------+------------+-------------------+ | 1 | Chris | UK | | 2 | David | AUS | | 3 | Robert | US | | 4 | Mike | ENG | +----------+------------+-------------------+ 4 rows in set (0.00 sec) Sau đây là truy vấn để kiểm tra xem một giá trị có tồn tại trong một cột trong bảng MySQL hay không - mysql> select *from DemoTable807 where ClientCountryName='US'; Điều này sẽ tạo ra đầu ra sau - +----------+------------+-------------------+ | ClientId | ClientName | ClientCountryName | +----------+------------+-------------------+ | 3 | Robert | US | +----------+------------+-------------------+ 1 row in set (0.00 sec) Hướng dẫn MySQL này khám phá tất cả các toán tử so sánh được sử dụng để kiểm tra sự bằng nhau và bất bình đẳng, cũng như các toán tử nâng cao hơn Sự miêu tảToán tử so sánh được sử dụng trong mệnh đề WHERE để xác định bản ghi nào cần chọn. Đây là danh sách các toán tử so sánh mà bạn có thể sử dụng trong MySQL Comparison OperatorDescription=Equal<=>Equal (Safe to compare NULL values)<>Not Equal!=Not Equal>Greater Than>=Greater Than or EqualVí dụ - Toán tử đẳng thứcTrong MySQL, bạn có thể sử dụng toán tử mysql> select *from DemoTable807;7 để kiểm tra sự bằng nhau trong một truy vấn. Toán tử mysql> select *from DemoTable807;7 chỉ có thể kiểm tra đẳng thức với các giá trị không phải là NULL Ví dụ SELECT * FROM contacts WHERE last_name = 'Johnson'; Trong ví dụ này, câu lệnh SELECT ở trên sẽ trả về tất cả các hàng từ bảng danh bạ nơi last_name bằng Johnson Ví dụ - Toán tử đẳng thức (An toàn với giá trị NULL)Bởi vì toán tử mysql> select *from DemoTable807;7 chỉ so sánh các giá trị không phải NULL, nên sẽ không an toàn khi sử dụng với các giá trị NULL. Để khắc phục hạn chế này, MySQL đã thêm toán tử SELECT * FROM contacts WHERE website1 = website2;2 để cho phép bạn kiểm tra sự bằng nhau với cả giá trị NULL và non-NULL Để giải thích rõ hơn về sự khác biệt giữa toán tử mysql> select *from DemoTable807;7 và toán tử SELECT * FROM contacts WHERE website1 = website2;2, chúng tôi sẽ đưa vào một số ví dụ với cả truy vấn và dữ liệu Giả sử rằng chúng ta có một bảng có tên là danh bạ trong MySQL được điền dữ liệu sau contact_idlast_namewebsite1website21Johnsontechonthenet.comChúng ta có thể sử dụng toán tử mysql> select *from DemoTable807;7 trong truy vấn sau SELECT * FROM contacts WHERE website1 = website2; Vì chúng tôi đã sử dụng toán tử mysql> select *from DemoTable807;7, chúng tôi sẽ nhận được kết quả saucontact_idlast_namewebsite1website23SmithTBDTDB Trong ví dụ này, câu lệnh CHỌN ở trên sẽ trả về tất cả các hàng từ bảng danh bạ trong đó trang web1 bằng trang web2. Nó không trả về bản ghi thứ hai trong đó website1 và website2 đều là giá trị NULL Bây giờ, hãy xem điều gì sẽ xảy ra khi chúng ta viết lại truy vấn của mình bằng cách sử dụng toán tử SELECT * FROM contacts WHERE website1 = website2;2 an toàn để sử dụng với các giá trị NULL mysql> insert into DemoTable807(ClientName,ClientCountryName) values('Chris','UK'); Query OK, 1 row affected (0.20 sec) mysql> insert into DemoTable807(ClientName,ClientCountryName) values('David','AUS'); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable807(ClientName,ClientCountryName) values('Robert','US'); Query OK, 1 row affected (0.74 sec) mysql> insert into DemoTable807(ClientName,ClientCountryName) values('Mike','ENG'); Query OK, 1 row affected (0.14 sec)1 Vì chúng tôi đã sử dụng toán tử SELECT * FROM contacts WHERE website1 = website2;2, chúng tôi sẽ nhận được kết quả saucontact_idlast_namewebsite1website22Anderson Bây giờ, truy vấn của chúng tôi trả về tất cả các hàng từ bảng danh bạ trong đó trang web1 bằng trang web2, bao gồm cả những bản ghi trong đó trang web1 và trang web2 là giá trị NULL Ví dụ - Toán tử bất đẳng thứcTrong MySQL, bạn có thể sử dụng toán tử SELECT * FROM contacts WHERE website1 = website2;9 hoặc mysql> insert into DemoTable807(ClientName,ClientCountryName) values('Chris','UK'); Query OK, 1 row affected (0.20 sec) mysql> insert into DemoTable807(ClientName,ClientCountryName) values('David','AUS'); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable807(ClientName,ClientCountryName) values('Robert','US'); Query OK, 1 row affected (0.74 sec) mysql> insert into DemoTable807(ClientName,ClientCountryName) values('Mike','ENG'); Query OK, 1 row affected (0.14 sec)10 để kiểm tra sự bất bình đẳng trong một truy vấn Ví dụ: chúng ta có thể kiểm tra sự bất bình đẳng bằng cách sử dụng toán tử SELECT * FROM contacts WHERE website1 = website2;9, như sau mysql> insert into DemoTable807(ClientName,ClientCountryName) values('Chris','UK'); Query OK, 1 row affected (0.20 sec) mysql> insert into DemoTable807(ClientName,ClientCountryName) values('David','AUS'); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable807(ClientName,ClientCountryName) values('Robert','US'); Query OK, 1 row affected (0.74 sec) mysql> insert into DemoTable807(ClientName,ClientCountryName) values('Mike','ENG'); Query OK, 1 row affected (0.14 sec)6 Trong ví dụ này, câu lệnh SELECT sẽ trả về tất cả các hàng từ bảng danh bạ nơi last_name không bằng Johnson Hoặc bạn cũng có thể viết truy vấn này bằng cách sử dụng toán tử mysql> insert into DemoTable807(ClientName,ClientCountryName) values('Chris','UK'); Query OK, 1 row affected (0.20 sec) mysql> insert into DemoTable807(ClientName,ClientCountryName) values('David','AUS'); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable807(ClientName,ClientCountryName) values('Robert','US'); Query OK, 1 row affected (0.74 sec) mysql> insert into DemoTable807(ClientName,ClientCountryName) values('Mike','ENG'); Query OK, 1 row affected (0.14 sec)10, như sau mysql> insert into DemoTable807(ClientName,ClientCountryName) values('Chris','UK'); Query OK, 1 row affected (0.20 sec) mysql> insert into DemoTable807(ClientName,ClientCountryName) values('David','AUS'); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable807(ClientName,ClientCountryName) values('Robert','US'); Query OK, 1 row affected (0.74 sec) mysql> insert into DemoTable807(ClientName,ClientCountryName) values('Mike','ENG'); Query OK, 1 row affected (0.14 sec)8 Cả hai truy vấn này sẽ trả về cùng một kết quả Ví dụ - Lớn hơn Toán tửBạn có thể sử dụng toán tử mysql> insert into DemoTable807(ClientName,ClientCountryName) values('Chris','UK'); Query OK, 1 row affected (0.20 sec) mysql> insert into DemoTable807(ClientName,ClientCountryName) values('David','AUS'); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable807(ClientName,ClientCountryName) values('Robert','US'); Query OK, 1 row affected (0.74 sec) mysql> insert into DemoTable807(ClientName,ClientCountryName) values('Mike','ENG'); Query OK, 1 row affected (0.14 sec)13 trong MySQL để kiểm tra biểu thức lớn hơn mysql> select *from DemoTable807;0 Trong ví dụ này, câu lệnh SELECT sẽ trả về tất cả các hàng từ bảng danh bạ có contact_id lớn hơn 50. Một contact_id bằng 50 sẽ không được bao gồm trong tập hợp kết quả Ví dụ - Toán tử Lớn hơn hoặc BằngTrong MySQL, bạn có thể sử dụng toán tử mysql> insert into DemoTable807(ClientName,ClientCountryName) values('Chris','UK'); Query OK, 1 row affected (0.20 sec) mysql> insert into DemoTable807(ClientName,ClientCountryName) values('David','AUS'); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable807(ClientName,ClientCountryName) values('Robert','US'); Query OK, 1 row affected (0.74 sec) mysql> insert into DemoTable807(ClientName,ClientCountryName) values('Mike','ENG'); Query OK, 1 row affected (0.14 sec)14 để kiểm tra biểu thức lớn hơn hoặc bằng mysql> select *from DemoTable807;2 Trong ví dụ này, câu lệnh SELECT sẽ trả về tất cả các hàng từ bảng danh bạ có contact_id lớn hơn hoặc bằng 50. Trong trường hợp này, contact_id bằng 50 sẽ được đưa vào tập hợp kết quả Ví dụ - Toán tử nhỏ hơnBạn có thể sử dụng toán tử mysql> insert into DemoTable807(ClientName,ClientCountryName) values('Chris','UK'); Query OK, 1 row affected (0.20 sec) mysql> insert into DemoTable807(ClientName,ClientCountryName) values('David','AUS'); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable807(ClientName,ClientCountryName) values('Robert','US'); Query OK, 1 row affected (0.74 sec) mysql> insert into DemoTable807(ClientName,ClientCountryName) values('Mike','ENG'); Query OK, 1 row affected (0.14 sec)15 trong MySQL để kiểm tra biểu thức nhỏ hơn mysql> select *from DemoTable807;4 Trong ví dụ này, câu lệnh SELECT sẽ trả về tất cả các hàng từ bảng kiểm kê có product_id nhỏ hơn 300. Product_id bằng 300 sẽ không được đưa vào tập kết quả Ví dụ - Toán tử nhỏ hơn hoặc bằngTrong MySQL, bạn có thể sử dụng toán tử mysql> insert into DemoTable807(ClientName,ClientCountryName) values('Chris','UK'); Query OK, 1 row affected (0.20 sec) mysql> insert into DemoTable807(ClientName,ClientCountryName) values('David','AUS'); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable807(ClientName,ClientCountryName) values('Robert','US'); Query OK, 1 row affected (0.74 sec) mysql> insert into DemoTable807(ClientName,ClientCountryName) values('Mike','ENG'); Query OK, 1 row affected (0.14 sec)16 để kiểm tra biểu thức nhỏ hơn hoặc bằng mysql> select *from DemoTable807;6 Trong ví dụ này, câu lệnh SELECT sẽ trả về tất cả các hàng từ bảng kiểm kê có product_id nhỏ hơn hoặc bằng 300. Trong trường hợp này, product_id bằng 300 sẽ được đưa vào tập kết quả Ví dụ - Toán tử nâng caoChúng tôi đã viết các hướng dẫn cụ thể để thảo luận về từng toán tử so sánh nâng cao hơn. Những chủ đề này sẽ được đề cập sau hoặc bạn có thể chuyển sang một trong những hướng dẫn này ngay bây giờ Làm thế nào để viết kiểm tra trong MySQL?Ràng buộc CHECK được sử dụng để giới hạn phạm vi giá trị có thể được đặt trong một cột . Nếu bạn xác định ràng buộc KIỂM TRA trên một cột, nó sẽ chỉ cho phép một số giá trị nhất định cho cột này. Nếu bạn xác định một ràng buộc KIỂM TRA trên một bảng, nó có thể giới hạn các giá trị trong các cột nhất định dựa trên các giá trị trong các cột khác trong hàng.
Làm cách nào để sử dụng chức năng kiểm tra trong MySQL?Giới thiệu. Ràng buộc CHECK là một loại ràng buộc toàn vẹn trong SQL. Ràng buộc CHECK chỉ định điều kiện tìm kiếm để kiểm tra giá trị được nhập vào một hàng . Ràng buộc bị vi phạm nếu kết quả của điều kiện tìm kiếm là SAI đối với bất kỳ hàng nào của bảng (nhưng không phải nếu kết quả là KHÔNG BIẾT hoặc ĐÚNG).
Chúng ta có thể sử dụng == trong MySQL không?Toán tử bằng nhau trong MySQL thực hiện phép so sánh bằng . Câu lệnh MySQL sau đây kiểm tra xem 1 có bằng 1 không, nếu 1 bằng 2, nếu NULL bằng NULL, nếu NULL bằng 3 và nếu 3 bằng NULL.
Làm cách nào để tìm kiếm giá trị trong bảng SQL?Làm cách nào để tìm kiếm một giá trị trong toàn bộ cơ sở dữ liệu SQL? . Trong trường Tìm kiếm văn bản, nhập văn bản cần tìm kiếm (e. g. tên biến) Từ menu thả xuống Cơ sở dữ liệu, chọn cơ sở dữ liệu để tìm kiếm trong Trong danh sách thả xuống Đối tượng, hãy chọn các loại đối tượng để tìm kiếm hoặc bỏ chọn tất cả chúng |