MariaDB Öğretici: Söz Dizimini Öğrenin, Örneklerle Komutlar

Nedir? MariaDB?

MariaDB bir çataldır MySQL veritabanı Yönetim sistemi. Orijinal geliştiricileri tarafından yaratılmıştır. Bu DBMS aracı, hem küçük hem de kurumsal görevler için veri işleme yetenekleri sunar.

MariaDB geliştirilmiş bir versiyonudur MySQL. Çok sayıda dahili güçlü özellik ve piyasada bulamayacağınız birçok kullanılabilirlik, güvenlik ve performans iyileştirmesi ile birlikte gelir. MySQL.

İşte özellikleri MariaDB:

  • GPL, BSD veya LGPL lisansları altında çalışır.
  • MariaDB popüler ve standart bir sorgulama dilini destekler.
  • Diğer ilişkisel veritabanı yönetim sistemleriyle entegre edilebilen yüksek performanslı olanlar da dahil olmak üzere birçok depolama motoruyla birlikte gelir.
  • Galera küme teknolojisini sağlar.
  • MariaDB Web geliştirme için popüler bir dil olan PHP'yi destekler.
  • MariaDB farklı işletim sistemlerinde çalışabilir ve çok sayıda programlama dilini destekler.
  • MariaDB mevcut olmayan ek komutlarla birlikte gelir MySQL. MySQL DBMS'nin performansı üzerinde olumsuz etkisi olan özelliklere sahiptir. Bu tür özellikler değiştirildi MariaDB.

MariaDB vs MySQL

Aşağıda aralarındaki bazı önemli farklar verilmiştir. MariaDB vs MySQL

Parametre MariaDB MySQL
Depolama Motorları için Daha Fazla Seçenek MariaDB bulamayacağınız 12 yeni depolama motoru var MySQL. ile karşılaştırıldığında daha az depolama seçeneğine sahiptir. MariaDB.
Hız İyileştirmeleri MariaDB ile karşılaştırıldığında daha iyi bir hız gösterir MySQL. Hızı optimize etmek için çok sayıda özellik ile birlikte gelir. Bu tür özellikler türetilmiş görünümleri/tabloları, alt sorguyu, yürütme kontrolünü, disk erişimini ve optimize edici kontrolünü içerir. MySQL karşılaştırıldığında daha yavaş bir hız sergilemektedir. MariaDB. Hız optimizasyonu için karma dizinler gibi yalnızca birkaç özelliğe dayanır.
Daha hızlı önbellek/dizinler Bellek depolama motoruyla MariaDB, bir INSERT ifadesi standartta olduğundan %24 oranında tamamlanabilir MySQL. Bellek depolama motoru MySQL buna kıyasla daha yavaş MariaDB.
Daha Büyük ve Daha Hızlı Bağlantı Havuzu MariaDB daha hızlı çalışabilen ve 200,000'den fazla bağlantıyı destekleyen gelişmiş bir iş parçacığı havuzuyla birlikte gelir. Tarafından sağlanan iş parçacığı havuzu MySQL Bir seferde 200,000'e kadar bağlantıyı destekleyemez.
Geliştirilmiş Çoğaltma In MariaDBçoğaltma daha güvenli ve daha hızlı yapılabilir. Güncellemeler ayrıca geleneksel güncellemelere kıyasla 2 kat daha hızlı yapılabilir. MySQL. MySQL'nin topluluk sürümü, statik sayıda iş parçacığının bağlanmasına izin verir. MySQL'ın kurumsal planı iş parçacığı yetenekleriyle birlikte gelir.
Yeni Özellikler/Uzantılar MariaDB JSON, YOUR ve KILL ifadeleri dahil olmak üzere yeni özellikler ve uzantılarla birlikte gelir. Yeni MariaDB özellikler burada sağlanmamıştır MySQL.
Eksik Özellikler MariaDB tarafından sağlanan bazı özelliklerden yoksundur. MySQL kurumsal sürüm. Bu sorunu çözmek için alternatif açık kaynaklı eklentiler sunar. Buradan, MariaDB kullanıcılar aynı işlevlerden yararlanabilirler MySQL Kurumsal Sürüm kullanıcıları. Kurumsal Sürümü MySQL özel bir kod kullanır. Yalnızca kullanıcıları MySQL Enterprise Edition'ın buna erişimi var.

Nasıl kurulur? MariaDB

Bağımsız Bir Uygulama Olarak Kurulum

kullanmak için MariaDB, bilgisayarınıza yüklemelisiniz.

Kurulum aşağıdaki adımları izleyerek yapılabilir:

) 1 Adım URL'nin Altını Aç
Kurulum dosyasını Linkten indirin https://downloads.mariadb.org/

) 2 Adım Double kurulumu başlatmak için dosyaya tıklayın
İndirme işlemi tamamlandıktan sonra Dosyayı Aç

) 3 Adım İleri düğmesine tıklayın
Açılan pencerede İleri butonuna tıklayın:

