با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ، با یکی دیگر از جلسات دوره کامل آموزش Node.js در خدمت شما دوستان هستیم. در این جلسه قصد داریم به آموزش دریافت اطلاعات از MySQL با Node.js و دستور SELECT در MySQL بپردازیم.
از دستور SELECT در MySQL برای انتخاب یا دریافت داده ها از جدول استفاده می شود.
در مثال زیر تمام رکورد های جدول customers را دریافت کرده و آن ها را نمایش می دهیم:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 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); }); }); |
علامت * به معنای انتخاب همه می باشد.
کد بالا را در فایلی به نام demo_db_select.js ذخیره و اجرا کنید:
C:\Users\Your Name>node demo_db_select.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’}, { 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 به همراه نام ستون استفاده می کنیم.
در مثال زیر، ستون های name و address را انتخاب کرده ایم و آن هارا نمایش می دهیم:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 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’} ] |
همانطور که از خروجی مثال بالا مشاهده می شود، شی result یک آرایه شامل هر رکورد به عنوان یک شی است.
برای بدست آوردن آدرس رکورد سوم، به صورت زیر عمل می کنیم:
1 | console.log(result[2].address); |
خروجی:
Apple st 652 |
سومین پارامتر تابع callback ، یک آرایه حاوی اطلاعاتی درمورد هر فیلد یا ستون است.
در مثال زیر اطلاعات شی fields را نمایش می دهیم:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 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: ‘address’, 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 { ] |
برای بدست آوردن نام فیلد دوم به صورت زیر عمل می کنیم:
1 | console.log(fields[1].name); |
خروجی:
address |
جلسه آموزش دریافت اطلاعات از MySQL در Node.js و دستور SELECT در MySQL نیز به پایان رسید.
در جلسه بعد به آموزش فیلتر اطلاعات در MySQL با Node.js خواهیم پرداخت. با ما همراه باشید.