Ví dụ: để lấy số hàng trong bảng andreyex trong ví dụ về cơ sở dữ liệu, hãy sử dụng toán tử sau
SELECT
COUNT[*]
FROM
andrex;
+ ---------- +
| COUNT[*] |
+ ---------- +
COUNT[*]
1+ ---------- +
COUNT[*]
3
Lấy số lượng hàng MySQL trong hai hoặc nhiều bảng
Để lấy số hàng trong một số bảng, bạn sử dụng toán tử UNION để kết hợp các tập hợp kết quả được trả về bởi từng toán tử SELECT riêng lẻ
Ví dụ: để lấy số hàng trong một bảng và số hàng trong một truy vấn, hãy sử dụng các hướng dẫn sau
SELECT
COUNT[*]
5COUNT[*]
6FROM
COUNT[*]
8COUNT[*]
9SELECT
FROM
1COUNT[*]
6FROM
FROM
4
FROM
5
FROM
6FROM
7
FROM
8
Lấy số lượng hàng MySQL của tất cả các bảng trong một cơ sở dữ liệu cụ thể
Để lấy số hàng của tất cả các bảng trong một cơ sở dữ liệu cụ thể, chẳng hạn như kiểu cổ điển, bạn làm theo các bước sau
- Đầu tiên, lấy tất cả các tên bảng trong cơ sở dữ liệu
- Thứ hai, tạo một câu lệnh SQL bao gồm tất cả các toán tử SELECT COUNT[*] FROM table_name cho tất cả các bảng được phân tách bằng UNION
- Thứ ba, thực thi câu lệnh SQL bằng cách sử dụng câu lệnh đã chuẩn bị
Đầu tiên, để lấy tất cả tên của các bảng cơ sở dữ liệu, bạn truy vấn như sau từ cơ sở dữ liệu information_schema
SELECT
FROM
60FROM
FROM
62FROM
63FROM
64FROM
65
FROM
66FROM
67FROM
66FROM
69SELECT
0SELECT
1FROM
66SELECT
3
Thứ hai, để xây dựng toán tử SQL, chúng ta sử dụng hàm GROUP_CONCAT và CONCAT như sau
SELECT
SELECT
5SELECT
6SELECT
7SELECT
8SELECT
9COUNT[*]
0COUNT[*]
1FROM
COUNT[*]
3
Truy vấn này chứa danh sách tên bảng table_list, là kết quả của truy vấn ở giai đoạn đầu tiên
Truy vấn tiếp theo sử dụng truy vấn đầu tiên làm bảng dẫn xuất và trả về lệnh SQL dưới dạng chuỗi
SELECT
SELECT
5SELECT
6SELECT
7SELECT
8SELECT
9COUNT[*]
0COUNT[*]
1FROM
FROM
3FROM
60FROM
FROM
62FROM
63FROM
64FROM
9
Nếu bạn sử dụng MySQL 8. 0+, bạn có thể sử dụng MySQL CTE [biểu thức bảng chung] thay vì bảng dẫn xuất
andrex;
0SELECT
FROM
60andrex;
3andrex;
4andrex;
5andrex;
6andrex;
7andrex;
8andrex;
9andrex;
6COUNT[*]
1+ ---------- +
2
Thứ ba, bạn thực hiện toán tử @sql bằng cách sử dụng toán tử đã chuẩn bị như sau
+ ---------- +
3+ ---------- +
4+ ---------- +
5
Lấy số lượng hàng MySQL của tất cả các bảng trong cơ sở dữ liệu bằng một truy vấn
Một cách nhanh chóng để lấy số hàng của tất cả các bảng trong cơ sở dữ liệu là truy vấn trực tiếp dữ liệu từ cơ sở dữ liệu information_schema
SELECT
SELECT
6+ ---------- +
8FROM
FROM
62FROM
63FROM
64| COUNT[*] |
3
Phương pháp này đôi khi không chính xác vì số hàng trong information_schema và số hàng thực trong bảng không đồng bộ. Để tránh điều này, bạn phải làm theo hướng dẫn ANALYZE TABLE trước khi yêu cầu số hàng trong cơ sở dữ liệu information_schema
| COUNT[*] |
4
Trong bài viết này, bạn đã tìm hiểu về các cách khác nhau để lấy số hàng của một hoặc nhiều bảng trong cơ sở dữ liệu MySQL
COUNT[*]
1
COUNT[*]
2
COUNT[*]
3
COUNT[*]
4
COUNT[*]
5
COUNT[*]
6
COUNT[*]
7
COUNT[*]
8
COUNT[*]
9
COUNT[*]
00
COUNT[*]
20
COUNT[*]
21
COUNT[*]
22
COUNT[*]
23
COUNT[*]
24