Kurulumu MariaDB

) 4 Adım Lisans sözleşmesini kabul edin
Daha sonra İleri düğmesine tıklayın:

Kurulumu MariaDB

) 5 Adım Klinik MariaDB sunucu
Yüklenecek özellikleri seçin ve İleri'ye tıklayın

Kurulumu MariaDB

) 6 Adım Şifreyi gir
Bir sonraki pencerede root kullanıcısının şifresini değiştirmeniz istenecektir.

  1. Şifreyi girin ve aynı şifreyi tekrar yazarak onaylayın. Uzak makinelerden erişime izin vermek istiyorsanız, gerekli onay kutusunu etkinleştirin.
  2. İşiniz bittiğinde İleri düğmesine tıklayın.

Kurulumu MariaDB

) 7 Adım Adı Girin ve Bağlantı Noktası Numarasını Seçin
Bir sonraki pencerede örnek için bir ad yazın, bağlantı noktası numarasını seçin ve gerekli boyutu ayarlayın. İleri düğmesini tıklayın:

Kurulumu MariaDB

) 8 Adım İleri'yi tıklayın
Bir sonraki pencerede İleri düğmesine tıklamanız yeterlidir.

) 9 Adım Yükle'ye tıklayın
Install butonuna tıklayarak kurulumu başlatın.

Kurulumu MariaDB

) 10 Adım Bir İlerleme Çubuğu Gösteriliyor
Kurulumun ilerleyişini gösteren bir ilerleme çubuğu gösterilecektir:

Kurulumu MariaDB

) 11 Adım Bitir Düğmesine tıklayın
Kurulum tamamlandıktan sonra Finish butonunu göreceksiniz. Pencereyi kapatmak için düğmeye tıklayın:

Kurulumu MariaDB

) 12 Adım Tebrikler!
Şimdi sahipsin MariaDB bilgisayarınıza yüklendi.

Komut İstemi ile Çalışmak

Şimdi sahipsin MariaDB Bilgisayarınıza yüklendiğinde, onu başlatmanın ve kullanmaya başlamanın zamanı geldi. Bu, aracılığıyla yapılabilir. MariaDB Komut istemi.

Aşağıda verilen adımları izleyin:

) 1 Adım Başlat'a tıklayın, Tüm Programlar'ı seçin ve ardından MariaDB...

) 2 Adım Bir seçin MariaDB Komut İstemi.

MariaDB komut İstemi

) 3 Adım The MariaDB komut istemi başlatılacaktır. Artık giriş yapma zamanı geldi. Root kullanıcı olarak ve kurulum esnasında belirlediğiniz şifre ile giriş yapmalısınız. MariaDBKomut istemine aşağıdaki komutu yazın:

MySQL -u root -p

) 4 Adım Şifreyi girin ve dönüş tuşuna basın. Aşağıda gösterildiği gibi oturum açmalısınız:

MariaDB komut İstemi

Artık giriş yaptınız MariaDB.

Veri tipleri

MariaDB Aşağıdaki veri türlerini destekler:

  • Dize veri türleri
  • Sayısal veri türleri
  • Tarih/saat veri türleri
  • Büyük nesne veri türleri

Dize Veri Türleri

Bunlar aşağıdakileri içerir:

Dize veri türü Açıklama
karakter(boyut) Boyut, saklanacak karakter sayısını belirtir. Maksimum 255 karakter saklar. Sabit uzunluklu dizeler.
varchar(boyut) Boyut, saklanacak karakter sayısını belirtir. Maksimum 255 karakter saklar. Değişken uzunluklu dizeler.
yazı Boyutu) Boyut, saklanacak karakter sayısını belirtir. Maksimum 255 karakter saklar. Sabit uzunluklu dizeler.
ikili(boyut) Boyut, saklanacak karakter sayısını belirtir. Maksimum 255 karakter saklar. Sabit boyutlu dizeler.

Sayısal Veri Türleri

Aşağıdakileri içerir:

Sayısal Veri Türleri Açıklama
bit Tinint(1)'e eşdeğer çok küçük bir tamsayı değeri. İşaretli değerler -128 ile 127 arasında değişir. İşaretsiz değerler ise 0 ile 255 arasında değişir.
int(m) Standart bir tam sayı değeri. İmzalı değerler -2147483648 ile 2147483647 arasında değişir. İmzasız değerler 0 ile 4294967295 arasında değişir.
kayan nokta(m, d) Tek duyarlıklı kayan noktalı sayı.
çift(m,g) Çift hassasiyetli kayan noktalı sayı.
yüzer(p) Kayan noktalı bir sayı.

Tarih/Saat Veri Türleri

Bunlar aşağıdakileri içerir:

Tarih/Saat Veri Türü Açıklama
Tarih 'yyyy-aa-gg' biçiminde görüntülenir. Değerler '1000-01-01' ile '9999-12-31' arasında değişir.
Tarih saat 'yyyy-aa-gg ss:dd:ss' biçiminde görüntülenir. Değerler '1000-01-01 00:00:00' ile '9999-12-31 23:59:59' arasında değişir.
zaman damgası(m) 'yyyy-aa-gg ss:dd:ss' biçiminde görüntülenir. Değerler '1970-01-01 00:00:01' utc ve '2038-01-19 03:14:07' utc arasında değişir.
Zaman 'ss:dd:ss' biçiminde görüntülenir. Değerler '-838:59:59' ile '838:59:59' arasında değişir.

