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