- Chuyên mục khác :
- Git cơ bản và nâng cao
- ·
- MySQL cơ bản và nâng cao
- ·
- MongoDB cơ bản và nâng cao
- ·
- SQL cơ bản và nâng cao
- ·
- Linux cơ bản và nâng cao
- Học MySQL cơ bản và nâng cao
- Học MySQL cơ bản và nâng cao
- MySQL là gì
- Cài đặt MySQL
- Quản lý MySQL
- Cú pháp kết hợp MySQL và PHP
- Kết nối MySQL
- Tạo Database trong MySQL
- Xóa cơ sở dữ liệu trong MySQL
- Chọn cơ sở dữ liệu trong MySQL
- Kiểu dữ liệu trong MySQL
- Tạo bảng trong MySQL
- Xóa bảng trong MySQL
- Truy vấn INSERT trong MySQL
- Truy vấn SELECT trong MySQL
- Mệnh đề WHERE trong MySQL
- Truy vấn UPDATE trong MySQL
- Truy vấn DELETE trong MySQL
- Mệnh đề LIKE trong MySQL
- Mệnh đề ORDER BY trong MySQL
- Sử dụng JOIN trong MySQL
- Xử lý giá trị NULL trong MySQL
- Regexp trong MySQL
- Transaction trong MySQL
- Lệnh ALTER trong MySQL
- Chỉ mục (INDEX) trong MySQL
- Bảng tạm trong MySQL
- Mô phỏng bảng trong MySQL
- Lấy và sử dụng MySQL Metadata
- Sử dụng Sequence trong MySQL
- Xử lý bản sao trong MySQL
- Injection trong MySQL và SQL
- Export và Phương thức Backup trong MySQL
- Import và phương thức Recovery trong MySQL
- Mệnh đề GROUP BY trong MySQL
- Mệnh đề IN trong MySQL
- Mệnh đề BETWEEN trong MySQL
- Từ khóa UNION trong MySQL
- Hàm hữu ích trong MySQL
Trong các chương trước, bạn đã thấy cách sử dụng lệnh SELECT trong SQL để lấy dữ liệu từ bảng MySQL. Bạn cũng đã hiểu cách sử dụng một mệnh đề điều kiện WHERE để chọn các bản ghi cần thiết.
Mệnh đề WHERE với dấu bằng (=) làm việc khá khéo léo khi chúng ta muốn thực hiện một so khớp chính xác. Giống lệnh if "ho = 'Nguyen'". Nhưng có thể bạn muốn lọc tất cả kết quả mà trong ho chứa "nguyen". Việc này có thể được xử lý bởi sử dụng mệnh đề LIKE đi cùng với mệnh đề WHERE.
Nếu mệnh đề LIKE trong SQL được sử dụng với các ký tự %, thì nó làm việc giống như một siêu ký tự (*) trong UNIX trong khi liệt kê tất cả các file hoặc thư mục tại dòng nhắc lệnh.
Khi không sử dụng ký tự %, mệnh đề LIKE là giống như dấu bằng đi cùng với mệnh đề WHERE.
Cú pháp
Cú pháp SQL chung của lệnh SELECT đi cùng với mệnh đề LIKE để lấy dữ liệu từ bảng MySQL là:
SELECT truong1, truong2,...truongN FROM ten_bang WHERE truong1 LIKE dieuKien [AND [OR]] truong2 = 'giaTri'
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ể sử dụng mệnh đề LIKE cùng với mệnh đề WHERE.
Bạn có thể sử dụng mệnh đề LIKE thay cho dấu bằng.
Khi LIKE được sử dụng cùng với ký hiệu % thì nó làm việc giống như một siêu ký tự *.
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 hoặc OR.
Một mệnh đề WHERE…LIKE 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.
Sử dụng mệnh đề LIKE trong MySQL
Để lấy dữ liệu đã được lựa chọn từ bảng MySQL, bạn có thể sử dụng lệnh SELECT với mệnh đề WHERE…LIKE.
Ví dụ
Ví dụ sau trả về tất cả bản ghi từ bảng sinhvienk60 có ho bắt đầu với từ Nguyen:
SELECT * FROM sinhvienk60 WHERE ho LIKE 'Nguyen%';
Kết quả là:
Sử dụng mệnh đề LIKE bên trong PHP Script
Bạn dùng cú pháp tương tự của mệnh đề WHERE…LIKE 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 dữ liệu đã chọn nếu mệnh đề WHERE…LIKE được sử dụng cùng với lệnh SELECT.
Nhưng nếu mệnh đề WHERE…LIKE đang được sử dụng với lệnh DELETE hoặc UPDATE thì lời gọi hàm PHP là không cần thiết.
Ví dụ
Bạn thử ví dụ sau để trả về tất cả bản ghi từ bảng sinhvienk60 có ho bắt đầu với từ Nguyen:
<?php $dbhost = 'localhost:3036'; $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 ho LIKE "Nguyen%"'; 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à like.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/like.php sẽ cho kết quả như sau:
Các bài học MySQL phổ biến khác tại s2sontech:
Bình luận (0)