Büyük Nesne Veri Türleri (LOB)

Aşağıdakileri içerir:

Büyük nesne Veri türü Açıklama
minikblob Maksimum boyutu 255 bayttır.
damla (boyut) Maksimum boyut olarak 65,535 bayt alır.
Orta blok Maksimum boyutu 16,777,215 bayttır.
uzun metin Maksimum boyut olarak 4GB alır.

Veritabanı ve Tablolar Oluşturun

Yeni bir veritabanı oluşturmak için MariaDByalnızca kök kullanıcıya ve yöneticilere verilen özel ayrıcalıklara sahip olmalısınız.

Yeni bir veritabanı oluşturmak için aşağıdaki sözdizimini kullanan CREATE DATABASE komutunu kullanmalısınız:

CREATE DATABASE DatabaseName;

Bu durumda bir veritabanı oluşturup ona Demo adını vermeniz gerekir.

Başlat MariaDB Komut istemine girin ve aşağıdaki komutu yazarak kök kullanıcı olarak oturum açın:

mysql -u root -p

Kök şifresini yazın ve dönüş tuşuna basın. Giriş yapacaksınız.

Şimdi, aşağıdaki komutu çalıştırın:

CREATE DATABASE Demo;

Veritabanı ve Tablolar Oluşturun MariaDB

Daha sonra Demo adında bir veritabanı oluşturdunuz. Veritabanının başarılı bir şekilde oluşturulup oluşturulmadığını teyit etmeniz sizin için iyi olacaktır. Sadece aşağıdaki komutu çalıştırarak kullanılabilir veritabanlarının listesini göstermeniz gerekir:

SHOW DATABASES;

Veritabanı ve Tablolar Oluşturun MariaDB

Yukarıdaki çıktı Demo veritabanının listenin bir parçası olduğunu, dolayısıyla veritabanının başarıyla oluşturulduğunu gösterir.

MariaDB Veritabanı Seçin

Belirli bir veritabanını kullanabilmeniz veya üzerinde çalışabilmeniz için, onu mevcut veritabanları listesinden seçmeniz gerekir. Veritabanını seçtikten sonra veritabanı içerisinde tablo oluşturma gibi görevleri gerçekleştirebilirsiniz.

Bir veritabanı seçmek için USE komutunu kullanmalısınız. Aşağıda verilen sözdizimini alır:

USE database_name;

Demo veritabanını kullanmanız gerekir. Aşağıdaki komutu çalıştırarak seçebilirsiniz:

USE Demo;

Veritabanı ve Tablolar Oluşturun MariaDB

Yukarıdaki resim göstermektedir ki MariaDB komut istemi hiçbiri yerine seçilen veritabanının adını değiştirdi.

Artık devam edip Demo veritabanında tablolar oluşturabilirsiniz.

MariaDB – Tablo Oluştur

Tablo oluşturabilmeniz için bir veritabanı seçmiş olmanız gerekir. Tablo, CREATE TABLE deyimi kullanılarak oluşturulabilir. İşte komutun sözdizimi:

CREATE TABLE tableName (columnName columnType);

Sütunlardan birini birincil anahtar olarak ayarlayabilirsiniz. Bu sütun boş değerlere izin vermemelidir.

Demo veritabanı içerisinde Kitap ve Fiyat tabloları olmak üzere iki tablo oluşturacağız. Her tablonun iki sütunu olacaktır.

İki sütunlu, id ve name, Book tablosunu oluşturarak başlayalım. Aşağıdaki komutu çalıştırın:

CREATE TABLE Book(  
id INT NOT NULL AUTO_INCREMENT,  
name VARCHAR(100) NOT NULL,  
PRIMARY KEY (id));  

Veritabanı ve Tablolar Oluşturun MariaDB

PRIMARY KEY kısıtlaması, id sütununu tablonun birincil anahtarı olarak ayarlamak için kullanılmıştır. AUTO_INCREMENT özelliği, tabloya eklenen her yeni kayıt için id sütununun değerlerini otomatik olarak 1 artıracaktır. Tüm sütunlar boş değerlere izin vermeyecektir.

Şimdi ikinci tablo olan Fiyat tablosunu oluşturun:

CREATE TABLE Price(  
id INT NOT NULL AUTO_INCREMENT,  
price float NOT NULL,  
PRIMARY KEY (id));  

Veritabanı ve Tablolar Oluşturun MariaDB

Kimlik sütunu tablonun birincil anahtarı olarak ayarlandı.

Tabloları Gösterme

Artık iki tabloyu oluşturduğunuza göre, tabloların başarılı bir şekilde oluşturulup oluşturulmadığını doğrulamanız sizin için iyi olacaktır. Aşağıdaki komutu çalıştırarak bir veritabanında bulunan tabloların listesini gösterebilirsiniz:

