SQL operatörleri

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 99

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0

SQL Işleçleri

Şebeke:

Operatör, belirli bir işlemi gerçekleştirmek için kullanılan özel bir semboldür.

SQL operatörleri:

SQL işleçleri, belirli işlemleri gerçekleştirmek için kullanılan ayrılmış sözcükler veya özel semboller veya karakterlerdir.

SQL operatörlerinin türleri:

  1. <li data-xf-list-type="ol">SQL Aritmetik Operatörleri <li data-xf-list-type="ol">SQL Karşılaştırma Operatörleri <li data-xf-list-type="ol">SQL Mantıksal İşleçler

1. SQL Aritmetik Operatörleri:

a'nın 20 ve b'nin 40'ı tuttuğu iki değişken olan a ve b'yi ele alalım.
[TABLE=full][TR][TD]Şebeke[/TD][TD]Tanım[/TD][TD]Örnek[/TD][/TR][TR][TD]+[/TD][TD]İşlenen değerlerini eklemek için kullanılır.[/TD][TD]a + b 60 verecek[/TD][/TR][TR][TD]–[/TD][TD]Sağ el işlenenini sol el işleneninden çıkarmak için kullanılır.[/TD][TD]a – b -20 verecek[/TD][/TR][TR][TD]*[/TD][TD]İşlenen değerlerini çarpmak için kullanılır.[/TD][TD]a * b 800 verecek[/TD][/TR][TR][TD]/[/TD][TD]Sol el işlenenini sağ el işlenenine bölmek için kullanılır.[/TD][TD]b / a 2 verecek[/TD][/TR][TR][TD]%[/TD][TD]Sol el işlenenini sağ el işlenenine modülo olarak bölmek için kullanılır.[/TD][TD]b % a 0 verecek[/TD][/TR][/TABLE]

2. SQL Karşılaştırma Operatörleri:

a'nın 20 ve b'nin 40'ı tuttuğu iki değişken olan a ve b'yi ele alalım.
[TABLE=full][TR][TD]Şebeke[/TD][TD]Tanım[/TD][TD]Örnek[/TD][/TR][TR][TD]=[/TD][TD]İki işlenenin değerlerinin eşit olup olmadığını kontrol etmek için kullanılır, evet ise koşul doğru olur.[/TD][TD](a = b) doğru değil.[/TD][/TR][TR][TD]!=[/TD][TD]İki işlenenin değerlerinin eşit olup olmadığını kontrol etmek için kullanılır, değerler eşit değilse koşul doğru olur.[/TD][TD](a != b) doğrudur.[/TD][/TR][TR][TD]&lt;&gt;[/TD][TD]İki işlenenin değerlerinin eşit olup olmadığını kontrol etmek için kullanılır, değerler eşit değilse koşul doğru olur.[/TD][TD](a &lt;&gt; b) doğrudur.[/TD][/TR][TR][TD]&gt;[/TD][TD]Sol işlenenin değerinin sağ işlenenin değerinden büyük olup olmadığını kontrol etmek için kullanılır, evet ise koşul doğru olur.[/TD][TD](a &gt; b) doğru değil.[/TD][/TR][TR][TD]&lt;[/TD][TD]Sol işlenenin değerinin sağ işlenenin değerinden küçük olup olmadığını kontrol etmek için kullanılır, evet ise koşul doğru olur.[/TD][TD](a &lt; b) doğrudur.[/TD][/TR][TR][TD]&gt;=[/TD][TD]Sol işlenenin değerinin sağ işlenenin değerinden büyük veya ona eşit olup olmadığını kontrol etmek için kullanılır, evet ise koşul doğru olur.[/TD][TD](a &gt;= b) doğru değil.[/TD][/TR][TR][TD]&lt;=[/TD][TD]Sol işlenenin değerinin sağ işlenenin değerinden küçük veya ona eşit olup olmadığını kontrol etmek için kullanılır, evet ise koşul doğru olur.[/TD][TD](a &lt;= b) doğrudur.[/TD][/TR][TR][TD]!&lt;[/TD][TD]Sol işlenenin değerinin sağ işlenenin değerinden küçük olmadığını kontrol etmek için kullanılır, evet ise koşul doğru olur.[/TD][TD](a !&lt; b) yanlıştır.[/TD][/TR][TR][TD]!&gt;[/TD][TD]Sol işlenenin değerinin sağ işlenenin değerinden büyük olup olmadığını kontrol etmek için kullanılır, evet ise koşul doğru olur.[/TD][TD](a ! &gt; b) doğrudur.[/TD][/TR][/TABLE]

