Giới thiệu toán tử LIKE
Toán tử LIKE trong MySQL dùng với mệnh đề WHERE để tìm kiếm mẫu (pattern) cụ thể trong bảng.
Hai ký tự đại diện (wildcard) thường dùng với LIKE:
%: đại diện cho 0, 1 hoặc nhiều ký tự._(dấu gạch dưới): đại diện cho đúng 1 ký tự đơn.
Ví dụ mẫu:
LIKE 'a%': tìm giá trị bắt đầu bằng 'a'.LIKE '%a': tìm giá trị kết thúc bằng 'a'.LIKE '_a%': tìm giá trị có 'a' ở vị trí thứ 2.
Cú pháp
SELECT * FROM ten_bang WHERE ten_cot LIKE mau
Các bước thực hiện
- Import
mysql.connector - Thiết lập kết nối bằng
connect() - Tạo đối tượng con trỏ qua
cursor() - Viết truy vấn SQL với LIKE
- Thực thi truy vấn bằng
execute() - Đóng kết nối
Ví dụ minh họa
Bảng Students:
+----------+-----------+ | name | marks | +----------+-----------+ | Rohit | 62 | | Rahul | 75 | | Inder | 99 | | Khushi | 49 | | Karan | 92 | +----------+-----------+
Tìm tên học sinh bắt đầu bằng 'K':
import mysql.connector
db = mysql.connector.connect(
host="your_host",
user="your_username",
password="your_password",
database="database_name"
)
cursor = db.cursor()
query = "SELECT name FROM Students WHERE name LIKE 'K%'"
cursor.execute(query)
names = cursor.fetchall()
for x in names:
print(x)
db.close()
Kết quả
Karan Khushi
Tương tự, có thể tìm kiếm theo nhiều mẫu khác nhau bằng các ký tự đại diện.