Mệnh đề WHERE Trong MySQL

Học MySQL cơ bản nâng cao
  • Học MySQL cơ bản và nâng cao
  • Giới thiệu
  • MySQL là gì
  • Cài đặt
  • Quản lý
  • Cú pháp MySQL-PHP
  • Kết nối MySQL
  • Tạo Database
  • Xóa Database
  • Chọn cơ sở dữ liệu
  • Kiểu dữ liệu
  • Tạo bảng
  • Xóa bảng
  • Truy vấn Insert
  • Truy vấn Select
  • Mệnh đề Where
  • Truy vấn Update
  • Truy vấn Delete
  • Mệnh đề Like
  • Mệnh đề Order By
  • Sử dụng Join
  • Giá trị NULL
  • Regexp trong MySQL
  • Transaction trong MySQL
  • Lệnh Alter
  • Chỉ mục (Index)
  • Bảng tạm (Temporary Table)
  • Mô phỏng bảng
  • Thông tin Database
  • Sử dụng Sequence
  • Xử lý bản sao
  • SQL Injection
  • Export và Sao lưu (Backup)
  • Import và Phục hồi (Recovery)
  • Mệnh đề Group By
  • Mệnh đề In
  • Mệnh đề Between
  • Từ khóa Union
  • Hàm hữu ích
  • Tài liệu MySQL tham khảo
  • Tài liệu tham khảo
  • Học SQL cơ bản và nâng cao
  • Học PHP cơ bản và nâng cao
Mệnh đề WHERE trong MySQL Trang trước Trang sau

Trong chương trước chúng ta đã được giới thiệu cách sử dụng của lệnh SELECT trong SQL để lấy dữ liệu từ bảng MySQL. Chúng ta có thể sử dụng một mệnh đề điều kiện gọi là mệnh đề WHERE để lọc các kết quả thu được. Sử dụng mệnh đề WHERE, chúng ta có thể xác định một tiêu chuẩn lựa chọn để chọn các bản ghi cần thiết từ một bảng.

Cú pháp

Cú pháp SQL chung của lệnh SELECT với mệnh đề WHERE để lấy dữ liệu từ bảng MySQL là:

SELECT truong1, truong2,...truongN FROM ten_bang [WHERE dieuKien1 [AND [OR]] dieuKien2.....
  • Bạn có thể xác định bất kỳ điều kiện nào bởi sử dụng mệnh đề WHERE.

  • Bạn có thể xác định nhiều hơn một điều kiện bởi sử dụng các toán tử AND và OR.

  • Một mệnh đề WHERE có thể được sử dụng cùng với lệnh DELETE hoặc UPDATE trong SQL để xác định một điều kiện.

Quảng cáo

Mệnh đề WHERE làm việc giống như một điều kiện if trong bất kỳ ngôn ngữ lập trình nào. Mệnh đề này được sử dụng để so sánh giá trị đã cho với giá trị trường có sẵn trong bảng MySQL. Nếu giá trị đã cho bên ngoài là bằng với giá trị trường có sẵn trong bảng MySQL, thì nó sẽ trả về hàng đó.

Dưới đây là danh sách các toán tử có thể được sử dụng với mệnh đề WHERE:

Giả sử trường A giữ 10 và trường B giữ 20, thì:

Toán tửMiêu tảVí dụ
= Kiểm tra xem giá trị của hai toán hạng có cân bằng không, nếu có thì điều kiện trở thành true (A = B) là không true
!= Kiểm tra xem giá trị của hai toán hạng là cân bằng hay là không, nếu không cân bằng thì điều kiện trở thành true (A != B) là true
> Kiểm tra xem giá trị của toán hạng trái có lớn hơn giá trị của toán hạng phải không, nếu có thì điều kiện trở thành true (A > B) là không true
< Kiểm tra xem giá trị của toán hạng trái có nhỏ hơn giá trị của toán hạng phải không, nếu có thì điều kiện trở thành true (A < B) là true
>= Kiểm tra xem giá trị của toán hạng trái có lớn hơn hoặc bằng giá trị của toán hạng phải không, nếu có thì điều kiện trở thành true (A >= B) là không true
<= Kiểm tra xem giá trị của toán hạng trái có nhỏ hơn hoặc bằng giá trị của toán hạng phải không, nếu có thì điều kiện trở thành true (A <= B) là true

Mệnh đề WHERE là hữu ích khi bạn muốn lấy các hàng đã được lựa chọn từ một bảng, đặc biệt khi bạn sử dụng JOIN trong MySQL. Các JOIN sẽ được trình bày trong chương khác.

Sử dụng Primary Key là thói quen phổ biến để tìm kiếm các bản ghi để giúp việc tìm kiếm này nhanh hơn.

Nếu điều kiện đã cho không so khớp với bất kỳ bản ghi nào trong bảng, thì truy vấn sẽ không trả về bất kỳ hàng nào.

Ví dụ lấy dữ liệu với mệnh đề WHERE trong MySQL

Ví dụ sau sẽ trả về tất cả bản ghi từ bảng sinhvienk60 mà có tên là Thanh:

SELECT * FROM sinhvienk60 WHERE ten="Thanh";

Kết quả là:

+------+------------+------------+---------+ | mssv | ho | ten | diemthi | +------+------------+------------+---------+ | 2 | Nguyen Van | Thanh | 9.00 | +------+------------+------------+---------+

Trừ khi thực hiện một so sánh LIKE trên một chuỗi, việc so sánh là không phân biệt kiểu chữ. Bạn có thể làm cho việc tìm kiếm là phân biệt kiểu chữ bởi sử dụng từ khóa BINARY như sau:

SELECT * FROM sinhvienk60 WHERE BINARY ten="thanh";

Với bảng đã tạo của chúng ta thì không có bản ghi nào có tên là thanh, do đó lệnh trên không cho kết quả nào.

Lấy dữ liệu với mệnh đề WHERE bởi sử dụng PHP Script

Bạn có thể sử dụng cùng lệnh SQL là SELECT với mệnh đề WHERE trong hàm PHP là mysql_query(). Hàm này được sử dụng để thực thi lệnh SQL và sau đó hàm PHP khác là mysql_fetch_array() có thể được sử dụng để lấy toàn bộ dữ liệu đã chọn. Hàm này trả về các hàng dưới dạng một mảng liên hợp, một mảng số hoặc cả hai. Hàm này trả về FALSE nếu không có hàng nào như vậy.

Ví dụ

Ví dụ sau trả về tất cả bản ghi có tên là Thanh từ bảng sinhvienk60:

<?php $dbhost = 'localhost:3306'; $dbuser = 'root'; $dbpass = '123456'; $conn = mysql_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('Khong the ket noi: ' . mysql_error()); } $sql = 'SELECT mssv, ho, ten, diemthi FROM sinhvienk60 WHERE ten="Thanh"'; mysql_select_db('sinhvien'); $retval = mysql_query( $sql, $conn ); if(! $retval ) { die('Khong the lay du lieu: ' . mysql_error()); } while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) { echo "MSSV :{$row['mssv']} <br> ". "Ho: {$row['ho']} <br> ". "Ten: {$row['ten']} <br> ". "Diem Thi : {$row['diemthi']} <br> ". "--------------------------------<br>"; } echo "Lay du lieu thanh cong\n"; mysql_close($conn); ?>

