آموزش اتصال جاوا اسکریپت به mysql با Node.js

دسته بندی: جاوا اسکریپت
زمان مطالعه: 6 دقیقه
۲۷ اسفند ۱۳۹۸

در این مقاله قصد داریم به نحوه‌ی اتصال ماژول Mysql به نود جی اس (Node.js) بپردازیم شما در پایان این مقاله می‌توانید یکی از مهم‌ترین ماژول‌های دیتابیس که Mysql می‌باشد را در نود جی اس (Node.js) استفاده کرده و عملیات CRUD  را انجام بدهید، پس با ما همراه باشید که می‌خواهیم فراتر از آنچه در مورد جاوا اسکریپت می‌دانستیم عمل کنیم.

فهرست محتوای این مقاله

Mysql چیست؟

MySQL یک سیستم مدیریت دیتابیس است که با استفاده از آن‌، می‌توانیم یک دیتابیس بسازیم و آن‌ را مدیریت کنیم.

که در انگلیسی به آن Database Management System یا به اختصار DBMS نیز می‌گویند.

در ادامه یک دیتابیس Mysql رو به نود جی اس (Node.js) متصل کرده و اطلاعات خود را نمایش می‌دهیم.

چگونگی نصب نود جی اس (Node.js) بر روی سیستم عامل

برای نصب نود جی اس (Node.js) ابتدا وارد وب‌سایت نود جی اس (Node.js) می‌شویم. وقتی وارد وب‌سایت شدیم با دو نسخه از نود جی اس (Node.js) مواجه خواهیم شد، LTS مخفف Long Term Support می‌باشد که نسخه‌ی Stable  نود جی اس (Node.js) است و دیگری نسخه‌ی Current می‌باشد که آخرین نسخه نود جی اس (Node.js) می‌باشد ما برای اینکه می‌خواهیم در حالت Stable کد نویسی کنیم و نگران باگ‌های هسته نود جی اس (Node.js) نشویم نسخه LTS را دانلود و نصب می‌کنیم.

در ادامه با چند  Next ساده می‌توانیم به نصب نود جی اس (Node.js) پایان بدهیم.

وارد ترمینال خود شده و عبارت زیر را وارد کنید تا نسخه‌ی نصبی نود جی اس (Node.js) بر روی سیستم عامل شما نمایش داده شود.

node -v

شما توانستید نود جی اس (Node.js) را به راحتی بر روی سیستم عامل خود نصب کنید.

حال باید پکیج منیجری (package manager) به نام Npm را نصب نمائید.

چگونگی نصب Npm  بر روی سیستم عامل شما:

بعد از نصب نود جی اس (Node.js) به این پکیج دسترسی دارید و به راحتی می‌توانید از این پکیج استفاده کنید. برای مطمئن شدن از نصب این پکیج منیجر (package manager) وارد ترمینال خود شوید و عبارت زیر را تایپ نمایید، تا ورژن نصب شده‌ی Npm بر روی سیستم عامل شما را نمایش دهد.

npm -v

راه‌اندازی محیط کاری مدنظر برای ایجاد پروژه‌ی نود جی اس (Node.js):

وارد ترمینال خود شوید و دستور زیر را تایپ نمایید. تا یک دایرکتوری به نام Node-js-app در مسیر Desktop ساخته شود.

mkdir Node-js-app

سپس وارد دایرکتوری پروژه شوید.

cd Node-js-app

برای شروع کار باید دستور زیر را تایپ کرده تا بتوانیم از پکیج منیجر Npm استفاده کنیم.

npm init -y

با همین روش می‌توانیم هر نوع پکیجی که در وب‌سایت Npm وجود دارد را نصب کنیم.

اولین پکیجی که نیاز داریم پکیج محبوب Nodemon است که به راحتی می‌توانیم فایل مدنظرمان را به کمک این پکیج اجرا کنیم پس دستور زیر را تایپ می‌کنیم.

npm install --save-dev nodemon

لازم به ذکر است برای اجرا شدن این دستور ابتدا باید دستور زیر را تایپ کنیم.

npm install -g nodemon

ما برای استفاده از پکیج Mysql داخل پروژه به نصب این پکیج نیاز داریم. دستور زیر را وارد می‌کنیم:

npm install --save-dev mysql

سپس یک فایل با نام دلخواه ، برای مثال app.js را ایجاد می‌کنیم. این فایل به عنوان هسته‌ی مرکزی برنامه می‌باشد‌. برای این‌کار دستور زیر را وارد می‌کنیم:

touch app.js

برای نوشتن کد نیاز به یک کد‌ ادیتور قدرت‌مند داریم که ما نرم افزار Vs code را پیشنهاد می‌کنیم . در اینجا می‌توانید آموزش این ادیتور رو مشاهده نمایید.

ساخت یک دیتابیس در Mysql:

وارد رابط کاربری خود Phpmyadmin یا هر نوع رابط کاربری مدنظر شوید و دستور زیر را وارد کنید یا به صورت دستی یک دیتابیس درست کنید.

CREATE DATABASE slearn_db CHARACTER SET utf8 COLLATE utf8_general_ci;
USE slearn_db;

با رعایت قوانین نام‌گذاری اسم دیتابیس خود را تعیین کنید ما در اینجا اسم دیتابیس را slearn_db گذاشتیم.

قوانین نام گذاری پایگاه داده:

