Middle+
Hoe zou je een SQL-query voor de database ontwerpen zonder ORM te gebruiken?
sobes.tech AI
Antwoord van AI
Om gegevens uit de tabel users op te halen, waar het veld is_active gelijk is aan true en role gelijk is aan 'admin':
SELECT id, username, email
FROM users
WHERE is_active = TRUE AND role = 'admin';
Om een nieuwe record in de tabel products in te voegen:
INSERT INTO products (name, price, category_id)
VALUES ('New Product', 19.99, 10);
Om een record in de tabel orders bij te werken, waarbij de status wordt ingesteld op 'shipped' voor de bestelling met id = 100:
UPDATE orders
SET status = 'shipped'
WHERE id = 100;
Om een record uit de tabel comments te verwijderen op basis van id:
DELETE FROM comments
WHERE id = 500;
Voor een eenvoudige join tussen de tabellen users en orders op 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;
Bij het ontwerpen is het belangrijk om rekening te houden met:
- Veiligheid: Gebruik parametriseerde queries om SQL-injecties te voorkomen.
- Prestaties: Optimaliseer queries met behulp van indexen, vermijd
SELECT *en controleer de uitvoeringsplannen. - Leesbaarheid: Format queries, gebruik aliassen voor tabellen en velden.
- Testen: Test queries in verschillende scenario's en datavolumes.
Voorbeeld van een parametrized query (conceptueel, de implementatie hangt af van de taal en driver):
// Voorbeeld om een gebruiker op ID op te halen
SELECT id, username FROM users WHERE id = ?;