Sobes.tech
Middle+

Cum ai proiecta o interogare SQL către baza de date fără a folosi ORM?

sobes.tech AI

Răspuns de la AI

Pentru extragerea datelor din tabelul users, unde câmpul is_active este true și role este 'admin':

SELECT id, username, email
FROM users
WHERE is_active = TRUE AND role = 'admin';

Pentru inserarea unei noi înregistrări în tabelul products:

INSERT INTO products (name, price, category_id)
VALUES ('New Product', 19.99, 10);

Pentru actualizarea unei înregistrări în tabelul orders, setând statusul la 'shipped' pentru comanda cu id = 100:

UPDATE orders
SET status = 'shipped'
WHERE id = 100;

Pentru ștergerea unei înregistrări din tabelul comments după id:

DELETE FROM comments
WHERE id = 500;

Pentru o unire de bază a tabelelor users și orders după user_id:

SELECT u.username, o.order_date, o.total_amount
FROM users AS u
JOIN orders AS o ON u.id = o.user_id;

La proiectare, este important să țineți cont de:

  • Securitate: Utilizați interogări parametrizate pentru a preveni injecțiile SQL.
  • Performanță: Optimizarea interogărilor folosind indecși, evitarea SELECT * și verificarea planurilor de execuție.
  • Lizibilitate: Formatați interogările, utilizați aliasuri pentru tabele și câmpuri.
  • Testare: Testați interogările în diferite scenarii și volume de date.

Exemplu de interogare parametrizată (concepțional, implementarea depinde de limbaj și driver):

// Exemplu pentru extragerea unui utilizator după ID
SELECT id, username FROM users WHERE id = ?;