Tóm tắt: Trong hướng dẫn này, bạn sẽ tìm hiểu nhiều cách khác nhau để có được số lượng hàng MySQL trong cơ sở dữ liệu.: in this tutorial, you will learn various ways to get MySQL row count in the database.
Nhận số lượng hàng mysql của một bảng
Để có được số lượng hàng của một bảng, bạn sử dụng
3 trong câu lệnhCode language: SQL [Structured Query Language] [sql]
SELECT COUNT[*] FROM customers;
4 như sau:Code language: SQL [Structured Query Language] [sql]
SELECT COUNT[*] FROM customers;
Code language: SQL [Structured Query Language] [sql]
SELECT COUNT[*] FROM table_name;
Ví dụ: để có được số lượng hàng trong bảng
5 trong cơ sở dữ liệu mẫu, bạn sử dụng câu lệnh sau:Code language: SQL [Structured Query Language] [sql]
SELECT COUNT[*] FROM customers;
Code language: SQL [Structured Query Language] [sql]
SELECT COUNT[*] FROM customers;
Code language: JavaScript [javascript]
+----------+ | COUNT[*] | +----------+ | 122 | +----------+ 1 row in set [0.01 sec]
Nhận số lượng hàng MySQL của hai hoặc nhiều bảng
Để có được số lượng hàng của nhiều bảng, bạn sử dụng toán tử
6 để kết hợp các bộ kết quả được trả về bởi mỗi câu lệnhCode language: SQL [Structured Query Language] [sql]
SELECT COUNT[*] FROM customers;
4 riêng lẻ.Code language: SQL [Structured Query Language] [sql]
SELECT COUNT[*] FROM customers;
Ví dụ: để có được số lượng hàng của các bảng
5 và
SELECT COUNT[*] FROM customers;
Code language: SQL [Structured Query Language] [sql]
9 trong một truy vấn duy nhất, bạn sử dụng câu lệnh sau.Code language: SQL [Structured Query Language] [sql]
SELECT COUNT[*] FROM customers;
Code language: SQL [Structured Query Language] [sql]
SELECT 'customers' tablename, COUNT[*] rows FROM customers UNION SELECT 'orders' tablename, COUNT[*] rows FROM orders;
Code language: JavaScript [javascript]
+-----------+------+ | tablename | rows | +-----------+------+ | customers | 122 | | orders | 326 | +-----------+------+ 2 rows in set [0.01 sec]
Nhận 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ể
Để có được số lượng tất cả các bảng trong một cơ sở dữ liệu cụ thể, ví dụ:
0, bạn sử dụng các bước sau:Code language: JavaScript [javascript]
+----------+ | COUNT[*] | +----------+ | 122 | +----------+ 1 row in set [0.01 sec]
- Đầu tiên, lấy tất cả các tên bảng trong cơ sở dữ liệu
- Thứ hai, xây dựng một câu lệnh SQL bao gồm tất cả các câu lệnh
1 cho tất cả các bảng được phân tách bằng
Code language: JavaScript [javascript]+----------+ | COUNT[*] | +----------+ | 122 | +----------+ 1 row in set [0.01 sec]
6.
Code language: SQL [Structured Query Language] [sql]SELECT COUNT[*] FROM customers;
- 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 bảng của cơ sở dữ liệu, bạn truy vấn từ cơ sở dữ liệu
3 như sau:Code language: JavaScript [javascript]
+----------+ | COUNT[*] | +----------+ | 122 | +----------+ 1 row in set [0.01 sec]
Code language: SQL [Structured Query Language] [sql]
SELECT table_name FROM information_schema.tables WHERE table_schema = 'classicmodels' AND table_type = 'BASE TABLE';
Code language: JavaScript [javascript]
+--------------+ | TABLE_NAME | +--------------+ | customers | | employees | | offices | | orderdetails | | orders | | payments | | productlines | | products | +--------------+ 8 rows in set [0.02 sec]
Thứ hai, để xây dựng câu lệnh SQL, chúng tôi sử dụng
4and
+----------+ | COUNT[*] | +----------+ | 122 | +----------+ 1 row in set [0.01 sec]
Code language: JavaScript [javascript]
5Code language: JavaScript [javascript]
+----------+ | COUNT[*] | +----------+ | 122 | +----------+ 1 row in set [0.01 sec]
Code language: SQL [Structured Query Language] [sql]
SELECT CONCAT[GROUP_CONCAT[CONCAT['SELECT \'', table_name, '\' table_name,COUNT[*] rows FROM ', table_name] SEPARATOR ' UNION '], ' ORDER BY table_name'] INTO @sql FROM table_list;
Trong truy vấn này,
6 là danh sách các tên bảng là kết quả của truy vấn trong bước đầu tiên.Code language: JavaScript [javascript]
+----------+ | COUNT[*] | +----------+ | 122 | +----------+ 1 row in set [0.01 sec]
Truy vấn sau sử dụng truy vấn đầu tiên làm bảng dẫn xuất và trả về câu lệnh SQL dưới dạng chuỗi.
Code language: SQL [Structured Query Language] [sql]
SELECT CONCAT[GROUP_CONCAT[CONCAT['SELECT \'', table_name, '\' table_name,COUNT[*] rows FROM ', table_name] SEPARATOR ' UNION '], ' ORDER BY table_name'] INTO @sql FROM [SELECT table_name FROM information_schema.tables WHERE table_schema = 'classicmodels' AND table_type = 'BASE TABLE'] table_list
Nếu bạn đang sử dụng MySQL 8.0+, bạn có thể sử dụng CTE MySQL [biểu thức bảng chung] thay vì bảng dẫn xuất:
Code language: SQL [Structured Query Language] [sql]
WITH table_list AS [ SELECT table_name FROM information_schema.tables WHERE table_schema = 'classicmodels' AND table_type = 'BASE TABLE' ] SELECT CONCAT[ GROUP_CONCAT[CONCAT["SELECT '",table_name,"' table_name,COUNT[*] rows FROM ",table_name] SEPARATOR " UNION "], ' ORDER BY table_name' ] INTO @sql FROM table_list;
Thứ ba, bạn thực hiện câu lệnh
7 bằng câu lệnh & nbsp;Code language: JavaScript [javascript]
+----------+ | COUNT[*] | +----------+ | 122 | +----------+ 1 row in set [0.01 sec]
0 Đếm số lượng hàng MySQL của tất cả các bảng trong cơ sở dữ liệu với một truy vấnCode language: SQL [Structured Query Language] [sql]
SELECT COUNT[*] FROM customers;
Getting MySQL row count of all tables in a database with one query
Một cách nhanh chóng để có được số lượng hàng của tất cả các bảng trong cơ sở dữ liệu đang truy vấn dữ liệu từ cơ sở dữ liệu
3 trực tiếp:Phương pháp
+----------+ | COUNT[*] | +----------+ | 122 | +----------+ 1 row in set [0.01 sec]
Code language: JavaScript [javascript]
1 này đôi khi không chính xác vì số lượng hàng trongCode language: SQL [Structured Query Language] [sql]
SELECT COUNT[*] FROM customers;
3 và & nbsp; số lượng hàng thực tế trong các bảng không được đồng bộ hóa. Để tránh nó, bạn phải chạy câu lệnhCode language: JavaScript [javascript]
+----------+ | COUNT[*] | +----------+ | 122 | +----------+ 1 row in set [0.01 sec]
0 trước khi truy vấn số lượng hàng từ cơ sở dữ liệuCode language: SQL [Structured Query Language] [sql]
SELECT 'customers' tablename, COUNT[*] rows FROM customers UNION SELECT 'orders' tablename, COUNT[*] rows FROM orders;
3.Code language: JavaScript [javascript]
+----------+ | COUNT[*] | +----------+ | 122 | +----------+ 1 row in set [0.01 sec]
This method is sometimes not accurate because the row count in the
3 and the actual row count in the tables are not synchronized. To avoid it, you have to run theCode language: JavaScript [javascript]
+----------+ | COUNT[*] | +----------+ | 122 | +----------+ 1 row in set [0.01 sec]
0 statement before querying row count fromCode language: SQL [Structured Query Language] [sql]
SELECT 'customers' tablename, COUNT[*] rows FROM customers UNION SELECT 'orders' tablename, COUNT[*] rows FROM orders;
3 database.Code language: JavaScript [javascript]
+----------+ | COUNT[*] | +----------+ | 122 | +----------+ 1 row in set [0.01 sec]
2Code language: SQL [Structured Query Language] [sql]
SELECT COUNT[*] FROM customers;
Trong hướng dẫn này, bạn đã học được nhiều cách khác nhau để có được số lượng hàng của một hoặc nhiều bảng trong cơ sở dữ liệu MySQL.
Hướng dẫn này có hữu ích không?