Chào mừng bạn đến với CodeTutHub! Trong bài viết này, chúng ta sẽ tìm hiểu về câu lệnh SELECT, một trong những câu lệnh quan trọng và được sử dụng nhiều nhất trong MySQL. SELECT giúp bạn truy vấn và lấy dữ liệu từ cơ sở dữ liệu, là bước cơ bản để tương tác và làm việc với dữ liệu trong các dự án thực tế.

1. Câu lệnh SELECT là gì?

Câu lệnh SELECT trong MySQL được sử dụng để truy vấn và lấy dữ liệu từ một hoặc nhiều bảng trong cơ sở dữ liệu. Khi bạn muốn xem dữ liệu đã được lưu trữ trong cơ sở dữ liệu, bạn sẽ sử dụng lệnh này để truy vấn và hiển thị dữ liệu cần thiết.

Cấu trúc cơ bản của câu lệnh SELECT như sau:

shell
SELECT [field_name_1, field_name_2, ...] 
FROM table_name;
  • SELECT: Từ khóa chỉ thị MySQL rằng bạn đang muốn lấy dữ liệu.
  • field_name_1, field_name_2, ...: Tên của các cột mà bạn muốn lấy dữ liệu từ bảng. Nếu muốn lấy tất cả các cột, bạn có thể sử dụng dấu *.
  • FROM table_name: Chỉ ra tên bảng mà bạn muốn lấy dữ liệu.

2. Câu lệnh SELECT cơ bản

Giả sử bạn có một bảng tên là users với các cột như id, name, và email. Để lấy tất cả dữ liệu từ bảng này, bạn sẽ sử dụng câu lệnh sau:

shell
SELECT * FROM users;

Kết quả sẽ trả về tất cả các cột và tất cả các hàng có trong bảng users.

Nếu bạn chỉ muốn lấy dữ liệu từ cột nameemail, bạn có thể sử dụng:

shell
SELECT name, email FROM users;

Lệnh này sẽ trả về chỉ hai cột nameemail của tất cả người dùng trong bảng users.

3. Câu lệnh SELECT với điều kiện (WHERE)

Trong nhiều trường hợp, bạn không cần lấy tất cả dữ liệu mà chỉ muốn truy vấn những thông tin cụ thể. Khi đó, bạn có thể sử dụng mệnh đề WHERE để lọc dữ liệu theo một điều kiện nhất định.

Ví dụ, bạn muốn lấy thông tin của người dùng có id = 1:

shell
SELECT * FROM users 
WHERE id = 1;

Hoặc bạn chỉ muốn lấy những người dùng có tên là "John":

shell
SELECT * FROM users 
WHERE name = 'John';

Mệnh đề WHERE giúp bạn thu hẹp kết quả truy vấn theo các tiêu chí cụ thể, giúp tăng tính hiệu quả và chính xác.

4. Sử dụng toán tử trong WHERE

Bạn có thể kết hợp các toán tử trong mệnh đề WHERE để xây dựng các điều kiện phức tạp hơn, bao gồm:

  • Toán tử so sánh: =, >, <, >=, <=, <> (khác).
  • Toán tử logic: AND, OR, NOT.
  • Toán tử IN: Tìm giá trị nằm trong một tập hợp.
  • Toán tử LIKE: Tìm kiếm giá trị dựa trên mẫu (pattern).

Ví dụ, bạn muốn tìm những người dùng có id lớn hơn 5:

shell
SELECT * FROM users 
WHERE id > 5;

Tìm những người dùng có tên là "John" và email chứa chữ "gmail":

shell
SELECT * FROM users 
WHERE name = 'John' AND email LIKE '%gmail%';

Trong đó, ký tự % trong LIKE đại diện cho bất kỳ chuỗi ký tự nào.

5. Sắp xếp dữ liệu với ORDER BY

Bạn có thể sắp xếp dữ liệu truy vấn bằng cách sử dụng mệnh đề ORDER BY. Mặc định, kết quả sẽ được sắp xếp theo thứ tự tăng dần (ASC), nhưng bạn có thể thay đổi thành giảm dần (DESC).

Ví dụ, để sắp xếp danh sách người dùng theo tên từ A đến Z:

shell
SELECT * FROM users 
ORDER BY name ASC;

Hoặc sắp xếp theo tên từ Z đến A:

shell
SELECT * FROM users 
ORDER BY name DESC;

6. Giới hạn số lượng kết quả với LIMIT

Nếu bạn chỉ muốn lấy một số lượng kết quả nhất định, bạn có thể sử dụng LIMIT để giới hạn số hàng trả về.

Ví dụ, để lấy 5 người dùng đầu tiên từ bảng users:

shell
SELECT * FROM users 
LIMIT 5;

Bạn cũng có thể kết hợp LIMIT với OFFSET để bỏ qua một số kết quả đầu tiên và lấy dữ liệu tiếp theo. Ví dụ:

shell
SELECT * FROM users 
LIMIT 5 OFFSET 10;

Lệnh trên sẽ lấy 5 người dùng, bắt đầu từ người dùng thứ 11.

7. Kết hợp các câu lệnh SELECT nâng cao

MySQL cho phép bạn kết hợp nhiều mệnh đề trong một câu lệnh SELECT để tạo ra các truy vấn phức tạp hơn.

Ví dụ, bạn muốn lấy 10 người dùng có email chứa chữ "gmail", sắp xếp theo tên và bắt đầu từ người dùng thứ 6:

shell
SELECT * FROM users 
WHERE email LIKE '%gmail%' 
ORDER BY name ASC 
LIMIT 10 OFFSET 5;

8. Kết luận

Câu lệnh SELECT là công cụ mạnh mẽ và quan trọng trong MySQL, giúp bạn truy xuất dữ liệu từ cơ sở dữ liệu theo nhiều cách linh hoạt. Qua bài viết này, bạn đã nắm được cú pháp cơ bản của lệnh SELECT, cách sử dụng mệnh đề WHERE để lọc dữ liệu, ORDER BY để sắp xếp và LIMIT để giới hạn kết quả.

Trong các bài học tiếp theo của series MySQL tại CodeTutHub, chúng ta sẽ đi sâu hơn vào các kỹ thuật nâng cao hơn như JOIN để kết hợp dữ liệu từ nhiều bảng và GROUP BY để nhóm dữ liệu.

Hãy tiếp tục theo dõi CodeTutHub để khám phá thêm nhiều kiến thức thú vị về MySQL!