Middle+
Wie würden Sie eine SQL-Abfrage für die Datenbank ohne ORM entwerfen?
sobes.tech KI
Antwort von AI
Um Daten aus der Tabelle users abzurufen, bei denen das Feld is_active true ist und role 'admin':
SELECT id, username, email
FROM users
WHERE is_active = TRUE AND role = 'admin';
Um neuen Datensatz in die Tabelle products einzufügen:
INSERT INTO products (name, price, category_id)
VALUES ('New Product', 19.99, 10);
Einen Datensatz in der Tabelle orders aktualisieren, um den Status auf 'shipped' zu setzen für die Bestellung mit id = 100:
UPDATE orders
SET status = 'shipped'
WHERE id = 100;
Einen Datensatz aus der Tabelle comments anhand der id löschen:
DELETE FROM comments
WHERE id = 500;
Einfaches Join der Tabellen users und orders anhand 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;
Bei der Planung ist es wichtig:
- Sicherheit: Parametrisierte Abfragen verwenden, um SQL-Injektionen zu vermeiden.
- Leistung: Abfragen optimieren durch Indizes,
SELECT *vermeiden und Ausführungspläne prüfen. - Lesbarkeit: Abfragen formatieren, Aliase für Tabellen und Felder verwenden.
- Testen: Abfragen in verschiedenen Szenarien und Datenvolumen testen.
Beispiel für eine parametrische Abfrage (konzeptuell, die Implementierung hängt von Sprache und Treiber ab):
// Beispiel, um einen Benutzer nach ID abzufragen
SELECT id, username FROM users WHERE id = ?;