التحكم في بدأ الاسعلام من قاعدة البيانات (Node.js MySQL)
Node.js MySQL LIMITحدد النتيجة
يمكنك تحديد عدد السجلات التي يتم إرجاعها من الاستعلام ، باستخدام الأمر "LIMIT":
مثال
حدد أول 5 سجلات في جدول "العملاء":
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);
});
});
احفظ الكود أعلاه في ملف بإسم "demo_db_limit.js" وقم بتشغيل الملف:
C:\Users\Your Name>node demo_db_limit.js
والتي ستعطيك هذه النتيجة:
[
{ 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'}
]
تحديد مكان بدأ الاستعلام
إذا كنت تريد إرجاع خمسة سجلات ، بدءًا من السجل الثالث ، يمكنك استخدام الكلمة
الأساسية "OFFSET":
مثال
ابدأ من الحقل 3 وأعد خمسة سجلات :
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);
});
});
ملحوظة: "OFFSET 2" تعني البدء من المركز الثالث وليس الثاني! لان المصفوفة تبدأ
العد من الصفر
احفظ الكود أعلاه في ملف بإسم "demo_db_offset.js" وقم بتشغيل الملف:
C:\Users\Your Name>node demo_db_offset.js
والتي ستعطيك هذه النتيجة:
[
{ 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'}
]
اختصار الاستعلام
يمكنك أيضًا اختصار استعلام SQL بهذه الطريقة "LIMIT 2، 5" والتي تُرجع
نفس النتيجة:
مثال
ابدأ من العمود 3 وأعد خمسة سجلات:
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);
});
});
ملاحظة: تم عكس الأرقام: "LIMIT 2، 5" هي نفسها "LIMIT 5 OFFSET 2"