Puan
0
Çözümler
0
- Katılım
- 18 Ocak 2025
- Mesajlar
- 52
- Tepkime puanı
- 2
- Konum
- Bursa
- Web sitesi
- ko-turkey.net
Konu Sahibi
Herkese merhaba!
Knight Online sunucuları ile uğraşan geliştiriciler ve GM'ler için, en sık kullanılan SQL komutlarını derlediğim bu konuda; veritabanı işlemlerini kolaylaştıracak birçok örnek ve açıklamalı sorgu bulabilirsiniz.
Hem yeni başlayanlara hem de ileri düzey kullanıcılara yönelik referans bir kaynak olması amacıyla hazırlanmıştır.
Belirli kayıtları ya da tüm verileri listelemek için kullanılır.
Kullanım Şekli:
Örnekler:
Yeni veri eklemek için kullanılır.
Kullanım Şekli:
Örnek:
Kullanım Şekli:
Örnekler:
Tüm kayıtları hızlıca silmek için kullanılır. Geri alınamaz.
Kullanım:
Örnek:
NOT : Bu sorgu K_NPCPOS tablosunu listelerken, ilk sütunda ilgili NPC adını gösterir.
Aynı yapıya sahip tabloları birleştirir.
Umarım bu sorgular işinize yarar. Eğer sizin de elinizde işe yarar SQL komutları varsa, yorumlarda paylaşarak bu arşivi hep birlikte büyütebiliriz.
Knight Online sunucuları ile uğraşan geliştiriciler ve GM'ler için, en sık kullanılan SQL komutlarını derlediğim bu konuda; veritabanı işlemlerini kolaylaştıracak birçok örnek ve açıklamalı sorgu bulabilirsiniz.
Hem yeni başlayanlara hem de ileri düzey kullanıcılara yönelik referans bir kaynak olması amacıyla hazırlanmıştır.
SELECT (Listeleme – Sorgulama)
Belirli kayıtları ya da tüm verileri listelemek için kullanılır.
Kullanım Şekli:
SQL:
SELECT * FROM [TABLO_ADI]
SELECT * FROM [TABLO_ADI] WHERE [SUTUN_ADI] = 'Değer'
SELECT Sütun1, Sütun2 FROM [TABLO_ADI] WHERE [SUTUN_ADI] LIKE '%Değer%'
Örnekler:
SQL:
SELECT * FROM ITEM
SELECT * FROM ITEM WHERE strName = 'Shard'
SELECT * FROM ITEM WHERE strName LIKE '%Shard%'
SELECT Num, strName FROM ITEM WHERE strName LIKE '%Shard%'
INSERT (Yeni Kayıt Ekleme)
Yeni veri eklemek için kullanılır.
Kullanım Şekli:
SQL:
INSERT INTO [TABLO_ADI] (Sütun1, Sütun2, ...) VALUES ('Değer1', 'Değer2', ...)
Örnek:
SQL:
INSERT INTO K_MONSTER_ITEM
(sIndex, iItem01, sPersent01, iItem02, sPersent02, iItem03, sPersent03, iItem04, sPersent04, iItem05, sPersent05)
VALUES
('100', 0, 0, 0, 0, '285003000', '5600', 0, 0, 0, 0)
DELETE (Kayıt Silme)
Kullanım Şekli:
SQL:
DELETE FROM [TABLO_ADI]
DELETE FROM [TABLO_ADI] WHERE [SUTUN_ADI] = 'Değer'
Örnekler:
SQL:
DELETE FROM USERDATA
DELETE FROM USERDATA WHERE Level > 70
TRUNCATE (Tablo Temizleme)
Tüm kayıtları hızlıca silmek için kullanılır. Geri alınamaz.
Kullanım:
SQL:
TRUNCATE TABLE [TABLO_ADI]
SUB-QUERY (İç İçe Sorgu)
Örnek:
SQL:
SELECT (SELECT strName FROM K_NPC WHERE sSid = npcID), *
FROM K_NPCPOS
WHERE ActType > 1
NOT : Bu sorgu K_NPCPOS tablosunu listelerken, ilk sütunda ilgili NPC adını gösterir.
Diğer Faydalı SQL Komutları:
- DISTINCT: Aynı olan kayıtları tekrar etmeden listeler.
SQL:SELECT DISTINCT uyeadi FROM uyeler
- IN: Çoklu koşul için kullanılır.
SQL:SELECT * FROM uyeler WHERE uyeadi IN ('netrobin', 'ali', 'mehmet')
- LIKE: Yaklaşık eşleşme ile arama yapar.
SQL:SELECT * FROM uyeler WHERE uyeadi LIKE '%a'
- BETWEEN: Belirli bir aralıkta filtreleme yapar.
-
SQL:
SELECT * FROM uyeler WHERE yas BETWEEN 30 AND 40
- SUM, MAX, MIN, AVG:
SQL:SELECT SUM(ucret) FROM uyeler SELECT MAX(ucret), MIN(ucret), AVG(ucret) FROM uyeler WHERE tarih > '01.01.1999'
- ORDER BY:
-
SQL:
SELECT * FROM uyeler ORDER BY uyeadi ASC SELECT * FROM uyeler ORDER BY uyeadi DESC
- GROUP BY: Genellikle istatistiksel raporlar için kullanılır.
-
SQL:
SELECT tarih, COUNT(*) FROM uyeler GROUP BY tarih
- ALIAS (Takma Ad):
SQL:SELECT uyeadi AS isim FROM uyeler
- Basic JOIN:
-
SQL:
SELECT * FROM uyeler, detaylar WHERE uyeler.id = detaylar.uyeno
- INNER JOIN:
-
SQL:
SELECT * FROM uyeler INNER JOIN detaylar ON uyeler.id = detaylar.uyeno
- LEFT JOIN:
-
SQL:
SELECT * FROM uyeler LEFT JOIN detaylar ON uyeler.id = detaylar.uyeno
UNION & UNION ALL
Aynı yapıya sahip tabloları birleştirir.
SQL:
SELECT uyeadi FROM uyeler
UNION
SELECT uyeadi FROM detaylar
-- Tekrarlayan kayıtları da dahil etmek için:
SELECT uyeadi FROM uyeler
UNION ALL
SELECT uyeadi FROM detaylar
Umarım bu sorgular işinize yarar. Eğer sizin de elinizde işe yarar SQL komutları varsa, yorumlarda paylaşarak bu arşivi hep birlikte büyütebiliriz.