آموزش استفاده از SQLite در Node.js

گردآوری و تالیف : امیررضا سیستانه ای
تاریخ انتشار : 12 بهمن 1396
دسته بندی ها : نود جی اس

SQLite شامل موتور دیتابیس هست که سروری برای اجرا شدن لازم نداره. (برای MySQL و اوراکل نیاز به سرور دیتابیس داریم). SQLite محبوب ترین در بین توسعه دهندگان اپلیکیشن موبایل هست و به عنوان یک موتور دیتابیس گسترده در جهان مطرح هست

دانلود کد مقاله از گیت هاب

در این آموزش میخواهیم نحوه استفاده از SQLite در Node رو توضیح بدیم. بیایید یک پروژه جدید با اسم node-sqlite بسازیم و در اون فایل package,json رو ساخته و کد زیر رو وارد کنیم :

{
  "name": "node-sqlite",
  "version": "1.0.1",
  "dependencies": {
    "sqlite3": "~2.2.3"
  }
}

پروژه رو با استفاده از دستور npm install راه اندازی کنید. این وابستگی های مورد نیاز رو نصب میکنه و پروژه رو آماده ی کار میکنه.

SQLite یک موتور دیتابیس تراکنشی (transaction) هست یعنی شما میتونید کوئری های DDL و DML رو از SQL اجرا کنید. کوئری های DDL مربوط به ساخت دیتابیس, جداول, view ها و غیره هستند و کوئری های DML مربوط به عملیات CRUD هستند (افزودن,آپدیت و حذف). این یک کد نمونه برای ساخت دیتابیس SQLite و انچام عملیات هایی در اون هست :

var sqlite3 = require('sqlite3').verbose();
var db = new sqlite3.Database('mydb.db');
var check;
db.serialize(function() {

  db.run("CREATE TABLE if not exists user_info (info TEXT)");
  var stmt = db.prepare("INSERT INTO user_info VALUES (?)");
  for (var i = 0; i < 10; i++) {
      stmt.run("Ipsum " + i);
  }
  stmt.finalize();

  db.each("SELECT rowid AS id, info FROM user_info", function(err, row) {
      console.log(row.id + ": " + row.info);
  });
});

db.close();

برای اجرای کد دستور node app.js وارد کنید (بجای app.js نام فایلی که ساختید بگذارید). بعد از اینکار متوجه فایل mydb.sql در فولدر پروژه میشید. این کد یک جدول در دیتابیس میسازه و تعدادی عدد اضافه میکنه و در کنسول نمایش میده :

کوئری های SQL توسط NodeJS

برای اجرای کوئری SELECT, شما باید از تابع all. و برای سایر عملیات ها مثل حذف و آپدیت و وارد کردن شما باید تابع run. استفاده کنید. نگاهی به کد ساده ی زیر بیاندازید :

//Load modules
var sqlite3         =       require('sqlite3').verbose();
var db              =       new sqlite3.Database('./database_name.db');

//Perform SELECT Operation
db.all("SELECT * from blah blah blah where this="+that,function(err,rows){
//rows contain values while errors, well you can figure out.
});

//Perform INSERT operation.
db.run("INSERT into table_name(col1,col2,col3) VALUES (val1,val2,val3)");

//Perform DELETE operation
db.run("DELETE * from table_name where condition");

//Perform UPDATE operation
db.run("UPDATE table_name where condition");

مقالات پیشنهادی

آموزش ساخت یک وبلاگ ساده با لاراول 5 [قسمت اول]

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

آموزش ساخت یک وبلاگ ساده با لاراول 5 [قسمت دوم]

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

آموزش ساخت یک وبلاگ ساده با لاراول 5 [قسمت سوم]

مسیریابی ، نقش اساسی در عملکرد هسته هر فریم ورک MVC ایفا میکنه . در حقیقت Route یه نگاشت بین موتور requests و response اگه بخوایم خیلی ساده تعریفش کنی...

آموزش آنگولار جی اس برای طراحان

یک شروع خوب! همان طور که سازنده ی آنگولار: میسکو هوری در مصاحبات مختلفش گفته است: "هدف آنگولار جی اس توانمند کردن طراحان وب (ونه برنامه نویسان)برا...