MySQL — HackerX https://hackerx.ru Блог о программировании, СУБД, сетях и алгоритмах. Уроки и статьи по разным языкам программирования Wed, 11 Jul 2018 07:15:23 +0000 ru-RU hourly 1 https://wordpress.org/?v=4.9.8 ORM-система Sequelize для Node.js https://hackerx.ru/orm-sequelize-node-js/ https://hackerx.ru/orm-sequelize-node-js/#respond Sat, 29 Jul 2017 12:28:25 +0000 https://hackerx.ru/?p=543 В этом уроке мы узнаем, что такое ORM, зачем он нужен, какие ORM библиотеки есть для Node.js и как с ними работать. ORM (англ. Object-Relational Mapping, рус. объектно-реляционное отображение) — это технология программирования, который связывает базу данных с моделью объектно-ориентированных языков программирования. Он создает для СУБД виртуальный объектный интерфейс. ORM помогает программистам избавиться от больших кусков кода, ошибок и повышает скорость разработки. То есть, […]

The post ORM-система Sequelize для Node.js appeared first on HackerX.

]]>
В этом уроке мы узнаем, что такое ORM, зачем он нужен, какие ORM библиотеки есть для Node.js и как с ними работать.

ORM (англ. Object-Relational Mapping, рус. объектно-реляционное отображение) — это технология программирования, который связывает базу данных с моделью объектно-ориентированных языков программирования. Он создает для СУБД виртуальный объектный интерфейс.

ORM помогает программистам избавиться от больших кусков кода, ошибок и повышает скорость разработки. То есть, мы избавляемся от обычных SQL запросов, пишем небольшие куски кодов в объектно-ориентированным стилем, а библиотека транслирует этот код в sql запросы.

Сейчас есть довольно большое количество ORM библиотек для различных языков. Например, для PHP это Propel, Doctrine и Qcodo. Для Python это SQLAlchemy, Storm. Для Java это Hibernate. Для всех популярных объектно-ориентированных языков есть по крайней мере один свой ORM.

После того, как с помощью языка JavaScript (Node.js) стало возможно программировать на сервере, и для этого языка появились ORM системы. Самый популярный из них — это Sequelize. Как понимаете, в этом уроке мы будем изучать его.

Node.js и ORM-система Sequelize — Начинаем работать

Библиотека Sequelize — это Node.js ORM система для работы с такими базами данных, как PostgreSQL, MySQL, SQLite и MSSQL. Давайте начнем работать с Sequelize. Нам нужно установить данную библиотеку. Для установки открываем терминал (командная строка) и вводим команду ниже.

npm install --save sequelize

После этого нужно установить одну из библиотек. Например, если вы хотите работать с MySQL, то нужно установить mysql2.

npm install --save pg pg-hstore // PostgreSQL
npm install --save mysql2  // MySQL
npm install --save sqlite3  // SQLite
npm install --save tedious  // MSSQL

Настройка соединения




После установки библиотек мы можем установить соединение с базой данных.

const Sequelize = require("sequelize");
const sequelize = new Sequelize('database', 'username', 'password', {
  host: 'localhost',
  dialect: 'mysql'|'sqlite'|'postgres'|'mssql',

  pool: {
    max: 5,
    min: 0,
    idle: 10000
  },

  // Только Для SQLite
  storage: 'path/to/database.sqlite'
});

Давайте немного подробнее рассмотрим этот код. После подключение ORM-системы Sequelize, нам в первом строке кода вернется функция / конструктор. Конструктор принимает несколько аргументов. Во второй строке кода мы вызываем конструктор (создаем новый объект с помощью оператора new), и передаем нужные аргументы / параметры.

Первые три аргументы — это данные доступа к базе данных:

  • database — имя базы данных
  • username — логин пользователя
  • password — пароль пользователя базы данных

 

Последним аргументом конструктор принимает объект, где в виде key-value указаны необходимые параметры.

  • host — это адрес сервера базы данных. Обычно тут нужно указать localhost, если база и проект находятся на одном сервере, если база данных на другом сервере, то там нужно будет указать IP адрес сервера.
  • dialect — здесь нужно указать с каким СУБД вы работаете. Например, если вы работаете с PostgreSQL, то нужно указать postgres.
  • storage — Этот ключ нужно только в том случае, если вы используете в качестве базы данных SQLite. Там нужно в виде строки указать путь к базе.

 

