Sobes.tech
Middle+

ORM kullanmadan veritabanına SQL sorgusunu nasıl tasarlardınız?

sobes.tech yapay zeka

AI'dan gelen yanıt

users tablosundan veri almak için, is_active alanı true ve role 'admin' olan:

SELECT id, username, email
FROM users
WHERE is_active = TRUE AND role = 'admin';

products tablosuna yeni bir kayıt eklemek için:

INSERT INTO products (name, price, category_id)
VALUES ('New Product', 19.99, 10);

orders tablosundaki kaydı güncellemek ve id = 100 olan siparişin durumunu 'shipped' yapmak için:

UPDATE orders
SET status = 'shipped'
WHERE id = 100;

comments tablosundan id ile kayıt silmek için:

DELETE FROM comments
WHERE id = 500;

users ve orders tablolarını user_id üzerinden temel birleştirme:

SELECT u.username, o.order_date, o.total_amount
FROM users AS u
JOIN orders AS o ON u.id = o.user_id;

Tasarım yaparken dikkate alınması gerekenler:

  • Güvenlik: SQL enjeksiyonlarını önlemek için parametreli sorgular kullanın.
  • Performans: İndeksler kullanarak sorguları optimize edin, SELECT * kullanmaktan kaçının ve yürütme planlarını kontrol edin.
  • Okunabilirlik: Sorguları biçimlendirin, tablo ve alan takma adları kullanın.
  • Test: Farklı senaryolarda ve veri hacimlerinde sorguları test edin.

Parametreli sorgu örneği (kavramsal, uygulama dili ve sürücüsüne bağlı olarak değişir):

// ID ile kullanıcı sorgulama örneği
SELECT id, username FROM users WHERE id = ?;