Como fazer consultas SQL no Node.js?

No Node.js, é possível fazer consultas SQL em bancos de dados como MySQL e PostgreSQL usando pacotes como mysql2 e pg.

Como fazer consultas SQL no Node.js?

No Node.js, você pode realizar consultas SQL utilizando pacotes como mysql2 (para MySQL) e pg (para PostgreSQL). Esses pacotes facilitam a comunicação com bancos de dados relacionais e a execução de consultas SQL diretamente de sua aplicação.

1. Instalando o pacote mysql2 para MySQL

Para conectar-se ao MySQL e realizar consultas, instale o pacote mysql2:

npm install mysql2

2. Configurando a conexão e realizando consultas

Após a instalação, crie a conexão com o banco de dados e execute uma consulta SQL:

const mysql = require('mysql2');

const connection = mysql.createConnection({
    host: 'localhost',
    user: 'root',
    password: 'senha',
    database: 'meubanco'
});

connection.connect((err) => {
    if (err) {
        console.error('Erro ao conectar ao MySQL:', err.stack);
        return;
    }
    console.log('Conectado ao MySQL com ID:', connection.threadId);
});

// Realizando uma consulta SQL
connection.query('SELECT * FROM usuarios', (err, results, fields) => {
    if (err) {
        console.error('Erro na consulta:', err);
    } else {
        console.log('Resultado da consulta:', results);
    }
    connection.end();
});

Neste exemplo, estamos buscando todos os registros da tabela usuarios no banco de dados.

3. Instalando o pacote pg para PostgreSQL

Para realizar consultas em um banco PostgreSQL, instale o pacote pg:

npm install pg

4. Configurando a conexão e realizando consultas com PostgreSQL

Aqui está um exemplo de como configurar a conexão e realizar uma consulta usando o pg:

const { Client } = require('pg');

const client = new Client({
    host: 'localhost',
    user: 'usuario',
    password: 'senha',
    database: 'meubanco',
    port: 5432,
});

client.connect()
    .then(() => console.log('Conectado ao PostgreSQL'))
    .catch(err => console.error('Erro ao conectar ao PostgreSQL:', err));

// Realizando uma consulta SQL
client.query('SELECT * FROM usuarios;', (err, res) => {
    if (err) {
        console.error('Erro na consulta:', err);
    } else {
        console.log('Resultado da consulta:', res.rows);
    }
    client.end();
});

Aqui estamos buscando todos os registros da tabela usuarios no PostgreSQL.

5. Consultas SQL mais complexas

Você pode realizar consultas mais complexas, como filtros e junções. Exemplo de uma consulta com filtro no MySQL:

connection.query('SELECT * FROM usuarios WHERE idade > 30', (err, results, fields) => {
    if (err) {
        console.error('Erro na consulta:', err);
    } else {
        console.log('Usuários com mais de 30 anos:', results);
    }
    connection.end();
});

Conclusão

No Node.js, utilizar pacotes como mysql2 e pg facilita a realização de consultas SQL em bancos de dados relacionais, permitindo a execução de consultas simples e complexas de maneira eficiente e segura.

O uso de SQL para manipulação de dados continua sendo essencial em aplicações modernas, principalmente em sistemas financeiros, e-commerce e gestão de conteúdos. Bancos como MySQL e PostgreSQL são amplamente adotados devido à sua robustez, segurança e escalabilidade.

Ao integrar SQL com Node.js, você consegue criar APIs eficientes, escaláveis e que podem suportar um grande volume de dados, mantendo a integridade das informações no banco.

Algumas aplicações:

  • Gestão de dados de usuários
  • Manipulação de informações de produtos em e-commerce
  • Armazenamento de dados financeiros
  • Criação de APIs para sistemas de gerenciamento
  • Sistemas de recomendação baseados em dados relacionais

Dicas para quem está começando

  • Use sempre prepared statements para evitar SQL Injection.
  • Evite escrever consultas SQL diretamente; prefira usar ORM como Sequelize ou Knex.
  • Realize operações de bulk insert quando precisar inserir muitos dados ao mesmo tempo.
  • Otimize consultas utilizando índices nas colunas mais consultadas.
  • Trate erros de banco de dados corretamente para evitar falhas na aplicação.

Contribuições de Henrique Almeida

Compartilhe este tutorial: Como fazer consultas SQL no Node.js?

Compartilhe este tutorial

Continue aprendendo:

Como usar o Mongoose para interagir com o MongoDB no Node.js?

O Mongoose é uma biblioteca que facilita a interação com o MongoDB, oferecendo uma camada de abstração para realizar operações de CRUD de forma eficiente.

Tutorial anterior

Como fazer consultas NoSQL no Node.js?

O Node.js permite fazer consultas NoSQL, com o MongoDB sendo uma das opções mais populares, usando a biblioteca Mongoose para interagir com dados.

Próximo tutorial