Sobes.tech
Middle+

Jak byste navrhli SQL dotaz do databáze bez použití ORM?

sobes.tech AI

Odpověď od AI

Pro načtení dat z tabulky users, kde je pole is_active rovno true a role rovno 'admin':

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

Pro vložení nového záznamu do tabulky products:

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

Pro aktualizaci záznamu v tabulce orders, nastavení stavu na 'shipped' pro objednávku s id = 100:

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

Pro odstranění záznamu z tabulky comments podle id:

DELETE FROM comments
WHERE id = 500;

Pro základní spojení tabulek users a orders podle 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;

Při návrhu je důležité vzít v úvahu:

  • Bezpečnost: Používejte parametrizované dotazy k prevenci SQL injection.
  • Výkon: Optimalizujte dotazy pomocí indexů, vyhýbejte se SELECT * a kontrolujte plány provádění.
  • Čitelnost: Formátujte dotazy, používejte aliasy pro tabulky a pole.
  • Testování: Testujte dotazy v různých scénářích a objemech dat.

Příklad parametrizovaného dotazu (konceptuální, implementace závisí na jazyku a ovladači):

// Příklad pro načtení uživatele podle ID
SELECT id, username FROM users WHERE id = ?;