3. SQL Mantıksal Operatörleri

[TABLE=full][TR][TD]Şebeke[/TD][TD]Tanım[/TD][/TR][TR][TD]TÜM[/TD][TD]Bir değeri başka bir değer kümesindeki tüm değerlerle karşılaştırmak için kullanılır.[/TD][/TR][TR][TD]VE[/TD][TD]Bir SQL ifadesinin WHERE yan tümcesinde birden çok koşulun bulunmasına izin verir.[/TD][/TR][TR][TD]HİÇ[/TD][TD]Bir değeri, koşula göre listedeki uygulanabilir herhangi bir değerle karşılaştırmak için kullanılır.[/TD][/TR][TR][TD]ARASINDA[/TD][TD]Minimum değer ve maksimum değer verilen bir değerler kümesi içindeki değerleri aramak için kullanılır.[/TD][/TR][TR][TD]VAR[/TD][TD]Belirli bir tablodaki belirli kriterleri karşılayan bir satırın varlığını aramak için kullanılır.[/TD][/TR][TR][TD]İÇİNDE[/TD][TD]IN işleci, bir değeri, belirtilmiş değişmez değerler listesiyle karşılaştırmak için kullanılır.[/TD][/TR][TR][TD]BEĞENMEK[/TD][TD]Joker karakter işleçlerini kullanarak bir değeri benzer değerlerle karşılaştırmak için kullanılır.[/TD][/TR][TR][TD]OLUMSUZLUK[/TD][TD]Kullanıldığı mantıksal operatörün anlamını tersine çevirir. Örn: MEVCUT DEĞİL, ARASINDA DEĞİL, İÇERİDE DEĞİL vb. Bu bir olumsuzlama işlecidir.[/TD][/TR][TR][TD]VEYA[/TD][TD]Bir SQL ifadesinin WHERE yan tümcesinde birden çok koşulu birleştirmek için kullanılır.[/TD][/TR][TR][TD]BOŞ[/TD][TD]Bir değeri NULL değeri ile karşılaştırmak için kullanılır.[/TD][/TR][TR][TD]BENZERSİZ[/TD][TD]Belirli bir tablonun her satırını benzersizlik için arar (yineleme yok).[/TD][/TR][/TABLE]
SQL Operatörleri Nedir? Metin2 Veritabanlarında Kullanımı ve Önemi

SQL (Structured Query Language), veritabanları üzerinde sorgulama, ekleme, güncelleme ve silme gibi işlemleri yapmamızı sağlayan standart bir dildir. Özellikle Metin2 sunucularında kullanılan veritabanları (MySQL, MariaDB) üzerinde çalışırken doğru SQL operatörlerini bilmek büyük önem taşır.

Metin2 Veritabanı Yapısı
Metin2 oyun sunucularında genellikle üç ana veritabanı kullanılır: common, game ve log. Bu veritabanlarında oyuncu bilgileri, envanter, eşyalar, görevler, sunucu logları gibi veriler saklanır. Örneğin player tablosunda oyuncu verileri, item_proto tablosunda eşya tanımları, mob_proto tablosunda ise yaratık tanımları yer alır. Bu tablolarda sorgulama yaparken SQL operatörlerini kullanmak gerekir.

Temel SQL Operatörleri
SELECT: Veritabanından veri çekmek için kullanılır. Örnek: SELECT name, level FROM player WHERE level > 50;
INSERT: Yeni veri eklemek için kullanılır. Örnek: INSERT INTO item_table (vnum, name, type) VALUES (71001, 'Dev Sword', 1);
UPDATE: Mevcut verileri güncellemek için kullanılır. Örnek: UPDATE player SET gold = 1000000 WHERE name = 'PlayerName';
DELETE: Belirtilen veriyi silmek için kullanılır. Örnek: DELETE FROM player WHERE name = 'UnwantedUser';

WHERE Operatörü
WHERE operatörü, belirli koşullara göre veri sorgulamak veya güncellemek için kullanılır. Metin2 veritabanlarında bir oyuncunun belirli bir eşyası olup olmadığını kontrol ederken veya bir görevin durumunu değiştirmek için WHERE şartını kullanmak zorunludur.

LIKE Operatörü
Metin aramalarında kullanılır. Örneğin oyuncu isimlerinde 'abc' geçen kayıtları bulmak için: SELECT * FROM player WHERE name LIKE '%abc%';

