Введение в Mysql.
MySQL – это система управления реляционной базами данных (RDBMS). Данные в этих типах баз данных расположены в таблицах, которые могут ссылаться на другие данные, хранящиеся в таблицах. Это соотношение между данными в отдельных таблицах помогает добавить структуру в данные и дает происхождение RDBMS имени. В большинстве случаев эти базы данных должны быть искать или запросываться с использованием конкретного синтаксиса, который создает создатели базы данных. К счастью, для нас существуют программы, которые позволяют нам свободу и гибкость, чтобы запросить эти базы данных в более JavaScript, подобном формату, эти типы программ называются ORM или объектно-реляционным картированием. Sequelize – это одна из этих программ. Он обрабатывает задачу преобразования между объектами в JavaScript и строками в базе данных MySQL. Давайте посмотрим на процесс получения секвенирования настроек и запущении в проекте с использованием базы данных MySQL.
Настройка базы данных MySQL
Давайте настроим нашу базу данных MySQL, используя синтаксис, предоставленный нам базой данных. Здесь мы создаем таблицу песни с идентификатором, именем и значением художника в таблице.
CREATE DATABASE music;
USE music;
CREATE TABLE songs (
id int(5) auto_increment primary key,
name char(30),
artist char(20)
);
insert into songs(name, artist)
values ('Stairway To Heaven', 'Led Zeppelin');
insert into songs(name, artist)
values ('Rain Song', 'Led Zeppelin');
insert into songs(name, artist)
values ('Better Now', 'Post Malone');
insert into songs(name, artist)
values ('Congratulations', 'Post Malone');
Когда мы запрашиваем нашу базу данных, мы можем выбрать всю таблицу, используя этот запрос:
SELECT * FROM songs; | id | name | artist | |----|--------------------|--------------| | 1 | Stairway To Heaven | Led Zeppelin | | 2 | Rain Song | Led Zeppelin | | 3 | Better Now | Post Malone | | 4 | Congratulations | Post Malone |
Чтобы выбрать только песни по Post MalOne, вы можете использовать этот запрос:
SELECT name FROM songs
WHERE artist = 'Post Malone';
| name |
|-----------------|
| Better Now |
| Congratulations |
Теперь, когда у нас есть понимание того, как базовая база данных в функциях MySQL, давайте посмотрим, как этот процесс можно сделать с помощью SEXELIZE ORM!
Создание базы данных с помощью Sequelize
Давайте посмотрим, как настройка базы данных с помощью Sequelize отличается от процесса, описанного выше.
// Run in the terminal to install Sequelize // and the MySQL database npm install --save sequelize npm install mysql --save
Теперь у нас все настроено, чтобы использовать SEXELIZE в файле JavaScript, чтобы создать нашу базу данных и определить таблицы, которые мы хотим внутри. Давайте посмотрим на этот процесс.
// Run in the Javascript file
const {sequilize} = require('sequelize');
const db = new Sequelize('music', 'root', '', {
host: 'localhost',
dialect: 'mysql',
});
const Songs = db.define('Songs', {
id: {
type: Sequelize.INTEGER,
autoIncrement: true,
primaryKey: true
},
song: {
type: Sequelize.STRING,
},
artist: {
type: Sequelize.STRING,
}
});
После выполнения строк кода выше мы сделали то же самое, что и ранее. Мы создали музыкальную базу данных, используя SEXELIZE и создали таблицу песен со значениями идентификатора, песни и художника. Теперь, когда мы создали базу данных и таблицу, давайте добавим некоторые данные в таблицу, как и раньше. Обратите внимание на то, как мы используем ключевое слово «await», это потому, что почти каждый метод продолжения асинхронна!
const createData = async () => {
const congratulations = await Songs.create({
song: 'Congratulations',
artist: 'Post Malone'
}):
const betterNow = await Songs.create({
song: 'Better Now',
artist: 'Post Malone'
}):
const stairWay = await Songs.create({
song: 'Stairway to Heaven',
artist: 'Led Zeppelin'
}):
const rainSong = await Songs.create({
song: 'Rain Song',
artist: 'Led Zeppelin'
}):
}
Теперь, когда мы заполнили наши данные, нам нужно иметь способ доступа к данным, которые мы вставили в наш стол, давайте посмотрим на то, что это сделано. Scilezize имеет отличный метод под названием Findall ().
const getData = async () => {
const getMyMusic = await Songs.findAll();
console.log(getMyMusic);
}
// Prints the following to the console
dataValues:
{ id: 1,
name: 'Congratulations',
artist: 'Post Malone',
createdAt: 2020-07-19T20:20:06.450Z,
updatedAt: 2020-07-19T20:20:06.450Z
},
{ id: 2,
name: 'Better Now',
artist: 'Post Malone',
createdAt: 2020-07-19T20:20:06.450Z,
updatedAt: 2020-07-19T20:20:06.450Z
},
{ id: 3,
name: 'Stairway to Heaven',
artist: 'Led Zeppelin',
createdAt: 2020-07-19T20:20:06.450Z,
updatedAt: 2020-07-19T20:20:06.450Z
},
{ id: 4,
name: 'Rain Song',
artist: 'Led Zeppelin',
createdAt: 2020-07-19T20:20:06.450Z,
updatedAt: 2020-07-19T20:20:06.450Z
},
Возможность использовать ORM во время работы с базами данных делает жизнь намного проще. Создание вашей базы данных и определение структуры все может быть выполнено в ваших файлах JavaScript и не требует использования вашего интерфейса MySQL. Scentize также можно использовать для выполнения конкретных запросов вашей базы данных, как и в MySQL. Для получения дополнительной информации проверить Последовательность документации Отказ Также Эта статья Джозеф Ху, действительно помог укрепить мое понимание продолжения, дать ему чтение! Я надеюсь, что моя статья предоставила представление как MySQL, так и секвентификацию, и как использование ORM может действительно ускорить процесс создания и определения вашей базы данных!
Оригинал: “https://dev.to/cschratz/interacting-with-mysql-databases-with-sequelize-5ggi”