Criando tabelas em MySQL a partir de Node.js

Resumo : neste tutorial, você aprenderá como criar uma nova tabela no banco de dados MySQL a partir de uma aplicação Node.js.

Este tutorial continua de onde parou a conexão com o servidor de banco de dados MySQL do tutorial Node.js.

Criando tabelas

Para criar uma tabela a partir do Node.js, siga estas etapas:

  1. Conecte-se ao servidor de banco de dados MySQL.
  2. Chame o query()método no connectionobjeto para executar uma CREATE TABLEinstrução.
  3. Feche a conexão com o banco de dados.

Crie um novo arquivo chamado create_table.jsno diretório do projeto e adicione o seguinte código ao arquivo:

let mysql = require('mysql');

let connection = mysql.createConnection({
  host: process.env.DB_HOST,
  port: process.env.DB_PORT,
  user: process.env.DB_USER,
  password: process.env.DB_PASSWORD,
  database: process.env.DB_NAME,
});

// connect to the MySQL server
connection.connect((err) => {
  if (err) return console.error(err.message);

  const createTodosTable = `create table if not exists todos(
                          id int primary key auto_increment,
                          title varchar(255) not null,
                          completed bool not null default false
                      )`;

  connection.query(createTodosTable, (err, results, fields) => {
    if (err) return console.log(err.message);
  });

  // close the connection
  connection.end((err) => {
    if (err) return console.log(err.message);
  });
});
Linguagem de código:  JavaScript  ( javascript )

Como funciona.

Primeiro, use o mysqlmódulo para conectar-se ao servidor MySQL:

let mysql = require('mysql');Linguagem de código:  JavaScript  ( javascript )

Segundo, crie uma conexão de banco de dados com os parâmetros provenientes do .envarquivo de configuração:

let connection = mysql.createConnection({
  host: process.env.DB_HOST,
  port: process.env.DB_PORT,
  user: process.env.DB_USER,
  password: process.env.DB_PASSWORD,
  database: process.env.DB_NAME,
});Linguagem de código:  JavaScript  ( javascript )

Aqui está o conteúdo do .envarquivo:

DB_HOST=localhost
DB_PORT=3306
DB_USER=user
DB_PASSWORD=password
DB_NAME=todoapp

Terceiro, conecte-se ao servidor MySQL:

connection.end((err) => {
  if (err) return console.log(err.message);
});Linguagem de código:  JavaScript  ( javascript )

Se ocorrer um erro ao estabelecer uma conexão com o banco de dados, exiba a mensagem de erro.

Quarto, defina uma consulta SQL para criar uma tabela chamada todos. A todostabela possui três colunas:

  • idé a chave primária de incremento automático .
  • titleé o título da tarefa com comprimento máximo de 255.
  • completedé um valor booleano que indica o status do arquivo todo. O padrão é false.
const createTodosTable = `create table if not exists todos(
                          id int primary key auto_increment,
                          title varchar(255)not null,
                          completed bool not null default false
                      )`;Linguagem de código:  JavaScript  ( javascript )

Quinto, execute a CREATE TABLEinstrução usando o query()método:

connection.query(createTodosTable, function (err, results, fields) {
  if (err) return console.log(err.message);
});Linguagem de código:  JavaScript  ( javascript )

O query()método aceita uma instrução SQL e um retorno de chamada. A função de retorno de chamada recebe três argumentos:

  • error: armazena o erro detalhado se ocorreu um erro durante a execução da instrução.
  • results: contém os resultados da consulta.
  • fields: contém informações do campo de resultados, se houver.

Por fim, feche a conexão com o banco de dados:

// close the connection
connection.end(function (err) {
  if (err) return console.log(err.message);
});Linguagem de código:  JavaScript  ( javascript )

Para executar o programa que usa o .env, você usa o seguinte comando:

node --env-file .env create_table.jsLinguagem de código:  JavaScript  ( javascript )

Verificando a criação da tabela

Primeiro, abra o prompt de comando no Windows ou Terminal em sistemas do tipo Unix e conecte-se ao servidor MySQL:

mysql -h host -u root -p todoapp;

Segundo, liste todas as tabelas do todoappbanco de dados:

show tables;

Saída:

+-------------------+
| Tables_in_todoapp |
+-------------------+
| todos             |
+-------------------+
1 row in set (0.00 sec)Linguagem de código:  JavaScript  ( javascript )

Neste tutorial, você aprendeu como criar uma nova tabela em um banco de dados MySQL.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *