Giới hạn MySQL của Node.js
Giới hạn kết quả
Bạn có thể giới hạn số lượng bản ghi được trả về từ truy vấn bằng cách sử dụng câu lệnh "LIMIT":
Ví dụ
Chọn 5 bản ghi đầu tiên trong bảng "khách hàng":
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "yourusername",
password: "yourpassword",
database: "mydb"
});
con.connect(function(err) {
if (err) throw err;
var sql = "SELECT * FROM customers LIMIT 5 ";
con.query(sql, function (err, result) {
if (err) throw err;
console.log(result);
});
});
Chạy ví dụ »Lưu mã ở trên vào tệp có tên "demo_db_limit.js" và chạy tệp:
Chạy "demo_db_limit.js"
C:\Users\ Your Name >node demo_db_limit.js
Điều này sẽ cho bạn kết quả này:
[
{ id: 1, name: 'John', address: 'Highway 71'},
{ id:
2, name: 'Peter', address: 'Lowstreet 4'},
{ id: 3, name: 'Amy',
address: 'Apple st 652'},
{ id: 4, name: 'Hannah', address:
'Mountain 21'},
{ id: 5, name: 'Michael', address: 'Valley 345'}
]
Bắt đầu từ vị trí khác
Nếu bạn muốn trả về năm bản ghi, bắt đầu từ bản ghi thứ ba, bạn có thể sử dụng từ khóa "OFFSET":
Ví dụ
Bắt đầu từ vị trí 3 và trả về 5 bản ghi tiếp theo:
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "yourusername",
password: "yourpassword",
database: "mydb"
});
con.connect(function(err) {
if (err) throw err;
var sql = "SELECT * FROM customers LIMIT 5 OFFSET 2 ";
con.query(sql, function (err, result) {
if (err) throw err;
console.log(result);
});
});
Chạy ví dụ »Lưu ý: "OFFSET 2", nghĩa là bắt đầu từ vị trí thứ ba, không phải vị trí thứ hai!
Lưu mã ở trên vào tệp có tên "demo_db_offset.js" và chạy tệp:
Chạy "demo_db_offset.js"
C:\Users\ Your Name >node demo_db_offset.js
Điều này sẽ cho bạn kết quả này:
[
{ id: 3, name: 'Amy',
address: 'Apple st 652'},
{ id: 4, name: 'Hannah', address:
'Mountain 21'},
{ id: 5, name: 'Michael', address: 'Valley 345'},
{ id: 6, name: 'Sandy', address: 'Ocean blvd 2'},
{ id: 7, name: 'Betty',
address: 'Green Grass 1'}
]
Cú pháp ngắn hơn
Bạn cũng có thể viết câu lệnh SQL như thế này "LIMIT 2, 5" để trả về kết quả giống như ví dụ về offset ở trên:
Ví dụ
Bắt đầu từ vị trí 3 và trả về 5 bản ghi tiếp theo:
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "yourusername",
password: "yourpassword",
database: "mydb"
});
con.connect(function(err) {
if (err) throw err;
var sql = "SELECT * FROM customers LIMIT 2, 5 ";
con.query(sql, function (err, result) {
if (err) throw err;
console.log(result);
});
});
Chạy ví dụ »Lưu ý: Các số đảo ngược: “LIMIT 2, 5” giống với “LIMIT 5 OFFSET 2”