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 = ?;