SHOW TABLES;

Veritabanı ve Tablolar Oluşturun MariaDB

Yukarıdaki ekran görüntüsü iki tablonun Demo veritabanında başarıyla oluşturulduğunu göstermektedir.

Tablo Yapısını Gösterme

Belirli bir tablonun yapısını görmek için, genellikle DESC olarak kısaltılan DESCRIBE komutunu kullanabilirsiniz. Aşağıdaki sözdizimini alır:

DESC TableName;

Örneğin Book isimli tablonun yapısını görmek için aşağıdaki komutu çalıştırabilirsiniz;

DESC Book;

Veritabanı ve Tablolar Oluşturun MariaDB

Tablonun iki sütunu vardır. Fiyat tablosunun yapısını görmek için aşağıdaki komutu çalıştırabilirsiniz:

DESC Price;

Veritabanı ve Tablolar Oluşturun MariaDB

CRUD ve Cümleler

INSERT

Bir dosyaya veri eklemek için MariaDB tablosunda INSERT INTO deyimini kullanmalısınız. Bu komut aşağıda verilen sözdizimini alır:

INSERT INTO tableName
(column_1, column_2, ... )  
VALUES  
(value1, value2, ... ),  
(value1, value2, ... ),  
...;   

Yukarıdaki sözdizimi, eklemeniz gereken verilerin yanı sıra veri eklemek istediğiniz tablo sütunlarını da belirtmeniz gerektiğini gösterir.

Book tablosuna bir kayıt ekleyelim:

INSERT INTO book  
(id, name)  
VALUES(1, 'MariaDB Book');  

CRUD ve Maddeler-INSERT

Tabloya tek bir kayıt eklediniz. Fiyat tablosuna bir kayıt ekleyin:

INSERT INTO price
(id, price)  
VALUES(1, 200);  

CRUD ve Maddeler-INSERT

Kayıt oluşturuldu.

SEÇİN

SELECT ifadesi bir veritabanı tablosunun içeriğini görüntülememize veya görmemize yardımcı olur. Örneğin, Book tablosunun içeriğini görmek için aşağıdaki komutu çalıştırmanız gerekir:

SELECT * from book;

CRUD ve Maddeler-INSERT

Şimdi Fiyat tablosunun içeriğini görüntüleyin:

SELECT * from price;

CRUD ve Maddeler-INSERT

Birden Çok Kayıt Ekleme

Bir dosyaya birden fazla kayıt eklememiz mümkündür. MariaDB masayı bir seferde çalıştırın. Bunu göstermek için, aşağıdaki örneği çalıştırın:

INSERT INTO book
(id, name)  
VALUES  
(2,'MariaDB Book2'),  
(3,'MariaDB Book3'),  
(4,'MariaDB Book4'),  
(5,'MariaDB Book5');

Birden Çok Kayıt Ekleme

Kayıtların başarıyla eklenip eklenmediğini kontrol etmek için tabloyu sorgulayabilirsiniz:

SELECT * FROM book;

Birden Çok Kayıt Ekleme

Kayıtlar başarıyla eklendi. Bu örneği çalıştırarak Fiyat tablosuna birden çok kayıt ekleyin:

INSERT INTO price 
(id, price)  
VALUES  
(2, 250),  
(3, 220),  
(4, 190),  
(5, 300); 

Birden Çok Kayıt Ekleme

Kayıtların başarıyla oluşturulup oluşturulmadığını doğrulayalım:

SELECT * FROM price;

Birden Çok Kayıt Ekleme

GÜNCELLEME

UPDATE komutu, tabloya önceden eklenmiş olan kayıtları değiştirmemize veya düzenlememize yardımcı olur. Güncellenecek kaydı belirtmek için bunu WHERE yan tümcesiyle birleştirebilirsiniz. İşte sözdizimi:

UPDATE tableName SET field=newValue, field2=newValue2,...  
[WHERE ...]  

UPDATE komutu ayrıca SET, WHERE, LIMIT ve ORDER BY gibi cümlelerle de birleştirilebilir. Kısa süre içinde şunu göreceksiniz:

Aşağıdaki kayıtlara sahip Price adlı tabloyu ele alalım:

CRUD ve Cümleler-GÜNCELLEME

ID'si 1 olan kitabın fiyatını 200'den 250'ye değiştirelim:

UPDATE price 
SET price = 250
WHERE id = 1;

CRUD ve Cümleler-GÜNCELLEME

Komut başarıyla çalıştırıldı. Artık değişikliğin gerçekleşip gerçekleşmediğini görmek için tabloyu sorgulayabilirsiniz:

CRUD ve Cümleler-GÜNCELLEME

Yukarıdaki ekran görüntüsü değişikliğin uygulandığını gösteriyor. Aşağıdaki kayıtlara sahip Book tablosunu ele alalım:

CRUD ve Cümleler-GÜNCELLEME

