Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Cách tìm kiếm chuỗi cụ thể trong bảng MySQL

Sử dụng toán tử so sánh bằng (=) cho khớp chính xác:

select * from tenBang where tenCot = 'giaTri';

Tạo bảng demo

mysql> create table DemoTable (
    -> FirstName varchar(100),
    -> LastName varchar(100)
    -> );
Query OK, 0 rows affected (0.70 sec)

Chèn dữ liệu

mysql> insert into DemoTable values('John', 'Smith');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('John', 'Doe');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable values('Chris', 'Brown');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values('Carol', 'Taylor');
Query OK, 1 row affected (0.29 sec)

Hiển thị tất cả

mysql> select * from DemoTable;

Kết quả

+-----------+----------+
| FirstName | LastName |
+-----------+----------+
| John      | Smith    |
| John      | Doe      |
| Chris     | Brown    |
| Carol     | Taylor   |
+-----------+----------+
4 rows in set (0.00 sec)

Tìm kiếm chính xác LastName = 'Doe'

mysql> select * from DemoTable where LastName = 'Doe';

Kết quả

+-----------+----------+
| FirstName | LastName |
+-----------+----------+
| John      | Doe      |
+-----------+----------+
1 row in set (0.00 sec)

So sánh các phương pháp tìm kiếm:

Phương phápCú phápTrường hợp dùng
Khớp chính xác= 'abc'Biết chính xác giá trị
Khớp một phần (prefix)LIKE 'abc%'Tự động hoàn thành, tìm tiền tố
Khớp chứa chuỗiLIKE '%abc%'Tìm kiếm chung
Khớp hậu tốLIKE '%abc'Tìm đuôi chuỗi
RegexREGEXP 'pattern'Mức phức tạp cao
Full-textMATCH() AGAINST()Tìm kiếm văn bản lớn

Lưu ý: Toán tử = có thể sử dụng index, trong khi LIKE '%...%' thường không dùng được index.