@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.