🗃️
Database Integration

SQL Databases in Node.js

pg, mysql2 Drivers
💡 SQL, DATABASES, EK, "ORGANIZED, SPREADSHEET" jaisi, HAIN — HAR, TABLE, ka, EK, FIXED, STRUCTURE, (COLUMNS) hota hai, aur, RELATIONSHIPS, (FOREIGN, KEYS) SE, DIFFERENT, TABLES, CONNECTED, HOTE, HAIN, JAISE, EK, SPREADSHEET, ke, DIFFERENT, SHEETS, EK, DUSRE, se, LINKED, HOTE, HAIN.

pg (PostgreSQL) aur, mysql2 (MySQL), POPULAR, Node.js, DRIVERS, HAIN, SQL, DATABASES, ke, liye — RAW, SQL, QUERIES, RUN, karne, ke, liye, DIRECT, WAY, DETE, HAIN.

PARAMETERIZED, QUERIES, (jaise, $1, ya, ?) USE, karna, CRITICAL, hai — STRING, CONCATENATION, se, SQL, QUERIES, banaने, SE, SQL, INJECTION, VULNERABILITY, ho, sakti hai.

const { Pool } = require("pg");
const pool = new Pool({ connectionString: process.env.DATABASE_URL });

async function getUser(id) {
  // Parameterized query — SQL injection SAFE:
  const result = await pool.query("SELECT * FROM users WHERE id = $1", [id]);
  return result.rows[0];
}

// NEVER: pool.query(`SELECT * FROM users WHERE id = ${id}`) — VULNERABLE
🗃️
SQL, DATABASES, EK, "ORGANIZED, SPREADSHEET" jaisi, HAIN — HAR, TABLE, ka, EK, FIXED, STRUCTURE, (COLUMNS) hota hai, aur, RELATIONSHIPS, (FOREIGN, KEYS) SE, DIFFERENT, TABLES, CONNECTED, HOTE, HAIN, JAISE, EK, SPREADSHEET, ke, DIFFERENT, SHEETS, EK, DUSRE, se, LINKED, HOTE, HAIN.
1 / 2
⚡ Quick Recap
  • pg/mysql2 = SQL databases ke liye, popular, Node.js drivers
  • Parameterized queries ($1, ?), SQL, injection, se, BACHATE, HAIN
  • String concatenation se, queries, banaна, NEVER, karo
Is page mein (2 subtopics)

Transactions, MULTIPLE, QUERIES, ko, EK, "ALL-OR-NOTHING" UNIT, mein, GROUP, karte, HAIN — AGAR, KOI, EK, QUERY, FAIL, hoti, hai, POORI, TRANSACTION, ROLLBACK, ho, jaati hai, DATA, CONSISTENCY, MAINTAIN, karne, ke, liye.

const client = await pool.connect();
try {
  await client.query("BEGIN");
  await client.query("UPDATE accounts SET balance = balance - 100 WHERE id = 1");
  await client.query("UPDATE accounts SET balance = balance + 100 WHERE id = 2");
  await client.query("COMMIT");
} catch (e) {
  await client.query("ROLLBACK");
} finally {
  client.release();
}

Prepared, STATEMENTS, (PARAMETERIZED, QUERIES) SIRF, SECURITY, ke, liye, NAHI, HAIN — DATABASE, QUERY, PLAN, ko, CACHE, kar, sakta hai, jab, SAME, QUERY, STRUCTURE, BAAR-BAAR, DIFFERENT, PARAMETERS, ke, saath, RUN, hoti hai, JISSE, PERFORMANCE, BHI, IMPROVE, hoti hai.

💡Tip: Parameterized, queries, DOUBLE, FAYDA, DETI, HAIN — SQL, injection, se, SAFETY, aur, QUERY, PLAN, CACHING, se, PERFORMANCE.