Làm cách nào để lấy tất cả các bản ghi trong MySQL?

Ví dụ sau đây chọn các cột id, firstname và lastname từ bảng MyGuests và hiển thị nó trên trang

Ví dụ (Hướng đối tượng MySQLi)

$servername = "máy chủ cục bộ";
$username = "tên người dùng";
$password = "mật khẩu";
$dbname = "myDB";

// Tạo kết nối
$conn = new mysqli($servername, $username, $password, $dbname);
// Kiểm tra kết nối
nếu ($conn->connect_error) {
die("Kết nối thất bại. ". $conn->connect_error);
}

$sql = "CHỌN id, tên, họ TỪ MyGuests";
$result = $conn->query($sql);

nếu ($result->num_rows > 0) {
// xuất dữ liệu của từng hàng
while($row = $result->fetch_assoc()) {
tiếng vang "id. ". $row["id"]. " - Tên. ". $row["firstname"]. "". $row["họ"]. "
“;
}
} khác {
echo "0 kết quả";
}
$conn->đóng();
?>

Chạy ví dụ »

Các dòng mã để giải thích từ ví dụ trên

Đầu tiên, chúng tôi thiết lập một truy vấn SQL để chọn các cột id, firstname và lastname từ bảng MyGuests. Dòng mã tiếp theo chạy truy vấn và đặt dữ liệu kết quả vào một biến có tên $result

Sau đó, hàm num_rows() kiểm tra xem có nhiều hơn 0 hàng được trả về không

Nếu có nhiều hơn 0 hàng được trả về, hàm fetch_assoc() đặt tất cả các kết quả vào một mảng kết hợp mà chúng ta có thể lặp qua. Vòng lặp while() lặp qua tập kết quả và xuất dữ liệu từ các cột id, firstname và lastname

Ví dụ sau hiển thị giống như ví dụ trên, theo cách thủ tục MySQLi

Ví dụ (Thủ tục MySQLi)

$servername = "máy chủ cục bộ";
$username = "tên người dùng";
$password = "mật khẩu";
$dbname = "myDB";

// Tạo kết nối
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Kiểm tra kết nối
nếu (. $conn) {
die("Kết nối thất bại. ". mysqli_connect_error());
}

$sql = "CHỌN id, tên, họ TỪ MyGuests";
$result = mysqli_query($conn, $sql);

nếu (mysqli_num_rows($result) > 0) {
// xuất dữ liệu của từng hàng
while($row = mysqli_fetch_assoc($result)) {
tiếng vang "id. ". $row["id"]. " - Tên. ". $row["firstname"]. "". $row["họ"]. "
“;
}
} khác {
echo "0 kết quả";
}

mysqli_close($conn);
?>

Chạy ví dụ »



Bạn cũng có thể đưa kết quả vào một bảng HTML

Ví dụ (Hướng đối tượng MySQLi)

$servername = "máy chủ cục bộ";
$username = "tên người dùng";
$password = "mật khẩu";
$dbname = "myDB";

// Tạo kết nối
$conn = new mysqli($servername, $username, $password, $dbname);
// Kiểm tra kết nối
nếu ($conn->connect_error) {
die("Kết nối thất bại. ". $conn->connect_error);
}

$sql = "CHỌN id, tên, họ TỪ MyGuests";
$result = $conn->query($sql);

nếu ($result->num_rows > 0) {
tiếng vang "";
// xuất dữ liệu của từng hàng
while($row = $result->fetch_assoc()) {
tiếng vang "";
}
tiếng vang"

IDName". $row["id"]. "". $row["firstname"]. "". $row["họ"]. "";
} khác {
echo "0 kết quả";
}
$conn->đóng();
?>

Chạy ví dụ »


Chọn dữ liệu với PDO (+ Báo cáo đã chuẩn bị)

Ví dụ sau sử dụng câu lệnh đã chuẩn bị

Nó chọn các cột id, firstname và lastname từ bảng MyGuests và hiển thị nó trong bảng HTML

Ví dụ: để lấy số hàng trong bảng

SELECT COUNT(*) FROM customers;

Code language: SQL (Structured Query Language) (sql)
5 trong cơ sở dữ liệu mẫu, bạn sử dụng câu lệnh sau

SELECT COUNT(*) FROM customers;

Code language: SQL (Structured Query Language) (sql)

+----------+ | COUNT(*) | +----------+ | 122 | +----------+ 1 row in set (0.01 sec)

Code language: JavaScript (javascript)

Nhận số hàng MySQL của hai hoặc nhiều bảng

Để có được số hàng của nhiều bảng, bạn sử dụng toán tử

SELECT COUNT(*) FROM customers;

Code language: SQL (Structured Query Language) (sql)
6 để kết hợp các tập kết quả được trả về bởi từng câu lệnh

SELECT COUNT(*) FROM customers;

Code language: SQL (Structured Query Language) (sql)
4 riêng lẻ

Ví dụ: để lấy số lượng hàng của bảng

SELECT COUNT(*) FROM customers;

Code language: SQL (Structured Query Language) (sql)
5 và

