مای اسکیو ال (MySQL) یک سیستم مدیریت پایگاه داده رابطه ای و البته پیشرو در جهان است که بر اساس اسکیو ال (SQL = اس کیو ال = زبان ساختیافته کوئری) طراحی شده است. به زبان C و C++ نوشته شده است و توسط شرکت سوئدی MySQL AB مدیریت می شود. مای اسکوئل داده ها را به فرم ردیف هایی از ستونها در جداول ذخیره می کند.
البته ما فقط تعدادی از ویژگیهای مهم را از بین لیست ویژگیهای MySQL نام بردیم که برای یادگیری آنها باید به مستندات MySQL مراجعه کنید.
>npm install mysql
اولین گام، ایجاد یک ارتباط بین دیتابیس mysql و اپلیکشن نود جی اس ماست:
var mysql = require('mysql'); var connection = mysql.createConnection({ host : 'localhost', user : 'root', password : '', database : 'my_db' });
// Name of the file is : create-table-mysql.js var mysql = require('mysql'); var connect = mysql.createPool({ host : 'localhost', user : 'root', password: '', database: 'test' }); var table = "CREATE TABLE details (id int(15) NOT NULL AUTO_INCREMENT,"+ "name varchar(30) DEFAULT NULL,"+ "age float(15) DEFAULT NULL,"+ "PRIMARY KEY (id)) ENGINE=InnoDB DEFAULT CHARSET=latin1"; //establishing connection connect.getConnection(function(err, connection){ //Creating details table connection.query(table, function(err){ if(err) throw err; else { console.log('Table created Successfully!'); } }); //releasing connection connection.release(); });
و به کمک دستور زیر در خط فرمان یا ترمینال، قطعه کد بالا را اجرا کنید:
>node create-table-mysql.js Table created Successfully!
و اما می رسیم به عملیات CRUD. ایجاد/درج یک ردیف در جدول، خواندن یک یا چندردیف، بروزرسانی رکوردها در جدول و در نهایت حذف یک یا چند ردیف از جدول.
قطعه کد زیر برای انجام عملیات ایجاد/درج در مای اسکیو ال به کمک نود جی اس نوشته شده است:
//Name of the file : insert-mysql.js var mysql = require('mysql'); var connect = mysql.createPool({ host : 'localhost', user : 'root', password: '', database: 'test' }); var insert_R = 'INSERT INTO details(name,age) VALUE(?,?)'; //establishing connection connect.getConnection(function(err, connection){ //Inserting a record into details connection.query(insert_R,['rejii',24], function(err,res){ if(err) throw err; else { console.log('Details added successfully'); } }); //releasing connection connection.release(); });
و برای اجرای آن:
>node insert-mysql.js Details added successfully
//name of the file : read-mysql.js var mysql = require('mysql'); var connect = mysql.createPool({ host : 'localhost', user : 'root', password: '', database: 'test' }); var read_R = 'SELECT * FROM details'; //establishing connection connect.getConnection(function(err, connection){ //retrieving a record from details connection.query(read_R, function(err, data){ if(err) throw err; else { console.log(data); } }); //releasing connection connection.release(); });
و برای اجرای کد فوق:
>node read-mysql.js [ RowDataPacket { id: 1, name: 'rejii', age: 24 }, RowDataPacket { id: 2, name: 'angie', age: 47 }, RowDataPacket { id: 3, name: 'alex', age: 27 } ]
//name of the file : update-mysql.js var mysql = require('mysql'); var connect = mysql.createPool({ host : 'localhost', user : 'root', password: '', database: 'test' }); var update_R = 'UPDATE details SET age = ? WHERE name=?'; //establishing connection connect.getConnection(function(err, connection){ //Updating a record from details connection.query(update_R,[25,'regii'], function(err, res){ if(err) throw err; else { console.log('Updated the age of regii !'); } }); //releasing connection connection.release(); });
برای اجرای کد فوق، در ترمینال یا خط فرمان خود دستور زیر را وارد کنید و نتیجه اجرا را ببینید:
>node update-mysql.js Updated the age of regii !
قطعه کد زیر با مثال نشان می دهد که چگونه می توان عملیات حذف ردبف جدول در مای اسکیو ال انجام داد:
//name of the file : delete-mysql.js var mysql = require('mysql'); var connect = mysql.createPool({ host : 'localhost', user : 'root', password: '', database: 'test' }); var delete_R = 'DELETE FROM details WHERE name=?'; //establishing connection connect.getConnection(function(err, connection){ //Deleting a record from details connection.query(delete_R,['regii'], function(err, res){ if(err) throw err; else { console.log('A record is removed !'); } }); //releasing connection connection.release(); });
و باز هم برای اجرا:
>node delete-mysql.js A record is removed !
قطعه کد زیر روش از بین بردن یک جدول داخل دیتابیس مای اسکیو ال را به کمک نود جی اس نشان می دهد:
//name of the file : drop-table-mysql.js var mysql = require('mysql'); var connect = mysql.createPool({ host : 'localhost', user : 'root', password: '', database: 'test' }); var drop_T = 'DROP table details'; //establishing connection connect.getConnection(function(err, connection){ //Drop the details table connection.query(drop_T, function(err, res){ if(err) throw err; else { console.log('The details table is removed successfully'); } }); //releasing connection connection.release(); });
و برای اجرای کد فوق:
>node drop-table-mysql.js The details table is removed successfully
در درس امروز از سلسله دروس 30 رور با نود جی اس، روش برقراری ارتباط با MySQL را به کمک نود جی اس فراگرفتیم. همچنین توانستیم عملیات CRUD را به کمک نود جی اس انجام دهیم. و نیز یاد گرفتیم چگونه به کمک نود جی اس یک جدول در MySQL بسازیم یا جدولی را ریشه کن و حذف کنیم.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.