10. استفاده از MySql در Node.JS

خب بنظرم یکم گنگ بود دو روز قبلی و خیلی یهویی از React وارد Node شدیم. حالا چند قدمی میریم عقب تر ، اگر حس کردید دو روز قبلی رو کامل متوجه نشدید ، اشکالی نداری بعد از خوندن این درس میتونید اونا رو مجددا بخونید.

اول کار که با Express یه پروژه Node ساختیم ، یک فایل به اسم App.js درست کردیم و از پورت 8000.

خب امروز میخوایم بیایم و یک دیتابیس درست کنیم و باهاش ارتباط بگیریم. نمیدونم چرا این آموزش های توی اینترنت اینقدر قضیه رو پیچیده میکنن! مطلب به این سادگی رو .

قدم اول : نصب mysql در ترمینال با دستور زیر mysql رو نصب کنید:(توجه کنید این کارهای توی API هست)

npm install mysql

قدم دوم : تعریف کردن Connection با دیتابیس

var mysql = require('mysql');
var con = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '123456',
database: 'clients'
})
گفتم ارتباط با دیتابیس؟ ولی ما که هنوز دیتابیسی نساختیم :))) راستش قرار نیست در این باره زیاد بحث کنم ، فقط محض کامل بود سریع میگم و رد میشم ( مشکلی بود دیگه زحمت سرچ در اون زمینه رو باید بکشید)
قدم یک و نیم: اول نرم افزار Xampp رو نصب میکنید( یه سرور لوکال هست) . بعد سرویس Apach و MySql رو ران میکنید و بعد وارد Admin بخش mySql میشید( که در واقع برنامه phpmyadmin هست).
یک Table می سازم به اسم siteusers با چهارتا ستون دلخواه
بعد میرم تو بخش UserAccount و رمز Root رو عوض میکنیم. یه نکته اینکه رمز رو که عوض کردید بعد باید برید توی مسیر نصب phpmyadmin و فایل config رو پیدا کنید و رمز رو توی اون فایل وارد کنید.

قدم سوم: برقراری ارتباط با دیتابیس:

con.connect(function(err){
if(err) throw err;
console.log('Connected!');
})

بعد از ران کردن برنامه باید ارتباط به درستی برقرار بشه و مشکلی نداشته باشید.

قدم چهارم: حالا نوبت این میشه که عملیات های مورد نظرمون رو در دیتابس انجام بدیم. شامل Insert و Select و... برای اینکار نیاز به Query یا همون دستورالعمل های دیتابیس داریم که چهارتا هستند و تعریفشون میکنیم:

var insertSql=&quotINSERT INTO `siteusers`(`Name`, `Email`, `Age`, `Password`) VALUES (?)&quot

قدم پنجم: اجرای Query:

const values = [ ['amir' , '12345'] ]
con.query( insertSql , values , function ( err , result ) {
if ( err ) throw err ;
console.log ( result );
})

حالا ما اینجا به صورت دستی اطلاعات رو وارد کردیم ، اما بعدا این اطلاعات رو از فرمی جایی دریافت میکنیم. با ران کردن برنامه اطلاعات متغییر Var توی دیتابیس ذخیره میشه و نتیجه برگشتی از دیتابیس هم برامون به نمایش گذاشته میشه.

خب Query بعدی که Select باشه رو هم انتخاب میکنیم که کل دیتابیس رو بهمون نشون بده.

var selectSql=&quotSELECT `Name`, `Email`, `Age`, `Password` FROM `siteusers` WHERE 1&quot
con.query(insertSql,values,function(err,result){
if(err) throw err;
            console.log(result);
             con.query(selectSql,function(err,result){
             if(err) throw err;
             console.log(result);
})
})

اجرای کوئیری Select رو داخل کال بک نوشتم که دیگه وقتی بدون خطا کار Insert رو انجام داد بیاد سراغ نمایش دیتابیس.

خب خسته نباشید ، با موفقیت اطلاعات رو توی دیتابیس ذخیره کردید و نمایش هم دادیم.

تو قسمت بعدی بریم یک فرم درست کنیم و اطلاعات رو از مرورگر Post کنیم به API و از اونجا هم به دیتابیس.