Kitap adlı kitabın adını değiştirelim. MariaDB 1 kitap. Kitabın kimliğinin 1 olduğuna dikkat edin. Bunun için komut şöyledir:

UPDATE book
SET name = “MariaDB Book1”
WHERE id = 1;

CRUD ve Cümleler-GÜNCELLEME

Değişikliğin uygulanıp uygulanmadığını kontrol edin:

CRUD ve Cümleler-GÜNCELLEME

Yukarıdaki ekran görüntüsü değişikliğin başarıyla uygulandığını göstermektedir.

Yukarıdaki örneklerde aynı anda yalnızca bir sütunu değiştirdik. Ancak aynı anda birden fazla sütunu değiştirmemiz mümkündür. Bunu bir örnek kullanarak gösterelim.

Aşağıdaki verilerle Fiyat tablosunu kullanalım:

CRUD ve Cümleler-GÜNCELLEME

5 id'li kitabın hem id'sini hem de fiyatını değiştirelim. id'sini 6, fiyatını da 6 olarak değiştireceğiz. Aşağıdaki komutu çalıştırın:

UPDATE price
SET id = 6,
price = 280
WHERE id = 5;

CRUD ve Cümleler-GÜNCELLEME

Şimdi değişikliğin başarıyla yapılıp yapılmadığını kontrol etmek için tabloyu sorgulayın:

CRUD ve Cümleler-GÜNCELLEME

Değişiklik başarıyla gerçekleştirildi.

Sil

Bir tablodan bir veya daha fazla kaydı silmemiz gerektiğinde DELETE komutunu kullanırız. İşte komutun sözdizimi:

DELETE FROM tableName  
[WHERE condition(s)]  
[ORDER BY exp [ ASC | DESC ]]  
[LIMIT numberRows];   

Aşağıdaki kayıtların bulunduğu Fiyat tablosunu ele alalım:

CRUD ve Cümleler-SİL

Tablodan son kaydı silmemiz gerekiyor. ID’si 6, fiyatı ise 280. Kaydı silelim:

DELETE FROM price
WHERE id = 6;   

CRUD ve Cümleler-SİL

Komut başarıyla çalıştırıldı. Silme işleminin başarılı olup olmadığını doğrulamak için tabloyu sorgulayalım:

CRUD ve Cümleler-SİL

Çıktı, kaydın başarıyla silindiğini gösterir.

Nerede

WHERE ifadesi, bir değişiklik yapmamız gereken tam konumu belirtmemize yardımcı olur. INSERT, SELECT, UPDATE ve DELETE gibi ifadelerle birlikte kullanılır. Aşağıdaki verilerle Price tablosunu ele alalım:

CRUD ve Maddeler-Nerede

Diyelim ki fiyatın 250'den az olduğu kayıtları görmemiz gerekiyor. Aşağıdaki komutu çalıştırabiliriz:

SELECT *   
FROM price 
WHERE price < 250;  

CRUD ve Maddeler-Nerede

Fiyatın 250'nin altında olduğu tüm kayıtlar iade edildi.

WHERE ifadesi AND ifadesiyle birleştirilebilir. Fiyat tablosunda fiyatın 250'nin altında ve id'nin 3'ün üzerinde olduğu tüm kayıtları görmemiz gerektiğini varsayalım. Aşağıdaki komutu çalıştırabiliriz:

SELECT *  
FROM price  
WHERE id > 3  
AND price < 250;   

CRUD ve Maddeler-Nerede

Yalnızca bir kayıt döndürüldü. Sebebi ise belirtilen tüm koşulları karşılaması yani id'nin 3'ün üzerinde ve fiyatın 250'nin altında olması gerekiyor. Bu koşullardan herhangi biri ihlal edilirse kayıt iade edilmeyecektir.

Cümle aynı zamanda OR komutuyla da birleştirilebilir. Önceki komutumuzdaki AND'i OR ile değiştirelim ve nasıl bir çıktı alacağımıza bakalım:

SELECT *  
FROM price 
WHERE id > 3  
OR price < 250;   

CRUD ve Maddeler-Nerede

Artık 2 yerine 1 kayıt alıyoruz. Bunun nedeni, bir eleme kaydı için belirtilen koşullardan yalnızca birini karşılaması gerektiğidir.

Facebok sayfasını beğenin :

Bu cümle, tam eşleşmenin gerekli olduğu tablo verilerine erişirken veri modelini belirtmek için kullanılır. INSERT, UPDATE, SELECT ve DELETE ifadeleriyle birleştirilebilir.

Aradığınız veri modelini cümleye iletmelisiniz; bu, doğru ya da yanlış değerini döndürecektir. Cümleyle birlikte kullanılabilecek joker karakterler şunlardır:

  • %: 0 veya daha fazla karakteri eşleştirmek için.
  • _: tek bir karakteri eşleştirmek için.

LIKE yan tümcesinin sözdizimi şöyledir:

SELECT field_1, field_2,... FROM tableName1, tableName2,...  
WHERE fieldName LIKE condition;

