Sobes.tech
Middle+

როგორ დაგეგმავდით SQL-საკითხს მონაცემთა ბაზისთვის ORM-ის გამოყენების გარეშე?

sobes.tech AI

პასუხი AI-სგან

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 = ?;