Giới Hạn Lựa Chọn Dữ Liệu Với Mệnh đề LIMIT Trong MySQL
Có thể bạn quan tâm
- Trang chủ
- Lập trình PHP
- Mệnh đề MySQL LIMIT
Trong hướng dẫn này, bạn sẽ học cách lấy số lượng bản ghi hạn chế từ bảng cơ sở dữ liệu MySQL bằng PHP.
Giới hạn số lượng kết quả
Mệnh đề LIMIT được sử dụng để hạn chế số lượng hàng được trả về bởi lệnh SELECT. Tính năng này rất hữu ích để tối ưu hóa thời gian tải trang cũng như nâng cao khả năng đọc của trang web. Ví dụ: bạn có thể chia số lượng lớn bản ghi trong nhiều trang bằng cách sử dụng phân trang, trong đó số lượng bản ghi giới hạn sẽ được tải trên mọi trang từ cơ sở dữ liệu khi người dùng yêu cầu trang đó bằng cách nhấp vào liên kết phân trang.
Cú pháp cơ bản của mệnh đề LIMIT như sau:
SELECTcolumn_name(s)FROMtable_nameLIMITrow_offset, row_count;Mệnh đề LIMIT chấp nhận một hoặc hai thông số này phải là một số nguyên dương:
- Khi hai tham số được chỉ định, tham số đầu tiên chỉ định độ lệch của hàng đầu tiên trả về tức là điểm bắt đầu, trong khi tham số thứ hai chỉ định số lượng hàng sẽ trả về. Phần bù của hàng đầu tiên là 0 (không phải 1).
- Trong khi đó, khi chỉ có một tham số được cung cấp, nó chỉ định số hàng tối đa để trả về từ đầu tập kết quả.
Ví dụ: để truy xuất ba hàng đầu tiên, bạn có thể sử dụng truy vấn sau:
SELECT*FROMpersonsLIMIT3;Để truy xuất các hàng 2-4 (bao gồm) của một tập hợp kết quả, bạn có thể sử dụng truy vấn sau:
SELECT*FROMpersonsLIMIT1, 3;Hãy tạo một truy vấn SQL bằng cách sử dụng mệnh đề LIMIT trong câu lệnh SELECT, sau đó chúng ta sẽ thực hiện truy vấn này thông qua việc chuyển nó đến hàm mysqli_query() để nhận được số lượng bản ghi giới hạn. Hãy xem xét bảng persons sau bên trong cơ sở dữ liệu demo :
+----+------------+-----------+----------------------+ | id | first_name | last_name | email | +----+------------+-----------+----------------------+ | 1 | Peter | Parker | [email protected] | | 2 | John | Rambo | [email protected] | | 3 | Clark | Kent | [email protected] | | 4 | John | Carter | [email protected] | | 5 | Harry | Potter | [email protected] | +----+------------+-----------+----------------------+Mã PHP trong ví dụ sau sẽ chỉ hiển thị ba hàng từ bảng persons .
Thủ tục
Ví dụ
<?php /* Attempt MySQL server connection. Assuming you are running MySQL server with default setting (user 'root' with no password) */ $link = mysqli_connect("localhost", "root", "", "demo"); // Check connection if($link === false){ die("ERROR: Could not connect. " . mysqli_connect_error()); } // Attempt select query execution $sql = "SELECT * FROM persons LIMIT 3"; if($result = mysqli_query($link, $sql)){ if(mysqli_num_rows($result) > 0){ echo "<table>"; echo "<tr>"; echo "<th>id</th>"; echo "<th>first_name</th>"; echo "<th>last_name</th>"; echo "<th>email</th>"; echo "</tr>"; while($row = mysqli_fetch_array($result)){ echo "<tr>"; echo "<td>" . $row['id'] . "</td>"; echo "<td>" . $row['first_name'] . "</td>"; echo "<td>" . $row['last_name'] . "</td>"; echo "<td>" . $row['email'] . "</td>"; echo "</tr>"; } echo "</table>"; // Close result set mysqli_free_result($result); } else{ echo "No records matching your query were found."; } } else{ echo "ERROR: Could not able to execute $sql. " . mysqli_error($link); } // Close connection mysqli_close($link); ?>Hướng đối tượng
Ví dụ
<?php /* Attempt MySQL server connection. Assuming you are running MySQL server with default setting (user 'root' with no password) */ $mysqli = new mysqli("localhost", "root", "", "demo"); // Check connection if($mysqli === false){ die("ERROR: Could not connect. " . $mysqli->connect_error); } // Attempt select query execution $sql = "SELECT * FROM persons LIMIT 3"; if($result = $mysqli->query($sql)){ if($result->num_rows > 0){ echo "<table>"; echo "<tr>"; echo "<th>id</th>"; echo "<th>first_name</th>"; echo "<th>last_name</th>"; echo "<th>email</th>"; echo "</tr>"; while($row = $result->fetch_array()){ echo "<tr>"; echo "<td>" . $row['id'] . "</td>"; echo "<td>" . $row['first_name'] . "</td>"; echo "<td>" . $row['last_name'] . "</td>"; echo "<td>" . $row['email'] . "</td>"; echo "</tr>"; } echo "</table>"; // Free result set $result->free(); } else{ echo "No records matching your query were found."; } } else{ echo "ERROR: Could not able to execute $sql. " . $mysqli->error; } // Close connection $mysqli->close(); ?>PDO
Ví dụ
<?php /* Attempt MySQL server connection. Assuming you are running MySQL server with default setting (user 'root' with no password) */ try{ $pdo = new PDO("mysql:host=localhost;dbname=demo", "root", ""); // Set the PDO error mode to exception $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e){ die("ERROR: Could not connect. " . $e->getMessage()); } // Attempt select query execution try{ $sql = "SELECT * FROM persons LIMIT 3"; $result = $pdo->query($sql); if($result->rowCount() > 0){ echo "<table>"; echo "<tr>"; echo "<th>id</th>"; echo "<th>first_name</th>"; echo "<th>last_name</th>"; echo "<th>email</th>"; echo "</tr>"; while($row = $result->fetch()){ echo "<tr>"; echo "<td>" . $row['id'] . "</td>"; echo "<td>" . $row['first_name'] . "</td>"; echo "<td>" . $row['last_name'] . "</td>"; echo "<td>" . $row['email'] . "</td>"; echo "</tr>"; } echo "</table>"; // Free result set unset($result); } else{ echo "No records matching your query were found."; } } catch(PDOException $e){ die("ERROR: Could not able to execute $sql. " . $e->getMessage()); } // Close connection unset($pdo); ?>Sau khi giới hạn kết quả thiết lập, kết quả sẽ giống như sau:
+----+------------+-----------+----------------------+ | id | first_name | last_name | email | +----+------------+-----------+----------------------+ | 1 | Peter | Parker | [email protected] | | 2 | John | Rambo | [email protected] | | 3 | Clark | Kent | [email protected] | +----+------------+-----------+----------------------+Bài viết này đã giúp ích cho bạn?
Có Không Trang trước Trang sau AdvertisementsTừ khóa » Cách Dùng Limit Trong Mysql
-
Mệnh đề LIMIT Trong MySQL - Học MySQL Online - Viettuts
-
Giới Hạn Kết Quả Trả Về Với LIMIT Trong MySQL
-
Mệnh đề LIMIT Trong MySQL
-
LIMIT Giới Hạn Kết Quả Trong SQL
-
HƯỚNG DẪN VỀ LỆNH LIMIT VÀ OFFSET TRONG MySQL
-
(LIMIT) Giới Hạn Số Lượng Kết Quả Trả Về Trong MySQL - Web Cơ Bản
-
Giới Hạn (LIMIT) Số Lượng Kết Quả Trả Về Trong MySQL - Web Cơ Bản
-
Mệnh đề Limit Trong MySQL - Lập Trình Từ Đầu
-
Mệnh đề LIMIT | MySQL & PHP
-
Lệnh Limit Trong Mysql Giới Hạn Kết Quả Trả Về | VietPro
-
Giới Hạn Kết Quả Trả Về Với LIMIT Trong MySQL - Vi
-
Câu Lệnh Order By Và Limit Trong MySQL Với Python - Góc Học IT
-
Câu Lệnh Order By Và Limit Trong MySQL Với PHP - Góc Học IT
-
[MySQL 20] MySQL LIMIT & OFFSET With Examples - Code Lean