JOIN Operatörleri
Birden fazla tabloyu birleştirerek veri çekmek için kullanılır. Örneğin player ve inventory tablolarını birleştirerek bir oyuncunun envanterindeki eşyaları görebilirsiniz: SELECT p.name, i.item_vnum FROM player p JOIN inventory i ON p.id = i.owner_id;

ORDER BY ve LIMIT
ORDER BY sıralama, LIMIT ise kaç sonuç alınacağını belirtir. Bu özellikle sunucu istatistiklerinde çok işe yarar: SELECT name, level FROM player ORDER BY level DESC LIMIT 10;

Metin2 Özel Tablolar ve Operatör Kullanımı
item_proto tablosunda eşyaların vnum değerlerini yönetirken, mob_proto tablosunda yaratıkların özelliklerini düzenlerken ya da quest tablosunda görev sistemlerini kurarken SQL operatörleri hayat kurtarır. Örneğin, belirli bir vnum aralığındaki tüm eşyaları silmek için: DELETE FROM item_table WHERE vnum BETWEEN 70000 AND 72000;

Güvenlik ve Performans
SQL sorgularında dikkat edilmesi gereken en önemli konulardan birisi SQL Injection'dır. Metin2 geliştiricileri için bu, sunucu güvenliği açısından ciddi bir risk oluşturabilir. Her zaman parametreli sorgular kullanın. Ayrıca veritabanı optimizasyonu için uygun indeksler oluşturmak performansı artırır.

Sonuç
SQL operatörleri, Metin2 veritabanı yönetimi ve oyun sunucusu geliştirmede temel araçlardır. Doğru kullanıldığında hem veri yönetimini kolaylaştırır hem de performans kazandırır. Metin2 Lobby kullanıcıları olarak, bu konuda bilgi sahibi olmak hem kendi sunucularımızı daha iyi yönetmemizi sağlar hem de topluluk içinde aktif rol alabilmemizi sağlar.


What Are SQL Operators? Usage and Importance in Metin2 Databases

SQL (Structured Query Language) is a standard language that allows us to perform operations such as querying, inserting, updating, and deleting in databases. Knowing the correct SQL operators is crucial when working with databases (MySQL, MariaDB) used by Metin2 servers.

Metin2 Database Structure
In Metin2 game servers, three main databases are generally used: common, game, and log. These databases store player information, inventories, items, quests, and server logs. For example, the player table holds player data, item_proto contains item definitions, and mob_proto holds monster definitions. When querying these tables, you must use SQL operators.

Basic SQL Operators
SELECT: Used to retrieve data from the database. Example: SELECT name, level FROM player WHERE level > 50;
INSERT: Used to add new data. Example: INSERT INTO item_table (vnum, name, type) VALUES (71001, 'Dev Sword', 1);
UPDATE: Used to update existing data. Example: UPDATE player SET gold = 1000000 WHERE name = 'PlayerName';
DELETE: Used to delete specified data. Example: DELETE FROM player WHERE name = 'UnwantedUser';

WHERE Operator
The WHERE operator is used to query or update data based on specific conditions. In Metin2 databases, using WHERE clauses is essential when checking if a player has a certain item or modifying a quest status.

LIKE Operator
Used for string searches. For example, to find records where a player's name includes 'abc': SELECT * FROM player WHERE name LIKE '%abc%';

JOIN Operators
Used to combine multiple tables to fetch data. For instance, joining the player and inventory tables to see what items a player has: SELECT p.name, i.item_vnum FROM player p JOIN inventory i ON p.id = i.owner_id;

ORDER BY and LIMIT
ORDER BY sorts the results, while LIMIT specifies how many results to return. This is especially useful for server statistics: SELECT name, level FROM player ORDER BY level DESC LIMIT 10;

Metin2 Specific Tables and Operator Usage
When managing vnum values in the item_proto table, editing monster attributes in mob_proto, or setting up quest systems in the quest table, SQL operators become essential. For example, to delete all items within a certain vnum range: DELETE FROM item_table WHERE vnum BETWEEN 70000 AND 72000;

Security and Performance
One of the most important aspects to consider when writing SQL queries is SQL Injection. For Metin2 developers, this can pose a serious security risk to the server. Always use parameterized queries. Additionally, creating proper indexes can enhance database performance.

Conclusion
SQL operators are fundamental tools in Metin2 database management and game server development. When used correctly, they facilitate data management and improve performance. As users of Metin2 Lobby, gaining knowledge in this area helps us manage our own servers better and actively contribute to the community.
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Benzer konular

Geri
Üst Alt