Node.js - MySQL Getting Started
Привет, ambitные программисты! Сегодня мы отправляемся в увлекательное путешествие в мир Node.js и MySQL. Как ваш доброжелательный сосед по компьютерным наукам, я здесь, чтобы провести вас через это приключение шаг за шагом. Не волнуйтесь, если вы никогда не писали ни строчки кода раньше - мы начнем с самого начала и будем вместе строить наши знания.
Установка MySQL
Прежде чем окунуться в программирование, нам нужно настроить наши инструменты. Представьте это как подготовку кухни перед приготовлением вкусного блюда. Первый ингредиент, который нам needed, это MySQL.
Что такое MySQL?
MySQL resembles a super-organized filing cabinet for your data. It's a database management system that helps you store, organize, and retrieve information efficiently. Imagine if you had to keep track of thousands of books in a library using just pen and paper – that would be a nightmare! MySQL does this job for us, but with computer data instead of books.
Установка MySQL
- Перейдите на официальный сайт MySQL (https://dev.mysql.com/downloads/).
- СкачайтеMySQL Community Server, подходящий для вашей операционной системы.
- Запустите установщик и следуйте инструкциям на экране.
- Во время установки вас спросят установить пароль root. Запомните этот пароль - это как мастер-ключ к вашему королевству данных!
После установки вы можете проверить ее, открыв командную строку или терминал и набрав:
mysql --version
Если вы видите номер версии,恭喜你! Вы успешно установили MySQL.
Драйвер MySQL для Node.js
Теперь, когда у нас готова система баз данных, нам нужно чтобы Node.js мог общаться с MySQL. Именно здесь на помощь приходит драйвер MySQL. Представьте его как переводчика, который помогает Node.js и MySQL понять друг друга.
Установка драйвера MySQL
Для установки драйвера мы будем использовать npm (Node Package Manager). Это как магазин приложений для пакетов Node.js. Откройте ваш терминал и наберите:
npm install mysql
Эта команда instructs npm для загрузки и установки пакета mysql для нас. Легко, правда?
Установление соединения
Теперь comes the exciting part – connecting Node.js to MySQL! It's like introducing two friends and helping them shake hands.
Основное соединение
Давайте напишем наш первый фрагмент кода для установления соединения:
const mysql = require('mysql');
const connection = mysql.createConnection({
host: 'localhost',
user: 'yourusername',
password: 'yourpassword',
database: 'yourdatabase'
});
connection.connect((err) => {
if (err) {
console.error('Error connecting to the database:', err);
return;
}
console.log('Connected to the database!');
});
Давайте разберем это:
-
const mysql = require('mysql');
- Эта строка импортирует драйвер MySQL, который мы установили ранее. -
const connection = mysql.createConnection({...});
- Здесь мы создаем объект соединения. Это как заполнение формы с деталями, необходимыми для доступа к нашей базе данных MySQL. -
Функция
connect()
- это место, где happens the magic. Она пытается установить соединение с использованием предоставленных нами данных. -
Если occurs an error (например, неправильный пароль), она выведет сообщение об ошибке.
-
Если соединение установлено успешно, оно выведет "Connected to the database!".
Тестирование соединения
Чтобы проверить это, создайте новый файл под названием db_connect.js
, вставьте в него приведенный выше код (замените placeholders на ваши реальные данные MySQL), и запустите его с помощью Node.js:
node db_connect.js
Если все настроено правильно, вы должны увидеть "Connected to the database!" в вашем терминале. Поздравляю! Вы только что установили свое первое соединение Node.js-MySQL!
Закрытие соединения
Важно закрыть соединение после завершения работы. Вот как это можно сделать:
connection.end((err) => {
if (err) {
console.error('Error closing the database connection:', err);
return;
}
console.log('Database connection closed.');
});
Всегда помните о закрытии соединений - это как выключение света, когда вы покидаете комнату!
Выполнение базовых операций с базой данных
Теперь, когда мы можем connect к нашей базе данных, давайте learn how to perform some basic operations.
Создание таблицы
Давайте создадим простую таблицу для хранения информации о книгах:
const createTableQuery = `
CREATE TABLE IF NOT EXISTS books (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
author VARCHAR(255) NOT NULL,
published_year INT
)
`;
connection.query(createTableQuery, (err, results) => {
if (err) {
console.error('Error creating table:', err);
return;
}
console.log('Table created successfully!');
});
Этот запрос создает таблицу 'books' с колонками id, title, author и published year.
Вставка данных
Теперь добавим несколько книг в нашу таблицу:
const insertBookQuery = `
INSERT INTO books (title, author, published_year)
VALUES ('The Great Gatsby', 'F. Scott Fitzgerald', 1925)
`;
connection.query(insertBookQuery, (err, result) => {
if (err) {
console.error('Error inserting book:', err);
return;
}
console.log('Book inserted successfully!');
});
Получение данных
Наконец, давайте получим и отобразим наши книги:
const selectBooksQuery = 'SELECT * FROM books';
connection.query(selectBooksQuery, (err, results) => {
if (err) {
console.error('Error retrieving books:', err);
return;
}
console.log('Books in the database:');
results.forEach((book) => {
console.log(`${book.title} by ${book.author} (${book.published_year})`);
});
});
Этот запрос выбирает все книги из нашей таблицы и выводит их.
Заключение
Поздравляю! Вы сделали свои первые шаги в мир Node.js и MySQL. Мы рассмотрели установку, соединение и базовые операции с базой данных. Помните, как и в случае с любым новым навыком, практика ключ к успеху. Попробуйте создать разные таблицы, вставлять различные типы данных и писать более сложные запросы.
За годы моего преподавания я понял, что лучший способ learn - это doing. Так что у меня есть для вас задание: Создайте программу управления библиотечной системой. Она должна позволять добавлять новые книги, выдавать книги и отображать доступные книги. Этот проект поможет вам укрепить полученные знания и pushed вас к изучению более сложных concepts.
Помните, каждый expert когда-то был beginner. Продолжайте практиковаться, stay curious и не бойтесь ошибок - так мы учимся и растем. Счастливо кодирования!
Method | Description |
---|---|
createConnection() |
Создает новое соединение MySQL |
connect() |
Устанавливает соединение с базой данных |
end() |
Закрывает соединение с базой данных |
query() |
Выполняет SQL-запрос на базе данных |
escape() |
Экранирует значения для предотвращения SQL-инъекций |
format() |
Подготавливает SQL-запрос, автоматически экранируя значения |
beginTransaction() |
Начинает новую транзакцию |
commit() |
Фиксирует текущую транзакцию |
rollback() |
Откатывает текущую транзакцию |
changeUser() |
Меняет текущего пользователя соединения |
ping() |
Пингует сервер для проверки соединения |
statistics() |
Возвращает статистику сервера |
threadId |
Возвращает ID потока текущего соединения |
Credits: Image by storyset