Middle+
ORM ishlatmasdan ma'lumotlar bazasiga SQL so'rovini qanday loyihalasiz?
sobes.tech AI
AIdan javob
users jadvalidan ma'lumotlarni olish uchun, is_active maydoni true va role 'admin' bo'lsa:
SELECT id, username, email
FROM users
WHERE is_active = TRUE AND role = 'admin';
Yangi yozuvni products jadvaliga qo'shish uchun:
INSERT INTO products (name, price, category_id)
VALUES ('New Product', 19.99, 10);
orders jadvalidagi yozuvni yangilash, id = 100 bo'lgan buyurtma uchun holatni 'shipped' qilish:
UPDATE orders
SET status = 'shipped'
WHERE id = 100;
comments jadvalidan id bo'yicha yozuvni o'chirish:
DELETE FROM comments
WHERE id = 500;
users va orders jadvallarini user_id bo'yicha oddiy birlashtirish:
SELECT u.username, o.order_date, o.total_amount
FROM users AS u
JOIN orders AS o ON u.id = o.user_id;
Dizayn qilishda quyidagilarni hisobga olish muhim:
- Xavfsizlik: SQL injektsiyalarini oldini olish uchun parametrli so'rovlar ishlatish.
- Ishlash tezligi: Indekslar yordamida so'rovlarni optimallashtirish,
SELECT *dan qochish va bajarilish rejasini tekshirish. - O'qilishi osonlik: So'rovlarni formatlash, jadvallar va maydonlar uchun aliaslardan foydalanish.
- Test qilish: So'rovlarni turli sharoitlarda va ma'lumot hajmida tekshirish.
Parametrli so'rov misoli (kontseptual, amalga oshirish til va drayverga bog'liq):
// ID bo'yicha foydalanuvchini so'rash misoli
SELECT id, username FROM users WHERE id = ?;