SELECT COUNT(*) FROM customers;

Code language: SQL (Structured Query Language) (sql)
9 trong một truy vấn, bạn sử dụng câu lệnh sau

SELECT 'customers' tablename, COUNT(*) rows FROM customers UNION SELECT 'orders' tablename, COUNT(*) rows FROM orders;

Code language: SQL (Structured Query Language) (sql)

+-----------+------+ | tablename | rows | +-----------+------+ | customers | 122 | | orders | 326 | +-----------+------+ 2 rows in set (0.01 sec)

Code language: JavaScript (javascript)

Nhận số hàng MySQL của tất cả các bảng trong cơ sở dữ liệu cụ thể

Để có được hàng đếm tất cả các bảng trong một cơ sở dữ liệu cụ thể e. g. ,

+----------+ | COUNT(*) | +----------+ | 122 | +----------+ 1 row in set (0.01 sec)

Code language: JavaScript (javascript)
0, bạn sử dụng các bước sau

  1. Đầu tiên, lấy tất cả các tên bảng trong cơ sở dữ liệu
  2. 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

    +----------+ | COUNT(*) | +----------+ | 122 | +----------+ 1 row in set (0.01 sec)

    Code language: JavaScript (javascript)
    1 cho tất cả các bảng được phân tách bằng

    SELECT COUNT(*) FROM customers;

    Code language: SQL (Structured Query Language) (sql)
    6
  3. Thứ ba, thực thi câu lệnh SQL bằng câu lệnh đã chuẩn bị

Đầu tiên, để lấy tất cả các tên bảng của cơ sở dữ liệu, bạn truy vấn từ cơ sở dữ liệu

+----------+ | COUNT(*) | +----------+ | 122 | +----------+ 1 row in set (0.01 sec)

Code language: JavaScript (javascript)
3 như sau

SELECT table_name FROM information_schema.tables WHERE table_schema = 'classicmodels' AND table_type = 'BASE TABLE';

Code language: SQL (Structured Query Language) (sql)

+--------------+ | TABLE_NAME | +--------------+ | customers | | employees | | offices | | orderdetails | | orders | | payments | | productlines | | products | +--------------+ 8 rows in set (0.02 sec)

Code language: JavaScript (javascript)

Thứ hai, để xây dựng câu lệnh SQL, chúng ta sử dụng hàm

+----------+ | COUNT(*) | +----------+ | 122 | +----------+ 1 row in set (0.01 sec)

Code language: JavaScript (javascript)
4 và

+----------+ | COUNT(*) | +----------+ | 122 | +----------+ 1 row in set (0.01 sec)

Code language: JavaScript (javascript)
5 như sau

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;

Code language: SQL (Structured Query Language) (sql)

Trong truy vấn này,

+----------+ | COUNT(*) | +----------+ | 122 | +----------+ 1 row in set (0.01 sec)

Code language: JavaScript (javascript)
6 là danh sách các tên bảng là kết quả của truy vấn ở bước đầu tiên

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

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

Code language: SQL (Structured Query Language) (sql)

Nếu bạn đang 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

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;

Code language: SQL (Structured Query Language) (sql)

Thứ ba, bạn thực hiện câu lệnh

+----------+ | COUNT(*) | +----------+ | 122 | +----------+ 1 row in set (0.01 sec)

Code language: JavaScript (javascript)
7 bằng câu lệnh đã chuẩn bị như sau

SELECT COUNT(*) FROM customers;

Code language: SQL (Structured Query Language) (sql)
0
Làm cách nào để lấy tất cả các bản ghi trong MySQL?
Làm cách nào để lấy tất cả các bản ghi trong MySQL?

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 để có được 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

+----------+ | COUNT(*) | +----------+ | 122 | +----------+ 1 row in set (0.01 sec)

Code language: JavaScript (javascript)
3

SELECT COUNT(*) FROM customers;

Code language: SQL (Structured Query Language) (sql)
1
Làm cách nào để lấy tất cả các bản ghi trong MySQL?
Làm cách nào để lấy tất cả các bản ghi trong MySQL?

Phương pháp này đôi khi không chính xác vì số hàng trong

+----------+ | COUNT(*) | +----------+ | 122 | +----------+ 1 row in set (0.01 sec)

Code language: JavaScript (javascript)
3 và số 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ệnh

SELECT 'customers' tablename, COUNT(*) rows FROM customers UNION SELECT 'orders' tablename, COUNT(*) rows FROM orders;

Code language: SQL (Structured Query Language) (sql)
0 trước khi truy vấn số lượng hàng từ cơ sở dữ liệu

+----------+ | COUNT(*) | +----------+ | 122 | +----------+ 1 row in set (0.01 sec)

Code language: JavaScript (javascript)
3.

SELECT COUNT(*) FROM customers;

Code language: SQL (Structured Query Language) (sql)
2

Trong hướng dẫn này, bạn đã học được nhiều cách khác nhau để lấy số lượng hàng của một hoặc nhiều bảng trong cơ sở dữ liệu MySQL