Sao chép code trên trong một trình soạn thảo chẳng hạn, lưu là where.php, bạn cần xác định các tham số $dbuser và $dbpass thích hợp (tùy theo cách bạn đã thiết lập với MySQL), sau đó, mở trình duyệt, chạy locallhost/where.php sẽ cho kết quả như sau:

Mệnh đề WHERE trong MySQL-PHP 👉 Giải bài nhanh với AI Hay:

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS. Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Follow fanpage của team https://www.facebook.com/vietjackteam/ hoặc facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.

Các bài học MySQL phổ biến khác tại VietJack:

  • Tạo Database
  • Xóa Database
  • Chọn cơ sở dữ liệu
  • Kiểu dữ liệu
  • Tạo bảng
  • Xóa bảng
Trang trước Trang sau Bài viết liên quan
  • 160 bài học ngữ pháp tiếng Anh hay nhất

  • 155 bài học Java tiếng Việt hay nhất

  • 100 bài học Android tiếng Việt hay nhất

  • 247 bài học CSS tiếng Việt hay nhất

  • 197 thẻ HTML cơ bản

  • 297 bài học PHP

  • 101 bài học C++ hay nhất

  • 97 bài tập C++ có giải hay nhất

  • 208 bài học Javascript có giải hay nhất

Học cùng VietJack
Tài liệu giáo viên lop  1-2-3-8

Dịch vụ nổi bật:

  • Giải bài tập SGK & SBT
  • Tài liệu giáo viên
  • Sách
  • Khóa học
  • Thi online
  • Hỏi đáp

Trang web chia sẻ nội dung miễn phí dành cho người Việt.

Giải bài tập:

Lớp 1-2-3 Lớp 4 Lớp 5 Lớp 6 Lớp 7 Lớp 8 Lớp 9 Lớp 10 Lớp 11 Lớp 12 Lập trình Tiếng Anh

Chính sách

Chính sách bảo mật

Hình thức thanh toán

Chính sách đổi trả khóa học

Chính sách hủy khóa học

Tuyển dụng

Liên hệ với chúng tôi

Tầng 2, G4 - G5 Tòa nhà Five Star Garden, số 2 Kim Giang, Phường Khương Đình, Hà Nội

Phone: 084 283 45 85

Email: [email protected]

Tải nội dung trên Google Play Tải nội dung trên IOS Store

CÔNG TY TNHH ĐẦU TƯ VÀ DỊCH VỤ GIÁO DỤC VIETJACK

Người đại diện: Nguyễn Thanh Tuyền

Số giấy chứng nhận đăng ký kinh doanh: 0108307822, ngày cấp: 04/06/2018, nơi cấp: Sở Kế hoạch và Đầu tư thành phố Hà Nội.

2015 © All Rights Reserved. DMCA.com Protection Status

Từ khóa » Cách Dùng If Trong Mysql