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();
?>
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);
?>
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"
} 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 sauSELECT 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ệnhSELECT 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 sauSELECT '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- Đầ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
+----------+ | 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ằngSELECT COUNT(*) FROM customers;
Code language: SQL (Structured Query Language) (sql)6 - 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ư sauSELECT 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ư sauSELECT 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ênTruy 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ư sauSELECT COUNT(*) FROM customers;
Code language: SQL (Structured Query Language) (sql)0Lấ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)3SELECT COUNT(*) FROM customers;
Code language: SQL (Structured Query Language) (sql)1Phươ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ệnhSELECT '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)2Trong 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