1- استفاده از نام‌های جمع: در نام گذاری پایگاه داده بهتر است از نام‌های جمع استفاده کنید برای مثال users به user برتری دارد. 2- جداکردن کلمه‌ها : برای جداکردن کلمه‌ها دو روش متداول وجود دارد. روش اول استفاده از PascalCase می‌باشد یعنی حروف اول هر کلمه بصورت حروف بزرگ باشد (برای مثال : UserDatabase). روش دیگر استفاده از حروف کوچک و جدا کردن کلمه‌ها با کمک زیر خط (Under Line) از یکدیگر است. (برای مثال : User_db). 3- پیشوند و پسوندها: استفاده از پیشوندها و پسوندها باعث طولانی شدن و کاهش خوانایی نام‌ها می‌شوند ولی در صورت لزوم، استفاده از پسوند بر پیشوند برتری دارد. استفاده از نام Schema یا Namespace به عنوان پیشوند جدول‌ها می‌تواند نیازهای گروه‌بندی جدول‌ها را برطرف نماید. چنانچه پایگاه داده از Namespace‌ها پشتیبانی نمی‌کند، می‌توان از پیشوندی کوتاه و جداشده با زیرخط استفاده نمود.

برای ساخت  جدول دستور زیر را وارد نمایید ما در اینجا جدولی به نام users با فیلد‌های id ,name ,city ساخته‌ایم.

CREATE TABLE users ( id int(11) NOT NULL AUTO_INCREMENT, name varchar(50), city varchar(50), PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ; 

سپس اطلاعاتی فرضی را با دستور زیر وارد نمایید.

INSERT INTO users(id, name, city) VALUES (1, 'Ali', 'Yazd'), (2, 'Loghman', 'Tehran'), (3, 'Sara', 'Shiraz'), (4, 'Mohammad', 'Karaj');

نحوه‌ی اتصال به ماژول Mysql  با نود جی اس (Node.js):

وارد ادیتور خود می‌شویم و پروژه‌ایی که باهم ساختیم را باز می‌کنیم .

سپس وارد فایل app.js می‌شویم  و کد زیر را می‌نویسیم:

const mysql=require("mysql");
const con=mysql.createConnection({

 host: 'localhost',
  user: 'root',
  password: 'password',
  database: 'database name'

});

برای فراخوانی ماژول Mysql از روش require استفاده می‌کنیم و در درون یک متغییر به نام con ذخیره می‌کنیم.

و مقادیر host ,user ,password ,dataBase را وارد می‌کنیم .

سپس برای اتصال به دیتابیس کد زیر را تایپ می‌کنیم:

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

برای اجرای برنامه نود جی اس (Node.js) باید دستور زیر را وارد کنیم.

nodemon app.js

اگر پیغام !Connected رو دریافت کردید شما توانسته‌اید به دیتابیس متصل شوید.

نحوه‌ی نمایش اطلاعات جدول دیتابیس به کمک نود جی اس (Node.js):

برای گرفتن اطلاعات از جدول مدنظر باید کد زیر را در فایل app.js بنویسید.

con.query('SELECT * FROM users', (err,rows) => {
  if(err) throw err;

  console.log('Data received from Db:');
  console.log(rows);
});

به کمک دستور SELECT در SQL می‌توانیم عملیات read رو انجام بدهیم .

به همین راحتی توانستیم به کمک نود جی اس (Node.js) اطلاعات یک جدول را خوانده و نمایش بدهیم.

جمع بندی

به کمک نود جی اس (Node.js) می‌توانیم جاوا اسکریپت را سمت سرور اجرا کرده و به سرور متصل شویم و می‌توانیم از ماژول‌های بسیاری که در سایت Npm  وجود دارد استفاده کنیم و بدون هیچ مشکلی فقط به فکر توسعه app خود باشیم. در مقاله‌ی بعد نحوه‌ی اتصال نودجی‌اس (Node.js) به دیتابیس MongoDb  را آموزش می‌دهیم.

با شرکت در دوره آموزشی متخصص جاوااسکریپت در کمتر از یکسال به یک متخصص JS همه فن حریف تبدیل می‌شوی که آماده‌ی استخدام، دریافت پروژه و یا فول-استک شدن هستی.

چه امتیازی به این مقاله می دید؟
نویسنده علی رضوی
یک عاشق پیشه از نوع برنامه نویسیش یک پسر ساده از نوع CMD
ارسال دیدگاه
خوشحال میشیم دیدگاه و یا تجربیات خودتون رو با ما در میون بذارید :

 

نظرات کاربران

ناشناس

سلام ممنون از زحمات مفید شما
کد touch app.js مربوط به چه محیط یست چون دستور touch شناسائی نمیشه
همینطور دستور ایجاد دیتا بیس در چه محیطی باید اجرا شود مeلا در NodeJS?

نازنین کریمی مقدم

سلام.
دستور touch مربوط به یونیکس میشه. شما باید روی ویندوز با npm نصبش کنید تا بتونید استفاده کنید. یا دستی فایل رو بسازید یا از گزینه های کار با فایل که در مقاله آموزش مقدماتی node.js توضیح دادیم استفاده کنید.
درمورد سوال دومتون، باید وارد رابط کاربری دیتابیس که معمولا Phpmyadmin هست بشید و دستور رو وارد کنید.

مهسا

سلام. ممنون از مقاله خوبتون.

کد nodemon app.js رو باید کجا بنویسم؟

نازنین کریمی مقدم

سلام. در ترمینال خودتون باید بنویسید.
مثلا در ویندوز با باز کردن شل از منوی فایل، میتونید این دستور رو وارد کنید.

امیرحسین

سلام عالی بود ! فقط تو بخش اتصال به پایگاه داده connection نباید استفاده می شد ! چون ما connection رو تعریف نکردیم (con رو تعریف کردیم) 😁😁

شیوا وکیلی

سلام ممنونم از توجه شما؛ موردی که گفتید اصلاح شد و خوشحالم از اینکه این مقاله براتون مفیدبوده است.

محسن

مرسی علی جان. مقاله ت عالی بود