% joker karakteriyle ifadenin nasıl kullanılacağını gösterelim. Aşağıdaki kayıtlarla Book tablosunu kullanalım:

CRUD ve Maddeler-Nerede

İsmin M ile başladığı tüm kayıtları görmemiz gerekiyor. Aşağıdaki komutu çalıştırabiliriz:

SELECT name  
FROM book  
WHERE name LIKE 'M%';  

CRUD ve Maddeler-Nerede

Tüm kayıtlar döndürüldü çünkü adları M harfiyle başlıyor. 4 ile biten tüm adları görmek için aşağıdaki komutu çalıştırabilirsiniz:

SELECT name  
FROM book  
WHERE name LIKE '%4';  

CRUD ve Maddeler-Nerede

Koşulu karşılayan tek isim olduğu için yalnızca bir isim geri verildi.

Arama modelini joker karakterle de çevreleyebiliriz:

SELECT name  
FROM book  
WHERE name LIKE '%DB%';  

CRUD ve Maddeler-Nerede

% joker karakteri dışında, LIKE yan tümcesi _ joker karakteriyle birlikte kullanılabilir. Bu alt çizgi joker karakteridir ve yalnızca tek bir karakteri arayacaktır.

Aşağıdaki kayıtlarla Fiyat tablosuyla çalışalım:

CRUD ve Maddeler-Nerede

Fiyatın 1_0 gibi olduğu kaydı kontrol edelim. Aşağıdaki komutu çalıştırıyoruz:

SELECT *  
FROM price
WHERE price LIKE '1_0';  

CRUD ve Maddeler-Nerede

Fiyatın 190 olduğu rekoru döndürdü. Başka bir model de deneyebiliriz:

SELECT *  
FROM price 
WHERE price LIKE '_2_';  

CRUD ve Maddeler-Nerede

LIKE deyimini NOT operatörüyle birlikte kullanmamız mümkündür. Bu, belirtilen kalıba uymayan tüm kayıtları döndürecektir. Örneğin:

Fiyat tablosunu aşağıdaki kayıtlarla kullanalım:

CRUD ve Maddeler-Nerede

Fiyatın 2 ile başlamadığı tüm kayıtları bulalım:

SELECT *  
FROM price  
WHERE price NOT LIKE '2%';  

CRUD ve Maddeler-Nerede

Yalnızca bir kayıt belirtilen kalıba uymuyor.

By Sipariş

Bu madde, kayıtlarımızı artan veya azalan düzende sıralamamıza yardımcı olur. Aşağıda gösterildiği gibi SELECT deyimiyle kullanıyoruz:

SELECT expression(s)  
FROM tables  
[WHERE condition(s)]  
ORDER BY exp [ ASC | DESC ];   

Bu cümleyi ASC ya da DESC kısmını eklemeden de kullanmamız mümkün. Örneğin:

Fiyat tablosunu aşağıdaki kayıtlarla kullanacağız:

CRUD ve Maddeler-Nerede

Aşağıdaki komutu tabloya karşı çalıştırın:

SELECT * FROM price 
WHERE price LIKE '2%.'
ORDER BY price;   

CRUD ve Maddeler-Nerede

Yukarıdaki komutta fiyata göre sipariş verdik. Kayıtlar fiyatlara göre artan sırada sıralanmıştır. Bu, sırayı belirtmediğimizde, sıralamanın varsayılan olarak artan sırada yapıldığı anlamına gelir.

Cümleyi DESC seçeneğiyle çalıştıralım:

SELECT * FROM price
WHERE price LIKE '2%'  
ORDER BY price DESC;   

CRUD ve Maddeler-Nerede

Kayıtlar belirttiğimiz gibi fiyatlara göre azalan şekilde sıralanmıştır.

ORDER BY deyimini ASC niteliğiyle birlikte kullanalım:

SELECT * FROM price 
WHERE price LIKE '2%.'  
ORDER BY price ASC;   

CRUD ve Maddeler-Nerede

Kayıtlar sıralanmıştır ancak fiyatlar artan sıradadır. Bu, ORDER BY yan tümcesini ASC veya DESC nitelikleri olmadan kullanmamıza benzer.

DISTINCT

Bu madde, bir tablodan kayıt seçerken kopyaları ortadan kaldırmamıza yardımcı olur. Bu, benzersiz kayıtlar elde etmemize yardımcı olduğu anlamına gelir. Sözdizimi aşağıda verilmiştir:

SELECT DISTINCT expression(s)  
FROM tableName  
[WHERE condition(s)];   

Bunu göstermek için aşağıdaki verilerle Fiyat tablosunu kullanacağız:

CRUD ve Maddeler-DISTINCT

Tablodan fiyat sütununu seçtiğimizde aşağıdaki sonucu elde ederiz:

SELECT price FROM Price;

CRUD ve Maddeler-DISTINCT

Fiyatı 250 olan iki kaydımız var, kopya oluşturuyor. Yalnızca benzersiz kayıtlara ihtiyacımız var. Bunları aşağıda gösterildiği gibi DISTINCT yan tümcesini kullanarak filtreleyebiliriz:

