Middle+
Kako biste projektovali SQL upit za bazu podataka bez korišćenja ORM-a?
sobes.tech АИ
Одговор од АИ
За извлачење података из табеле users, где је поље is_active једнако true и role је 'admin':
SELECT id, username, email
FROM users
WHERE is_active = TRUE AND role = 'admin';
За уметање новог записа у табелу products:
INSERT INTO products (name, price, category_id)
VALUES ('New Product', 19.99, 10);
За ажурирање записа у табели orders, постављајући статус на 'shipped' за налог са id = 100:
UPDATE orders
SET status = 'shipped'
WHERE id = 100;
За брисање записа из табеле comments по id:
DELETE FROM comments
WHERE id = 500;
За основно спајање табела users и orders по 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;
При дизајнирању, важно је узети у обзир:
- Безбедност: Користите параметризоване упите како бисте спречили SQL инјекције.
- Перформансе: Оптимизујте упите коришћењем индекса, избегавајте
SELECT *и проверавајте планове извршења. - Читљивост: Форматирајте упите, користите алтернативна имена за табеле и поља.
- Тестирање: Тестирајте упите у различитим сценаријима и обимима података.
Пример параметризованог упита (концептуално, имплементација зависи од језика и драйвера):
// Пример за преузимање корисника по ID-ју
SELECT id, username FROM users WHERE id = ?;