Blog

Postado em em 5 de junho de 2024

Como Conectar o JavaScript a um Banco de Dados

Aprenda como conectar o JavaScript a um banco de dados, um importante passo para o desenvolvimento backend com JavaScript.

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Como Conectar o JavaScript a um Banco de Dados

Na aula de hoje, vou te mostrar como conectar o JavaScript a um banco de dados relacional, um procedimento essencial para trabalhar com programação back-end.

Vamos utilizar o Node.js para conectar o JavaScript a um banco de dados, criar e manipular tabelas e executar consultas SQL.

O objetivo é que você compreenda a estrutura básica de um banco de dados e saiba como usar o JavaScript para automatizar processos e interações que seriam feitos manualmente.

Então, faça o download do material disponível e venha comigo aprender como conectar JavaScript a um banco de dados SQL.

Criação do Arquivo do Banco de Dados

Vamos começar esta aula abrindo o VS Code e criando um arquivo chamado banco.db.

Criação do Arquivo do Banco de Dados

Dentro do VS Code, vamos utilizar uma extensão chamada SQLite Viewer, que permite visualizar os dados do banco de dados.

SQLite Server Extensão

Iniciando o Projeto e Instalação do SQLite

Após instalar a extensão, abra o terminal do VS Code e execute o comando npm init -y para inicializar um novo projeto Node.js. Isso criará um arquivo package.json com as configurações padrão.

Iniciando o Projeto

Em seguida, instale os pacotes SQLite e SQLite3 no projeto, executando os comandos:

npm install sqlite3 e npm install sqlite.

instalando os pacotes SQLite e SQLite3
instalando os pacotes SQLite e SQLite3
instalando os pacotes SQLite e SQLite3

Isso adicionará as dependências referentes ao SQLite e SQLite3 ao arquivo package.json. Além disso, adicione uma nova chave chamada type com o valor module.

{
  "name": "javascriptebancodedados",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "description": "",
  "dependencies": {
    "sqlite": "^5.1.1",
    "sqlite3": "^5.1.7"
  },
  "type": "module"
}

Isso permitirá uma escrita mais moderna do JavaScript, melhorando as funcionalidades e compatibilidades do código.

Criando o Arquivo Principal

Com as configurações iniciais prontas, criaremos um arquivo chamado app.js onde manipularemos o banco de dados com JavaScript.

Criando o Arquivo Principal

Dentro deste arquivo, importe o sqlite3 do pacote sqlite3 e a funcionalidade open do pacote sqlite.

import sqlite3 from "sqlite3";
import { open } from "sqlite";

Função para Criar e Popular Tabela – Criando a Conexão

Em seguida, vamos definir a função que criará uma tabela e registrará as informações nela.

Esta será uma função assíncrona que criará uma tabela de usuários e registrará o nome completo deles. Para isso, a função precisará receber como parâmetros o nome e sobrenome.

Dentro dessa função, criaremos um objeto (db) que representa a conexão com o banco de dados.

Esse objeto receberá a função open, que iniciará a conexão com o banco de dados. Dentro dessa função, definiremos o caminho do arquivo (filename) referente ao banco de dados e o driver a ser utilizado (driver).

Como o arquivo do banco de dados está na mesma pasta do código JavaScript, podemos passar o caminho dele como ./banco.db. O driver será o sqlite3.Database, a biblioteca responsável por realizar as operações no banco de dados.

Por padrão, essa é uma operação assíncrona, ou seja, o JavaScript começará a execução dela e liberará o processo para que outras etapas do código sejam executadas simultaneamente.

No entanto, todo o restante do nosso código depende da conexão bem-sucedida com o banco de dados. Então, utilizaremos a cláusula await antes da função open para que o código aguarde essa operação antes de continuar sua execução.

import sqlite3 from 'sqlite3';
import { open } from 'sqlite';

