جلب البيانات من قاعدة البيانات (Node.js (MySQL

 جلب البيانات من قاعدة البيانات (Node.js (MySQL 
لتحديد البيانات من جدول في MySQL ، استخدم  الامر "SELECT".
مثال
حدد جميع السجلات من جدول "customers" ، وتخزينها في  result object :  
var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "yourusername",
  password: "yourpassword",
  database: "mydb"
});

con.connect(function(err) {
  if (err) throw err;
  con.query("SELECT * FROM customers", function (err, result, fields) {
    if (err) throw err;
    console.log(result);
  });
});
الامر SELECT * سيرجع جميع البيانات من جدول "customers"
احفظ الكود أعلاه في ملف يسمى "demo_db_select.js" وقم بتشغيل الملف:
C:\Users\Your Name>node demo_db_select.js
لتكون النتيجة بالشكل التالي
var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "yourusername",
  password: "yourpassword",
  database: "mydb"
});

con.connect(function(err) {
  if (err) throw err;
  con.query("SELECT name, address FROM customers", function (err, result, fields) {
    if (err) throw err;
    console.log(result);
  });
});[
  { 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'},
  { id: 6, name: 'Sandy', address: 'Ocean blvd 2'},
  { id: 7, name: 'Betty', address: 'Green Grass 1'},
  { id: 8, name: 'Richard', address: 'Sky st 331'},
  { id: 9, name: 'Susan', address: 'One way 98'},
  { id: 10, name: 'Vicky', address: 'Yellow Garden 2'},
  { id: 11, name: 'Ben', address: 'Park Lane 38'},
  { id: 12, name: 'William', address: 'Central st 954'},
  { id: 13, name: 'Chuck', address: 'Main Road 989'},
  { id: 14, name: 'Viola', address: 'Sideway 1633'}
]
اختيار الأعمدة المحددة
لتحديد بعض الأعمدة  فقط في جدول ، استخدم عبارة "SELECT" متبوعة باسم العمود.

مثال
حدد الاسم والعنوان من جدول "customers" ، واعرض كائن الإرجاع result:
var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "yourusername",
  password: "yourpassword",
  database: "mydb"
});

con.connect(function(err) {
  if (err) throw err;
  con.query("SELECT name, address FROM customers", function (err, result, fields) {
    if (err) throw err;
    console.log(result);
  });
});
احفظ الكود أعلاه في ملف يسمى "demo_db_select2.js" وقم بتشغيل الملف:
C:\Users\Your Name>node demo_db_select2.js
لتكون النتيجة كما في مثال التالي
[
  { name: 'John', address: 'Highway 71'},
  { name: 'Peter', address: 'Lowstreet 4'},
  { name: 'Amy', address: 'Apple st 652'},
  { name: 'Hannah', address: 'Mountain 21'},
  { name: 'Michael', address: 'Valley 345'},
  { name: 'Sandy', address: 'Ocean blvd 2'},
  { name: 'Betty', address: 'Green Grass 1'},
  { name: 'Richard', address: 'Sky st 331'},
  { name: 'Susan', address: 'One way 98'},
  { name: 'Vicky', address: 'Yellow Garden 2'},
  { name: 'Ben', address: 'Park Lane 38'},
  { name: 'William', address: 'Central st 954'},
  { name: 'Chuck', address: 'Main Road 989'},
  { name: 'Viola', address: 'Sideway 1633'}
]
ارجاع النتيجة على شكل كائن Object
 كما ترى من نتيجة المثال في الاعلى ، فإن الكائن الناتج هوعبارة عن مصفوفة تحتوي على كل صف ككائن Object.

يمكننا عمل حلقة تكرار للوصول الى جميع الاعمدة 
للوصول الى العمود الثالث مثلا حقل  address ، ما عليك سوى الرجوع إلى خاصية عنوان كائن المصفوفة الثالثة:
مثال
console.log(result[2].address);
لتكون النتيجة بالشكل التالي
Apple st 652
كائن Fields الباراميتر الثالث
المتغير الثالث لدالة رد الاتصال هي مصفوفة تحتوي على معلومات حول كل حقل في النتيجة.

مثال
حدد جميع السجلات من جدول "العملاء" ، واعرض كائن Fields :
var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "yourusername",
  password: "yourpassword",
  database: "mydb"
});

con.connect(function(err) {
  if (err) throw err;
  con.query("SELECT name, address FROM customers", function (err, result, fields) {
    if (err) throw err;
    console.log(fields);
  });
});
احفظ الكود أعلاه في ملف بإسم "demo_db_select_fields.js" وقم بتشغيل الملف:
C:\Users\Your Name>node demo_db_select_fields.js
لتكون النتيجة على هذا الشكل
[
  {
    catalog: 'def',
    db: 'mydb',
    table: 'customers',
    orgTable: 'customers',
    name: 'name',
    orgName: 'name',
    charsetNr: 33,
    length: 765,
    type: 253,
    flags: 0,
    decimals: 0,
    default: undefined,
    zeroFill: false,
    protocol41: true
  },
  {
    catalog: 'def',
    db: 'mydb',
    table: 'customers',
    orgTable: 'customers',
    name: 'address',
    orgName: 'address',
    charsetNr: 33,
    length: 765,
    type: 253,
    flags: 0,
    decimals: 0,
    default: undefined,
    zeroFill: false,
    protocol41: true
  }
]
كما ترى من نتيجة المثال أعلاه ، فإن كائن  fields عبارة عن مصفوفة تحتوي على معلومات حول كل حقل ككائن. 
للوصول على سبيل المثال الى اسم الحقل الثاني بالخصوص  name  ، ما عليك سوى الرجوع إلى خاصية اسم عنصر المصفوفة الثانية:
مثال
console.log(fields[1].name); 
لتكون النتيجة
address