Перевод на русский язык (ru)
Node.js - Выбор данных из MySQL
Здравствуйте,野心勃勃ые программисты! Сегодня мы отправляемся в увлекательное путешествие в мир Node.js и MySQL. Как ваш доброжелательный сосед по компьютерным наукам, я здесь, чтобы помочь вам в процессе получения данных из базы данных MySQL с использованием Node.js. Не волнуйтесь, если вы новички в программировании - мы начнем с азов и постепенно перейдем к более сложному. Так что возьмите杯 кофе (или ваш любимый напиток) и погружайтесь с нами!
Что такое Node.js и MySQL?
Прежде чем мы перейдем к коду, давайте быстро поймем, что такое Node.js и MySQL:
- Node.js: Это мощная среда выполнения JavaScript, которая позволяет вам запускать JavaScript на вашем компьютере, не только в веб-браузере.
- MySQL: Это популярная система управления базами данных, которая хранит и управляет данными для ваших приложений.
Представьте Node.js как искусного повара, а MySQL как хорошо организованный холодильник. Наш повар (Node.js) должен retrieveingredient (данные) из холодильника (MySQL), чтобы приготовить美味的 блюда (веб-приложения). Сегодня мы узнаем, как наш повар может эффективно получить этиingredient!
Настройка нашей среды
Сначала нам нужно настроить нашу кухню (разработческую среду). Вот что вам нужно сделать:
- Установите Node.js с официального сайта (https://nodejs.org).
- Установите MySQL с официального сайта (https://www.mysql.com).
- Создайте новую директорию для вашего проекта.
- Откройте терминал или командную строку в этой директории.
- Запустите
npm init -y
, чтобы создать файл package.json. - Установите пакет 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('Подключение к базе данных установлено.');
});
Давайте разберем это:
- Мы импортируем пакет MySQL.
- Мы создаем объект подключения с нашими данными базы данных.
- Мы используем метод
connect()
, чтобы установить подключение. - Если возникает ошибка, мы логируем ее. В противном случае, мы 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);
}
);
Этот сложный запрос:
- Ищет пользователей с именами, содержащими 'John'
- Сортирует результаты по дате создания (новые первыми)
- Ограничивает количество результатов 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