Перевод на русский язык (ru)

Node.js - Выбор данных из MySQL

Здравствуйте,野心勃勃ые программисты! Сегодня мы отправляемся в увлекательное путешествие в мир Node.js и MySQL. Как ваш доброжелательный сосед по компьютерным наукам, я здесь, чтобы помочь вам в процессе получения данных из базы данных MySQL с использованием Node.js. Не волнуйтесь, если вы новички в программировании - мы начнем с азов и постепенно перейдем к более сложному. Так что возьмите杯 кофе (или ваш любимый напиток) и погружайтесь с нами!

Node.js - MySQL Select From

Что такое Node.js и MySQL?

Прежде чем мы перейдем к коду, давайте быстро поймем, что такое Node.js и MySQL:

  1. Node.js: Это мощная среда выполнения JavaScript, которая позволяет вам запускать JavaScript на вашем компьютере, не только в веб-браузере.
  2. MySQL: Это популярная система управления базами данных, которая хранит и управляет данными для ваших приложений.

Представьте Node.js как искусного повара, а MySQL как хорошо организованный холодильник. Наш повар (Node.js) должен retrieveingredient (данные) из холодильника (MySQL), чтобы приготовить美味的 блюда (веб-приложения). Сегодня мы узнаем, как наш повар может эффективно получить этиingredient!

Настройка нашей среды

Сначала нам нужно настроить нашу кухню (разработческую среду). Вот что вам нужно сделать:

  1. Установите Node.js с официального сайта (https://nodejs.org).
  2. Установите MySQL с официального сайта (https://www.mysql.com).
  3. Создайте новую директорию для вашего проекта.
  4. Откройте терминал или командную строку в этой директории.
  5. Запустите npm init -y, чтобы создать файл package.json.
  6. Установите пакет MySQL, запустив npm install mysql.

Отлично! Теперь наша кухня готова к кодированию!

Подключение к MySQL

Давайте начнем с установления подключения к нашей базе данных MySQL. Вот пример:

const mysql = require('mysql');

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

connection.connect((err) => {
if (err) {
console.error('Ошибка подключения к базе данных: ' + err.stack);
return;
}
console.log('Подключение к базе данных установлено.');
});

Давайте разберем это:

  1. Мы импортируем пакет MySQL.
  2. Мы создаем объект подключения с нашими данными базы данных.
  3. Мы используем метод connect(), чтобы установить подключение.
  4. Если возникает ошибка, мы логируем ее. В противном случае, мы confirmподключение.

Не забудьте заменить 'your_username', 'your_password' и 'your_database_name' на ваши настоящие данные для MySQL.

Основной SELECT запрос

Теперь, когда мы подключены, давайте получим данные! Вот простой SELECT запрос:

connection.query('SELECT * FROM users', (error, results, fields) => {
if (error) throw error;
console.log('Пользователи: ', results);
});

Этот запрос выбирает все столбцы (*) из таблицы 'users'. Результаты возвращаются в callbackфункцию. Если возникает ошибка, мы выбрасываем ее. В противном случае, мы логируем результаты.

SELECT с WHERE ограничением

Часто нам нужно retrieve特定 данные. Давайте используем WHERE ограничение:

const userId = 1;
connection.query('SELECT * FROM users WHERE id = ?', [userId], (error, results) => {
if (error) throw error;
console.log('Найденный пользователь: ', results[0]);
});

Здесь мы выбираем пользователя с определенным ID. '?' - это placeholder, а [userId] - значение для его замены. Это предотвращает SQL-инъекции - всегда используйте placeholders для ввода пользователей!

SELECT с ORDER BY

Хотите отсортировать свои результаты? Используйте ORDER BY:

connection.query('SELECT * FROM users ORDER BY name ASC', (error, results) => {
if (error) throw error;
console.log('Пользователи, отсортированные по имени: ', results);
});

Этот запрос сортирует пользователей по их именам в порядке возрастания. Измените ASC на DESC для убывания.

SELECT с LIMIT

Чтобы ограничить количество результатов, используйте LIMIT:

connection.query('SELECT * FROM users LIMIT 5', (error, results) => {
if (error) throw error;
console.log('Первые 5 пользователей: ', results);
});

Этот запрос возвращает только первых 5 пользователей из таблицы.

Combining Multiple Clauses

Давайте объединим то, что мы узнали:

const searchName = 'John';
const limit = 10;

connection.query(
'SELECT * FROM users WHERE name LIKE ? ORDER BY created_at DESC LIMIT ?',
['%' + searchName + '%', limit],
(error, results) => {
if (error) throw error;
console.log('Результаты поиска: ', results);
}
);

Этот сложный запрос:

  1. Ищет пользователей с именами, содержащими 'John'
  2. Сортирует результаты по дате создания (новые первыми)
  3. Ограничивает количество результатов 10

Закрытие подключения

Всегда помните, чтобы закрывать ваше подключение, когда вы закончили:

connection.end((err) => {
if (err) {
console.error('Ошибка при关闭е подключения: ' + err.stack);
return;
}
console.log('Подключение успешно закрыто.');
});

Это обеспечивает, что вы не оставляете открытые подключения, что может привести к проблемам с производительностью.

Методы резюме

Вот удобная таблица, резюмирующая методы, которые мы рассмотрели:

Метод Описание
createConnection() Создает подключение к базе данных MySQL
connect() Устанавливает подключение к базе данных
query() Выполняет SQL запрос
end() Закрывает подключение к базе данных

Заключение

Поздравляю! Вы только что узнали, как выполнять SELECT запросы с использованием Node.js и MySQL. Помните, что практика делает perfect. Попробуйте создать разные запросы, экспериментируйте с различными ограничениями, и скоро вы станете магом баз данных!

Заканчивая, вот немного программного юмора: Почему программисты предпочитают темный режим? Потому что свет привлекает bugs! ?

Продолжайте программировать, staycurious и не забывайте веселиться на этом пути. До свидания, счастливого запроса!

Credits: Image by storyset