Node.js - MySQL Getting Started

Привет, ambitные программисты! Сегодня мы отправляемся в увлекательное путешествие в мир Node.js и MySQL. Как ваш доброжелательный сосед по компьютерным наукам, я здесь, чтобы провести вас через это приключение шаг за шагом. Не волнуйтесь, если вы никогда не писали ни строчки кода раньше - мы начнем с самого начала и будем вместе строить наши знания.

Node.js - MySQL Get Started

Установка 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

  1. Перейдите на официальный сайт MySQL (https://dev.mysql.com/downloads/).
  2. СкачайтеMySQL Community Server, подходящий для вашей операционной системы.
  3. Запустите установщик и следуйте инструкциям на экране.
  4. Во время установки вас спросят установить пароль 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!');
});

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

  1. const mysql = require('mysql'); - Эта строка импортирует драйвер MySQL, который мы установили ранее.

  2. const connection = mysql.createConnection({...}); - Здесь мы создаем объект соединения. Это как заполнение формы с деталями, необходимыми для доступа к нашей базе данных MySQL.

  3. Функция connect() - это место, где happens the magic. Она пытается установить соединение с использованием предоставленных нами данных.

  4. Если occurs an error (например, неправильный пароль), она выведет сообщение об ошибке.

  5. Если соединение установлено успешно, оно выведет "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