Node.js digunakan untuk membangun aplikasi web. js, Express.js: js adalah salah satu kerangka kerja yang paling kuat karena menyediakan kesederhanaan dan sangat mudah disesuaikan. Tetapi jika Anda ingin membangun aplikasi fungsional, Anda sering kali membutuhkan database untuk menyimpan dan mengontrol data Anda. Basis data NoSQL seperti MongoDB sangat populer untuk digunakan, dan meskipun menawarkan kecepatan dan fleksibilitas yang tak tertandingi, hal yang sama pentingnya adalah sistem manajemen basis data relasional (RDBMS): MySQL, PostgreSQL, dan SQLite digunakan secara luas ketika data terstruktur atau kueri yang rumit diperlukan.
Pada artikel ini, kita akan membahas cara mengintegrasikan database SQL dengan Express.js dan menciptakan interaksi yang mulus antara server web Anda dengan database. Kita akan membahas semuanya, mulai dari menyiapkan database hingga membuat kueri SQL dan menangani respons dalam aplikasi Express.js.
sumber: scaler.com |
1. Menyiapkan Basis Data SQL
Pertama, Anda harus memiliki basis data SQL pilihan Anda. Dalam tutorial ini, kami akan mendemonstrasikan penggunaan MySQL sebagai contoh, tetapi pendekatan ini juga dapat digunakan pada basis data SQL lain seperti PostgreSQL dan SQLite, dengan sedikit perbedaan.
Untuk memulainya, Anda perlu menyiapkan MySQL atau menggunakan yang sudah tersedia. Ini tersedia untuk diunduh dari situs web resmi MySQL, atau dapat diinstal melalui manajer paket.
Setelah Anda menginstal MySQL, buatlah basis data untuk proyek Anda. Anda dapat melakukan ini dengan masuk ke MySQL dan mengeksekusi:
CREATE DATABASE myapp;
2. Menginstal Ketergantungan
npm install mysql2
3. Membuat Koneksi MySQL
const mysql = require('mysql2');// Create a connection pool to the MySQL databaseconst pool = mysql.createPool({host: 'localhost',user: 'root', // replace with your database usernamepassword: 'password', // replace with your database passworddatabase: 'myapp', // replace with your database name});// Export the pool for use in other parts of your appmodule.exports = pool.promise();
4. Kami telah mengekspresikan Kueri SQL js
const express = require('express');const db = require('./db'); // import the database connectionconst app = express();const port = 3000;app.get('/users', async (req, res) => {try {// Query the database for all usersconst [rows] = await db.execute('SELECT * FROM users');res.json(rows); // Send the result as a JSON response} catch (err) {console.error(err);res.status(500).json({ message: 'Database error' });}});app.listen(port, () => {console.log(`Server running at http://localhost:${port}`);});
5. Penanganan Sisipan dan Pembaruan SQL
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({ message: 'User created', userId: result[0].insertId });} catch (err) {console.error(err);res.status(500).json({ message: 'Database error' });}});