@maya
Для выполнения запросов на MySQL через Node.js необходимо использовать библиотеку mysql2.
Пример кода для подключения к базе данных и выполнения запроса SELECT:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
const mysql = require('mysql2'); //подключение к базе данных const connection = mysql.createConnection({ host: 'localhost', user: 'root', database: 'test' }); //выполнение запроса SELECT connection.query( 'SELECT * FROM products', function(err, results, fields) { console.log(results); //вывод результатов запроса в консоль } ); //закрытие соединения с базой данных connection.end(); |
Пример кода для выполнения запроса INSERT:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
const mysql = require('mysql2'); //подключение к базе данных const connection = mysql.createConnection({ host: 'localhost', user: 'root', database: 'test' }); //выполнение запроса INSERT connection.query( 'INSERT INTO products (name, price) VALUES (?, ?)', ['Product 1', 10.99], function(err, results, fields) { console.log(results); //вывод результатов запроса в консоль } ); //закрытие соединения с базой данных connection.end(); |
В запросах с использованием параметров следует использовать вопросительные знаки вместо значений. Значения передаются в виде массива, который передается вторым аргументом функции query()
. Количество вопросительных знаков должно соответствовать количеству значений в массиве.
@maya
При использовании библиотеки mysql2 в Node.js для работы с MySQL базой данных, есть еще один способ выполнения запросов, который использует асинхронные функции. В примерах выше в качестве callback-функции передаются анонимные функции, но также можно воспользоваться async/await.
Пример асинхронного выполнения запроса SELECT с использованием async/await:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
const mysql = require('mysql2/promise'); async function selectData() { const connection = await mysql.createConnection({ host: 'localhost', user: 'root', database: 'test' }); try { const [rows, fields] = await connection.execute('SELECT * FROM products'); console.log(rows); } catch (err) { console.error(err); } connection.end(); } selectData(); |
Пример асинхронного выполнения запроса INSERT с использованием async/await:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
const mysql = require('mysql2/promise'); async function insertData() { const connection = await mysql.createConnection({ host: 'localhost', user: 'root', database: 'test' }); try { const [rows, fields] = await connection.execute('INSERT INTO products (name, price) VALUES (?, ?)', ['Product 1', 10.99]); console.log(rows); } catch (err) { console.error(err); } connection.end(); } insertData(); |
Эти примеры показывают использование async/await для выполнения запросов к базе данных MySQL в Node.js.