Пример кода, который указан выше, это общий пример, поэтому предлагаю рассмотреть конкретный пример. Например, давайте подключимся к базе данных MySQL.

const Sequelize = require("sequelize");
const sequelize = new Sequelize('database', 'username', 'password', {
  host: 'localhost',
  dialect: 'mysql',

  pool: {
    max: 5,
    min: 0,
    idle: 10000
  }
});

В константе (переменная) sequelize содержится экземпляр соединения и мы можем с ним работать. Sequelize имеет функцию (метод) authenticate, с помощью которого можно проверить состояние соединение.

sequelize
  .authenticate()
  .then(() => {
    console.log('Соединение установлено.');
  })
  .catch(err => {
    console.error('Ошибка соединения:', err);
  });

В этом уроке мы узнали, что такое ORM, как установить ORM-систему Sequelize, и как с Node.js подключится к серверу БД с помощью Sequelize. В следующем уроке мы продолжим знакомиться с ORM Sequelize и создадим CRUD приложения.

Полный список уроков Node.js представлен на этом странице.

The post ORM-система Sequelize для Node.js appeared first on HackerX.

]]>
https://hackerx.ru/orm-sequelize-node-js/feed/ 0
MySQL и Node.js — Подключение к базе данных https://hackerx.ru/mysql-node-js-connect-to-database/ https://hackerx.ru/mysql-node-js-connect-to-database/#respond Mon, 28 Nov 2016 19:31:46 +0000 https://hackerx.ru/?p=323 Существует несколько модулей для работы с MySQL в Node.js. Но самый популярный модуль — это node-mysql. Данный модуль появилось одним из первых, и с его помощью написан довольно много Node.js / MySQL приложений. Давайте приступим к делу. Чтобы начать использовать MySQL в проекте, сначало нужно установить модуль mysql. npm install mysql После успешной установки нам нужно произвести подключение к базе […]

The post MySQL и Node.js — Подключение к базе данных appeared first on HackerX.

]]>
Существует несколько модулей для работы с MySQL в Node.js. Но самый популярный модуль — это node-mysql. Данный модуль появилось одним из первых, и с его помощью написан довольно много Node.js / MySQL приложений.

Давайте приступим к делу. Чтобы начать использовать MySQL в проекте, сначало нужно установить модуль mysql.

npm install mysql

После успешной установки нам нужно произвести подключение к базе данных.

const mysql = require("mysql");

const connection = mysql.createConnection({
    host: "localhost",
    user: "root",
    password: "my_password"
});

connection.connect();

Это пока еще не все, мы открыли соединение с сервером MySQL и не закрыли. Если мы сейчас запустим даный сценарий, он не завершается сам. Для закрытие соединение у объекта connection есть метод end — connection.end();

Метод принимает callback функцию, и он гарантирует, что все активные запросы успеют завершится до закрытие соединение.

connection.end(function(err){
    if(err) return console.log(err);

    console.log("Disconnect");
});

Метод createConnection может принимать и другие (необязательные) параметры. Вот некоторые из них:

  • charset — Это кодировка, по умолчанию стоит UTF8_GENERAL_CI,
  • timezone — Временная зона, по умолчанию локальная времия — local,
  • flags — Список флагов соединения,
  • multipleStatements — По умолчанию отключена для защиты от SQL-инъекций. Разрешает многократное использование SQL-инструкции за один запрос.

А теперь давайте сделаем запрос к базе данных. Для выполнение запросов к базе есть метод query. Он первым параметром принимает SQL запрос, а вторым callback функцию.

connection.query("SELECT * FROM users", function(err, rows, fields){
    if(err) return console.log(err);

    // Действие с результатом
});

Метод query нужно вызвать до закрытие соединение.

В следующей статье я более подробно расскажу о запросах к базе MySQL из Node.js, и посмотрим как можно реализовать CRUD операции.

The post MySQL и Node.js — Подключение к базе данных appeared first on HackerX.

]]>
https://hackerx.ru/mysql-node-js-connect-to-database/feed/ 0