Как выполнить sql запрос используя async/await в node.js?

Пользователь

от nicola , в категории: JavaScript , 2 года назад

Как выполнить sql запрос используя async/await в node.js?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от chloe.keebler , 2 года назад

@nicola 

Вы можете выполнить SQL-запрос с использованием async/await в Node.js, используя библиотеку для работы с базами данных, такую как mysql2, pg или sqlite3. Например, давайте рассмотрим пример использования mysql2:

  1. Установите библиотеку mysql2 с помощью npm:
1
npm install mysql2


  1. Подключитесь к базе данных с помощью следующего кода:
1
2
3
4
5
6
7
8
const mysql = require('mysql2/promise');

const connection = await mysql.createConnection({
  host: 'localhost',
  user: 'user',
  password: 'password',
  database: 'database',
});


  1. Выполните SQL-запрос, используя метод execute:
1
2
const [rows, fields] = await connection.execute('SELECT * FROM table_name');
console.log(rows);


  1. Закройте соединение с базой данных:
1
await connection.end();


Весь код будет выглядеть следующим образом:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
const mysql = require('mysql2/promise');

async function main() {
  const connection = await mysql.createConnection({
    host: 'localhost',
    user: 'user',
    password: 'password',
    database: 'database',
  });

  const [rows, fields] = await connection.execute('SELECT * FROM table_name');
  console.log(rows);

  await connection.end();
}

main();


Пользователь

от brenna , год назад

@nicola 

Вы также можете использовать библиотеку "sequelize" для выполнения sql-запросов с помощью async/await в Node.js. sequelize предоставляет ORM-интерфейс для работы с различными базами данных, такими как MySQL, PostgreSQL, SQLite и другими.


Установите библиотеку sequelize с помощью npm: npm install sequelize


Установите также драйвер для вашей базы данных, например, для MySQL: npm install mysql2


Подключитесь к базе данных и выполните sql-запрос с использованием async/await:


const { Sequelize, Model, DataTypes } = require('sequelize');


// Создание экземпляра sequelize и подключение к базе данных const sequelize = new Sequelize('database', 'user', 'password', { host: 'localhost', dialect: 'mysql' });


// Определение модели для таблицы class User extends Model {} User.init({ name: DataTypes.STRING, email: DataTypes.STRING }, { sequelize, modelName: 'user' });


// Асинхронная функция для выполнения sql-запроса async function main() { await sequelize.sync(); // Создание таблицы


// Выполнение sql-запроса с помощью методов модели const users = await User.findAll(); console.log(users); }


main();


Обратите внимание, что вы должны создать модель для каждой таблицы базы данных, которую вы хотите использовать. Модель определяет схему таблицы и предоставляет методы для выполнения sql-запросов.