SELECT DISTINCT price FROM Price;

CRUD ve Maddeler-DISTINCT

Artık yukarıdaki çıktıda herhangi bir kopyamız yok.

Konum

Bir veritabanı tablosundan veri almak için kullanılan FROM cümlesi. Ayrıca masalara katılırken de yardımcı olabilir. İşte komutun sözdizimi:

SELECT columnNames FROM tableName; 

Kitap tablosunun içeriğini görmek için aşağıdaki komutu çalıştırın:

SELECT * FROM price;

CRUD ve Maddeler-Gönderen

Cümle, bir veritabanı tablosundan yalnızca tek bir sütunu almanıza yardımcı olabilir. Örneğin:

SELECT price FROM Price;

CRUD ve Maddeler-Gönderen

Gelişmiş Görevler

Saklı yordam

Bir prosedür bir MariaDB Parametreleri aktarabileceğiniz program. Bir prosedür değerleri döndürmez. Bir prosedür oluşturmak için CREATE PROCEDURE komutunu kullanırız.

Bir prosedürün nasıl oluşturulacağını ve çağrılacağını göstermek için, kitap tablosundan ad sütununu seçmemize yardımcı olan myProcedure() adlı bir prosedür oluşturacağız. İşte prosedür:

DELIMITER $
    CREATE PROCEDURE myProcedure()
        BEGIN
            SELECT name FROM book;
        END;
;

Gelişmiş Görevler-Saklı Yordam

Prosedür oluşturuldu. SELECT deyimini basitçe prosedürün BEGIN ve END cümlelerinin içerisine ekledik.

Artık prosedürü aşağıda gösterildiği gibi adıyla çağırabiliriz:

CALL myProcedure();

Gelişmiş Görevler-Saklı Yordam

Prosedür, çağrıldığında kitap tablosunun ad sütununu döndürür.

Bir parametre alan bir prosedür oluşturabiliriz. Örneğin, kitabın adını seçmemiz ve kitap kimliğini kullanarak filtrelememiz gerekir. Bunun için aşağıdaki prosedürü oluşturabiliriz:

DELIMITER $
    CREATE PROCEDURE myProcedure2(book_id int)
        BEGIN
            SELECT name FROM book WHERE id = book_id;
        END;
;

Gelişmiş Görevler-Saklı Yordam

Yukarıda myProcedure2() adında bir prosedür oluşturduk. Bu prosedür, adını görmemiz gereken kitabın kimliği olan kitap_id adlı bir tam sayı parametresini alır. ID’si 3 olan kitabın ismini görmek için işlemi şu şekilde çağırabiliriz:

CALL myProcedure2(3);

Gelişmiş Görevler-Saklı Yordam

işlev

Prosedürlerden farklı olarak, parametrelere işlevlere aktarmamız gerekir ve bir işlev bir değer döndürmelidir. İçinde bir işlev oluşturmak için MariaDB, CREATE FUNCTION ifadesini kullanırız. İfade aşağıdaki sözdizimini alır:

