
API-Node-Mysql-JWT
📦 Cómo crear un CRUD con Node.js y MySQL desde cero 🚀
Aquí te dejo una guía rápida para que implementes un CRUD (Crear, Leer, Actualizar, Eliminar) paso a paso. 🛠️
1. Configura el proyecto
Crea una carpeta para tu proyecto y abre la terminal:
mkdir crud-nodejs-mysql cd crud-nodejs-mysql npm init -y
Instala las dependencias necesarias:
npm install express mysql2 dotenv body-parser cors
2. Configura tu base de datos MySQL
Crea una base de datos y una tabla simple en MySQL. Por ejemplo:
CREATE DATABASE crud_example; USE crud_example; CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100) NOT NULL, email VARCHAR(100) NOT NULL UNIQUE );
3. Crea el archivo de conexión
Crea un archivo llamado db.js
:
const mysql = require("mysql2"); require("dotenv").config(); const pool = mysql.createPool({ host: process.env.DB_HOST, user: process.env.DB_USER, password: process.env.DB_PASSWORD, database: process.env.DB_NAME, }); module.exports = pool.promise();
4. Implementa el CRUD
En tu archivo principal index.js
:
const express = require("express"); const bodyParser = require("body-parser"); const cors = require("cors"); const db = require("./db"); const app = express(); app.use(cors()); app.use(bodyParser.json()); // CREATE app.post("/users", async (req, res) => { const { name, email } = req.body; try { const [result] = await db.execute( "INSERT INTO users (name, email) VALUES (?, ?)", [name, email] ); res.status(201).json({ id: result.insertId, name, email }); } catch (error) { res.status(500).json({ error: error.message }); } }); // READ app.get("/users", async (req, res) => { try { const [rows] = await db.execute("SELECT * FROM users"); res.json(rows); } catch (error) { res.status(500).json({ error: error.message }); } }); // UPDATE app.put("/users/:id", async (req, res) => { const { id } = req.params; const { name, email } = req.body; try { await db.execute("UPDATE users SET name = ?, email = ? WHERE id = ?", [ name, email, id, ]); res.json({ message: "User updated" }); } catch (error) { res.status(500).json({ error: error.message }); } }); // DELETE app.delete("/users/:id", async (req, res) => { const { id } = req.params; try { await db.execute("DELETE FROM users WHERE id = ?", [id]); res.json({ message: "User deleted" }); } catch (error) { res.status(500).json({ error: error.message }); } }); const PORT = process.env.PORT || 3000; app.listen(PORT, () => console.log(`Server running on http://localhost:${PORT}`) );
5. Configura las variables de entorno
Crea un archivo .env
y añade:
DB_HOST=localhost DB_USER=tu_usuario DB_PASSWORD=tu_contraseña DB_NAME=crud_example
6. Prueba tu CRUD
- Usa Postman o cualquier herramienta para enviar solicitudes HTTP a tu servidor.
-
Ejemplo de endpoints:
POST
/users
para crear un usuario.
GET
/users
para obtener todos los usuarios.
PUT
/users/:id
para actualizar un usuario.
DELETE
/users/:id
para eliminar un usuario.
💡 Bonus Tip : Si quieres hacer tu código más limpio, separa las rutas y controladores en diferentes archivos. ¡Tu futuro yo te lo agradecerá! 😊
- @version 1.0.0
- @author [JuanPGutiDev]
- @email [[email protected]]