October 24, 2023

nodejs vs sqlite3

СУБД (система управления реляционными базами данных, RDBMS) - это программное обеспечение, которое управляет реляционными базами данных. Она обеспечивает структурированный способ хранения, организации и извлечения данных с использованием таблиц, столбцов и строк. SQLite - популярная свободно распространяемая СУБД, которая широко используется благодаря своей простоте, легковесности и совместимости с различными платформами и языками программирования.

При работе с SQLite в Node.js доступно несколько библиотек, которые предоставляют интерфейс для взаимодействия с базой данных. Одна из наиболее используемых библиотек - "sqlite3". Эта библиотека позволяет разработчикам создавать, выполнять запросы и управлять базами данных SQLite с использованием Node.js.

Для использования библиотеки "sqlite3" в Node.js сначала необходимо установить ее, выполнив следующую команду:

#bash
npm install sqlite3

После установки вы можете подключить библиотеку в вашем приложении Node.js с помощью следующего кода:

//javascript
const sqlite3 = require('sqlite3').verbose();

Функция `verbose()` включает дополнительную отладочную информацию во время разработки.

Для создания новой базы данных SQLite или подключения к существующей вы можете использовать класс `Database`, предоставленный библиотекой "sqlite3". Вот пример создания нового файла базы данных с именем "mydatabase.db":

//javascript
const sqlite3 = require('sqlite3').verbose();

// Создание нового экземпляра базы данных
const db = new sqlite3.Database('mydatabase.db', (err) => {
  if (err) {
    console.error(err.message);
  }
  console.log('Подключено к базе данных.');
});

Подключившись к базе данных, вы можете выполнить SQL-запросы с помощью методов `run()`, `get()` или `all()`, предоставленных классом `Database`. Вот пример создания таблицы с именем "users" с двумя столбцами: "id" и "name":

//javascript
db.run('CREATE TABLE users (id INT PRIMARY KEY, name TEXT)', (err) => {
  if (err) {
    console.error(err.message);
  }
  console.log('Таблица создана.');
});

Вы также можете вставлять данные в таблицу с помощью метода `run()`:

///javascript
db.run('INSERT INTO users (id, name) VALUES (?, ?)', [1, 'John Doe'], (err) => {
  if (err) {
    console.error(err.message);
  }
  console.log('Данные вставлены.');
});

Для извлечения данных из таблицы вы можете использовать методы `get()` или `all()`:

//javascript
db.get('SELECT * FROM users WHERE id = ?', [1], (err, row) => {
  if (err) {
    console.error(err.message);
  }
  console.log(row);
});

db.all('SELECT * FROM users', [], (err, rows) => {
  if (err) {
    console.error(err.message);
  }
  rows.forEach((row) => {
    console.log(row);
  });
});

Для обновления или удаления данных в таблице вы можете использовать метод `run()` с соответствующими SQL-запросами.

//javascript
db.run('UPDATE users SET name = ? WHERE id = ?', ['Jane Smith', 1], (err) => {
  if (err) {
    console.error(err.message);
  }
  console.log('Данные обновлены.');
});

db.run('DELETE FROM users WHERE id = ?', [1], (err) => {
  if (err) {
    console.error(err.message);
  }
  console.log('Данные удалены.');
});

Наконец, для закрытия соединения с базой данных можно использовать метод `close()`:

//javascript
db.close((err) => {  if (err) {
    console.error(err.message);
  }
  console.log('Отключено от базы данных.');
});

Важно правильно обрабатывать ошибки при работе с SQLite в Node.js, чтобы обеспечить надежность и целостность операций с базой данных.

В заключение, SQLite - популярная СУБД, которую легко использовать с Node.js с помощью библиотеки "sqlite3". Следуя предоставленным примерам, вы можете создавать, выполнять запросы и управлять базами данных SQLite в ваших приложениях Node.js.