CREATE 
[ DEFINER = { CURRENT-USER | username } ] 
FUNCTION function-name [(parameter datatype [, parameter datatype]) ]
RETURNS datatype [LANGUAGE SQL
                        | DETERMINISTIC
                        | NOT DETERMINISTIC
                        | {CONTAINS SQL 
                          | NO SQL
                          | READS SQL DATA
                          | MODIFIES SQL DATA}
                        | SQL SECURITY {DEFINER | INVOKER}
                        | COMMENT 'comment'

BEGIN

   declaration-section

   executable-section

END;

Yukarıdaki parametreler aşağıda açıklanmıştır:

Parametre Açıklama
DEFINER cümlesi Bu parametre isteğe bağlıdır. Eğer belirtmezseniz, tanımlayıcı fonksiyonu yaratan kullanıcı olacaktır. Farklı bir tanımlayıcı belirtilmesi gerekiyorsa, kullanıcı_adı'nın fonksiyonun tanımlayıcısı olacağı DEFINER deyimini ekleyin.
fonksiyon adı Bu fonksiyona atanacak isim MariaDB.
parametre Parametre(ler) fonksiyona aktarıldı. Fonksiyonun oluşturulması sırasında tüm parametreler şu şekilde ele alınır: GİRİŞ parametreleri (OUT/INOUT parametreleri yerine).
return_datatype Fonksiyonun dönüş değerinin veri türü.
DİL SQL Taşınabilirliği etkiler ancak işlevi etkilemez.
DETERMİNİSTİK Fonksiyon yalnızca bir dizi parametre verildiğinde tek bir sonuç döndürecektir.
DETERMİNİST DEĞİL Bir dizi parametre verildiğinde fonksiyonun farklı bir sonuç döndürmesi mümkündür.
SQL İÇERİR Bilgi verir MariaDB bu fonksiyonun SQL içerdiğini. Veritabanı bunun doğru olup olmadığını doğrulamayacaktır.
SQL YOK Bu madde kullanılmaz ve işleviniz üzerinde hiçbir etkisi yoktur.
SQL VERİLERİNİ OKUYOR Söyler MariaDB bu işlevin verileri okumak için SELECT ifadelerini kullanacağını ancak verileri değiştirmeyeceğini.
SQL VERİLERİNİ DEĞİŞTİRİR Söyler MariaDB bu işlevin INSERT, DELETE, UPDATE ve diğerlerini kullanacağını DDL SQL verilerini değiştirmek için ifadeler.
beyan bölümü Yerel değişkenlerin bildirilmesi gereken yer burasıdır.
yürütülebilir bölüm Fonksiyon kodu buraya eklenmelidir.

İşte bir örnek MariaDB işlevi:

DELIMITER //

CREATE FUNCTION sumFunc (x INT )
RETURNS INT DETERMINISTIC

BEGIN

   DECLARE sum INT;
   SET sum = 0;
   label1: WHILE sum <= 3000 DO
   SET sum = sum + x;
   END WHILE label1;
   RETURN sum;
END; //
DELIMITER ;

İşlev MariaDB

Daha sonra yukarıdaki fonksiyonu şu şekilde çağırabiliriz:

select sumFunc(1000);

Komut aşağıdakini döndürecektir:

İşlev MariaDB

Bir fonksiyonla işiniz bittiğinde onu silmeniz sizin için iyi olacaktır. Bu kolaydır çünkü sadece aşağıdaki sözdizimini kullanan DROP FUNCTION ifadesini çağırmanız gerekir:

DROP FUNCTION function_name;

Örneğin myFunc isimli fonksiyonu bırakmak için aşağıdaki komutu çalıştırabiliriz:

DROP FUNCTION myFunc;

JOIN

Aynı anda birden fazla tablodan veri almanız gerektiğinde şunu kullanın: MariaDB KATILIN. Bu şu anlama gelir: JOIN iki veya daha fazla tabloda çalışır. Aşağıdaki üç tür JOINS desteklenir MariaDB:

  • İÇ/BASİT BİRLEŞME
  • SOL DIŞ BİRLEŞTİRME/SOL BİRLEŞTİRME
  • SAĞ DIŞ BİRLEŞTİRME/SAĞ BİRLEŞTİRME

Bunları tek tek tartışalım:

INNER JOIN

İç birleştirme, birleştirme koşulunun doğru olduğu tablolardaki tüm satırları döndürür. Sözdizimi aşağıdaki gibidir:

SELECT columns  
FROM table-1   
INNER JOIN table-2  
ON table-1.column = table-2.column;  

Örneğin:

İki masamızı, kitabımızı ve kitabımızı kullanacağız.

Kitap tablosunda şu veriler yer alır:

INNER JOIN

Fiyat tablosunda şu veriler yer almaktadır:

INNER JOIN

Amaç, Kitap tablosundaki ad sütununu ve Fiyat tablosundaki fiyat sütununu tek bir tabloda birleştirmektir. Bu, aşağıda gösterildiği gibi bir iç birleştirmeyle mümkündür:

SELECT book.name, price.price 
FROM book   
INNER JOIN price 
ON book.id = price.id;   

Komut aşağıdakini döndürür:

INNER JOIN

SOL DIŞ KATILMA

Bu birleştirme, sol taraftaki tablodaki tüm satırları ve yalnızca diğer tablodaki birleştirme koşulunun doğru olduğu satırları döndürür. Sözdizimi aşağıdaki gibidir:

SELECT columns  
FROM table-1  
LEFT [OUTER] JOIN table-2  
ON table-1.column = table-2.column;  

OUTER anahtar sözcüğü isteğe bağlı olduğundan köşeli parantez içine alınmıştır.

Örneğin:

SELECT book.name, price.price 
FROM book   
LEFT JOIN price 
ON book.id = price.id;   

Komut aşağıdakini döndürür:

SOL DIŞ KATILMA

Yukarıdaki tablodaki son kaydın solda eşleşen değeri yoktur. Bu nedenle NULL ile değiştirildi.

SAĞ DIŞ BİRLEŞTİRME

Bu birleştirme, sağ taraftaki tablodaki tüm satırları ve yalnızca diğer tablodaki birleştirme koşulunun doğru olduğu satırları döndürür. Sözdizimi aşağıdaki gibidir:

SELECT columns  
FROM table-1  
RIGHT [OUTER] JOIN table-2  
ON table-1.column = table-2.column;  

OUTER anahtar sözcüğü isteğe bağlı olduğundan köşeli parantez içine alınmıştır.

Örneğin:

SELECT book.name, price.price 
FROM book   
RIGHT JOIN price
ON book.id = price.id;   

Komut aşağıdakini döndürür:

SAĞ DIŞ BİRLEŞTİRME

Bunun nedeni, sağdaki tablodaki tüm satırların diğer tablodaki satırlarla eşleştirilmiş olmasıdır. Eğer satırlardan bazıları eşleşmeseydi, ilk sütunda NULL'lar olurdu.