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.
Como SQL pode ser integrado eficientemente com Node.js?
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