Sobes.tech
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 = ?;