async function criarEPopularTabelaUsuarios(nome, sobrenome) {
  const db = await open({
    filename: './banco.db',
    driver: sqlite3.Database,
  });

Executando uma Consulta SQL

Com a conexão já estabelecida, o próximo passo da nossa função será executar uma consulta SQL para criar uma tabela dentro do banco de dados. Faremos isso utilizando o método run.

Observação: Caso você nunca tenha tido contato com SQL, confira nosso Curso Básico Gratuito de SQL para entender melhor os comandos que serão utilizados nessa etapa.

Dentro do método run, passaremos o comando SQL para criar uma tabela chamada usuarios no nosso banco de dados, caso essa tabela não exista.

Para este comando, precisamos informar os campos que essa tabela terá (id, nome e sobrenome), seguidos do tipo de dado que cada um irá armazenar. Nesse caso, id será um número inteiro (integer), e nome e sobrenome serão do tipo texto (text).

import sqlite3 from 'sqlite3';
import { open } from 'sqlite';

async function criarEPopularTabelaUsuarios(nome, sobrenome) {
  const db = await open({
    filename: './banco.db',
    driver: sqlite3.Database,
  });
  db.run(
    `CREATE TABLE IF NOT EXISTS usuarios (id INTEGER PRIMARY KEY, nome TEXT, sobrenome TEXT)`
  );
}

Além disso, observe que, para o id, além de definir o tipo como inteiro, também definimos que ele será uma Primary Key (chave primária), uma informação única utilizada para identificar os usuários na tabela.

Criando a Tabela – Testando o Código

Nossa função ainda não está completa, mas já podemos testá-la para verificar se a tabela está sendo criada corretamente dentro do banco de dados. Vamos criar uma chamada para essa função e executar nosso código.

import sqlite3 from "sqlite3";
import { open } from "sqlite";

async function criarEPopularTabelaUsuarios(nome, sobrenome) {
  const db = await open({
    filename: "./banco.db",
    driver: sqlite3.Database,
  });
  db.run(
    `CREATE TABLE IF NOT EXISTS usuarios (id INTEGER PRIMARY KEY, nome TEXT, sobrenome TEXT)`
  );
}

criarEPopularTabelaUsuarios();

Testando o código

Após executar o código, clique no arquivo banco.db que criamos e você verá que dentro dele há uma tabela chamada usuarios.

Tabela usuarios

Agora só precisamos implementar nossa função para, além de criar a tabela, registrar os usuários dentro dela.

Registrar os Usuários – Popular a Tabela

Para registrar um usuário, vamos adicionar mais um método run dentro da nossa função, que executará a instrução INSERT INTO do SQL para inserir um novo usuário na tabela.

Para este comando, vamos informar o nome da tabela, especificar as colunas nas quais os dados serão inseridos (nome, sobrenome) e os valores (VALUES (?,?)).

Utilizaremos pontos de interrogação como marcadores de posição, que serão substituídos pelos valores reais fornecidos pelo array contendo o nome e o sobrenome. Essas duas variáveis serão obtidas como argumentos passados para a nossa função.

Como informamos no momento da criação que o id é um número inteiro responsável pela chave primária da tabela, não precisamos informar o id a cada criação de usuário, pois o próprio banco de dados fará a implementação correta do id.

import sqlite3 from 'sqlite3';
import { open } from 'sqlite';

async function criarEPopularTabelaUsuarios(nome, sobrenome) {
  const db = await open({
    filename: './banco.db',
    driver: sqlite3.Database,
  });
  db.run(
    `CREATE TABLE IF NOT EXISTS usuarios (id INTEGER PRIMARY KEY, nome TEXT, sobrenome TEXT)`
  );
  db.run(`INSERT INTO usuarios (nome, sobrenome) VALUES (?,?)`, [
    nome,
    sobrenome,
  ]);
}

Testando o Código – Registrando Usuário

Vamos executar novamente nosso código, mas agora passando como argumentos para a função um nome e sobrenome.

import sqlite3 from "sqlite3";
import { open } from "sqlite";

async function criarEPopularTabelaUsuarios(nome, sobrenome) {
  const db = await open({
    filename: "./banco.db",
    driver: sqlite3.Database,
  });
  db.run(
    `CREATE TABLE IF NOT EXISTS usuarios (id INTEGER PRIMARY KEY, nome TEXT, sobrenome TEXT)`
  );
  db.run(`INSERT INTO usuarios (nome, sobrenome) VALUES (?,?)`, [
    nome,
    sobrenome,
  ]);
}
criarEPopularTabelaUsuarios("Daniel", "Porto");

Verificando o banco de dados, teremos nosso primeiro usuário registrado.

Tabela usuarios preenchida

Com isso, podemos interagir com o banco de dados utilizando JavaScript e registrar quantos usuários quisermos.

Da mesma forma que fizemos essas consultas com o banco de dados utilizando JavaScript, podemos realizar outras interações integrando os conhecimentos de JavaScript e SQL.

Conclusão – Como Conectar o JavaScript a um Banco de Dados

Nessa, você aprendeu como conectar o JavaScript a um banco de dados relacional, uma etapa essencial para trabalhar com programação back-end.

Vimos na prática como integrar as consultas SQL dentro do código JavaScript, definindo todo esse processo dentro de uma função que pode ser usada para otimizar e automatizar os trabalhos com bancos de dados.

Dessa forma, você será capaz de integrar seus conhecimentos em SQL com a programação em JavaScript para automatizar e gerenciar ainda mais etapas do seu banco de dados usando código JavaScript.

Quer se aprofundar ainda mais no universo do JavaScript? Inscreva-se no nosso Curso Online de JavaScript e domine as ferramentas necessárias para desenvolver projetos completos e interativos!

Hashtag Treinamentos

Para acessar publicações de JavaScript, clique aqui!


Quer aprender mais sobre JavaScript com um minicurso básico gratuito?