Middle+
Kuidas te kujundaksite SQL-päringut andmebaasile ilma ORM-i kasutamata?
sobes.tech AI
Vastus AI-lt
Andmete saņemšanai no tabulas users, kur lauks is_active ir true un role ir 'admin':
SELECT id, username, email
FROM users
WHERE is_active = TRUE AND role = 'admin';
Jauna ieraksta ievietošanai tabulā products:
INSERT INTO products (name, price, category_id)
VALUES ('New Product', 19.99, 10);
Pasūtījuma orders tabulā atjaunināt statusu uz 'shipped' ar id = 100:
UPDATE orders
SET status = 'shipped'
WHERE id = 100;
Noņemt ierakstu no comments tabulas pēc id:
DELETE FROM comments
WHERE id = 500;
Vienkāršs apvienojums starp users un orders tabulām pēc 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;
Projektēšanas laikā ir svarīgi ņemt vērā:
- Drošība: Izmantojiet parametrizētus vaicājumus, lai novērstu SQL injekcijas.
- Veiktspēja: Optimizējiet vaicājumus, izmantojot indeksus, izvairoties no
SELECT *un pārbaudot izpildes plānus. - Lasāmība: Formatējiet vaicājumus, izmantojiet tabulu un lauku pseidonīmus.
- Testēšana: Testējiet vaicājumus dažādos scenārijos un datu apjomos.
Piemērs parametrizētam vaicājumam (konceptuāli, realizācija ir atkarīga no valodas un draivera):
// Piemērs, kā iegūt lietotāju pēc ID
SELECT id, username FROM users WHERE id = ?;