Sobes.tech
Middle+

Ako by ste navrhli SQL dopyt k databáze bez použitia ORM?

sobes.tech AI

Odpoveď od AI

Na načítanie údajov z tabuľky users, kde je pole is_active rovné true a role je 'admin':

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

Na vloženie nového záznamu do tabuľky products:

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

Na aktualizáciu záznamu v tabuľke orders, nastavenie stavu na 'shipped' pre objednávku s id = 100:

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

Na odstránenie záznamu z tabuľky comments podľa id:

DELETE FROM comments
WHERE id = 500;

Na základné spojenie tabuliek users a orders podľa 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;

Pri navrhovaní je dôležité brať do úvahy:

  • Bezpečnosť: Používajte parametrizované dotazy na prevenciu SQL injekcií.
  • Výkon: Optimalizujte dotazy pomocou indexov, vyhýbajte sa SELECT * a kontrolujte plány vykonávania.
  • Čitateľnosť: Formátujte dotazy, používajte aliasy pre tabuľky a polia.
  • Testovanie: Testujte dotazy v rôznych scenároch a objemoch dát.

Príklad parametrizovaného dotazu (konceptuálne, implementácia závisí od jazyka a ovládača):

// Príklad na načítanie používateľa podľa ID
SELECT id, username FROM users WHERE id = ?;