PostgreSQL Dizi: İşlevler, Tür, Örnek
Nedir? PostgreSQL Sıralamak?
In PostgreSQLBir sütunu geçerli veri türlerinden oluşan bir dizi olarak tanımlayabiliriz. Veri türü yerleşik, kullanıcı tanımlı veya numaralandırılmış tür olabilir. Bunun dışında diziler önemli bir rol oynamaktadır. PostgreSQL.
Karşılık gelen her PostgreSQL veri türü ilgili dizi türüyle birlikte gelir. Örneğin, tamsayı veri türü tamsayı[] dizi türüne sahiptir, karakter veri türü ise karakter[] dizi türüne sahiptir, vb.
Oluşturma PostgreSQL Diziler
Aşağıdaki örnekte, iletişim sütunu metin dizisi olarak tanımlanmış Çalışanlar adında bir tablo oluşturacağız:
CREATE TABLE Employees ( id int PRIMARY KEY, name VARCHAR (100), contact TEXT [] );
Komut başarıyla çalışmalıdır.
takma PostgreSQL Dizi Değerleri
Şimdi bize izin ver eklemek değerleri yukarıdaki tabloya ekleyin:
INSERT INTO Employees VALUES ( 1, 'Alice John', ARRAY [ '(408)-743-9045', '(408)-567-7834' ] );
Ekleme başarıyla çalışmalıdır.
Üçüncü sütunun yani iletişimin değerleri bir dizi olarak eklenmiştir. Bu, ARRAY yapıcısının kullanılmasıyla başarılmıştır.
Bu örnekte, bunları köşeli parantez [ ] içine aldık. Alice John adlı çalışan için iki kişimiz var.
Aşağıda gösterildiği gibi süslü parantezleri {} kullanmamız hala mümkündür:
INSERT INTO Employees VALUES ( 2, 'Kate Joel', '{"(408)-783-5731"}' ), ( 3, 'James Bush', '{"(408)-745-8965","(408)-567-78234"}' );
Komut başarıyla çalışmalıdır.
Yukarıdaki ifadeler Employees tablosuna iki satır ekleyecektir. Kıvrımlı parantezler kullanıldığında, dizi tek tırnak işareti (') içine sarılırken, metin dizisi öğeleri çift tırnak işareti (") içine sarılır.
Dizi Verilerini Sorgulama
Bir dizinin elemanlarını sorgulamak için SELECT deyimini kullanırız.
Employees tablomuzun içeriğini görmek için aşağıdaki komutu çalıştırıyoruz:
SELECT * FROM Employees;
Bu, aşağıdakileri döndürür:
Dizi sütununun elemanları, yani temas, küme parantezleri {} içine alınmıştır.
Dizi elemanlarına erişmek için köşeli parantez [] içinde bir alt simge ekleriz. Dizideki ilk eleman 1. konumdadır.
Örneğin, birden fazla bağlantısı olan çalışanlar için çalışanların adlarını ve yalnızca ilk iletişim bilgilerini almamız gerekiyor. Buna kişi[1] olarak erişebiliriz.
Şunu görelim:
SELECT name, contact[1] FROM Employees;
Aşağıdakini döndürecektir:
Dizi sütununa göre satırları filtrelemek için SELECT deyimini WHERE deyimiyle birlikte kullanabiliriz.
Örneğin, (408)-567-78234 numaralı çalışanı ikinci kişi olarak görmek için aşağıdaki komutu çalıştırabiliriz:
SELECT name FROM Employees WHERE contact [ 2 ] = '(408)-567-78234';
Aşağıdakini döndürecektir:
Değiştirme PostgreSQL Dizi
Bir dizinin tümünü veya tek bir öğesini güncelleyebilirsiniz.
Çalışanlar tablosunun içeriği şunlardır:
Kimliği 3 olan çalışan James Bush'un ikinci telefon numarasını güncelleyelim:
Aşağıdaki komutu çalıştırın:
UPDATE Employees SET contact [ 2 ] = '(408)-589-89347' WHERE id = 3;
Komut başarıyla çalışmalıdır:
Değişikliğin başarılı olup olmadığını kontrol etmek için tabloyu sorgulayalım:
Değişiklik başarılı oldu.
Bir aramada PostgreSQL Dizi
Şu anda Çalışan tablomuz aşağıdaki gibidir:
Kişi dizisi içindeki konumdan bağımsız olarak (408)-783-5731 bağlantısının kime ait olduğunu bilmemiz gerektiğini varsayalım, aşağıda gösterildiği gibi ANY() işlevini kullanabiliriz:
SELECT name, contact FROM Employees WHERE '(408)-783-5731' = ANY (contact);
Aşağıdakini döndürecektir:
Dizileri Genişletme
Bir dizinin değerlerini satırlara bölebiliriz. Bu işleme dizi genişletme adı verilir.
Çalışanlar tablosu örneğinde, kişi dizisinde iki kişi bulunan bazı çalışanlar vardır. Bunları ayrı satırlara bölebiliriz.
PostgreSQL bunun için kullanılabilecek unnest() fonksiyonunu sağlar.
Örneğin:
SELECT name, unnest(contact) FROM Employees;
Aşağıdakini döndürecektir:
Çalışanlar Alice John ve James Bush'un iki bağlantısı var. Ayrı satırlara bölebiliriz.
pgAdmin'i kullanma
Oluşturma PostgreSQL Diziler
Aynısını pgAdmin aracılığıyla gerçekleştirmek için şunu yapın:
) 1 Adım pgAdmin hesabınıza giriş yapın.
) 2 Adım
- Soldaki gezinme çubuğundan rbase'lere tıklayın.
- Demo düğmesine tıklayın
) 3 Adım Çalışanlar tablosunu oluşturmak için sorgu düzenleyicisine sorguyu yazın:
CREATE TABLE Employees ( id int PRIMARY KEY, name VARCHAR (100), contact TEXT [] );
) 4 Adım Yürüt düğmesine tıklayın.
takma PostgreSQL Dizi Değerleri
) 1 Adım Sorgu düzenleyicisine aşağıdaki sorguyu yazın:
INSERT INTO Employees VALUES ( 1, 'Alice John', ARRAY [ '(408)-743-9045', '(408)-567-7834' ] );
) 2 Adım Yürüt düğmesine tıklayın:
) 3 Adım
Sorguda küme parantezleri kullanmak için
) 1 Adım Sorgu düzenleyicisine aşağıdaki sorguyu yazın:
INSERT INTO Employees VALUES ( 2, 'Kate Joel', '{"(408)-783-5731"}' ), ( 3, 'James Bush', '{"(408)-745-8965","(408)-567-78234"}' );
Adım 2) Yürüt düğmesine tıklayın:
Dizi Verilerini Sorgulama
) 1 Adım Çalışanlar tablosunun içeriğini görmek için sorgu düzenleyicisinde aşağıdaki sorguyu yazın:
SELECT * FROM Employees;
) 2 Adım Yürüt düğmesine tıklayın:
Aşağıdaki sonucu döndürmesi gerekir:
) 3 Adım Çalışanların ilk iletişimlerini görmek için:
- Sorgu düzenleyicisine aşağıdaki sorguyu yazın:
SELECT name, contact[1] FROM Employees;
- Yürüt düğmesine tıklayın.
Aşağıdaki sonucu döndürmesi gerekir:
) 4 Adım SELECT deyimini WHERE deyimiyle birleştirmek için:
- Sorgu düzenleyicide aşağıdaki komutu yazın:
SELECT name FROM Employees WHERE contact [ 2 ] = '(408)-567-78234';
- Yürüt düğmesine tıklayın.
Aşağıdaki sonucu döndürmesi gerekir:
Değiştirme PostgreSQL Dizi
) 1 Adım 3 kimlikli kullanıcının ikinci kişisini güncellemek için aşağıdaki komutu çalıştırın:
UPDATE Employees SET contact [ 2 ] = '(408)-589-89347' WHERE id = 3;
) 2 Adım Yürüt düğmesine tıklayın.
) 3 Adım
1.Değişikliğin başarılı olup olmadığını kontrol etmek için sorgu düzenleyicide aşağıdaki komutu yazın:
SELECT * FROM Employees;
2. Yürüt düğmesine tıklayın.
Aşağıdaki sonucu döndürmesi gerekir:
Bir aramada PostgreSQL Dizi
) 1 Adım Sorgu düzenleyicisine aşağıdaki sorguyu yazın:
SELECT name, contact FROM Employees WHERE '(408)-783-5731' = ANY (contact);
) 2 Adım Yürüt düğmesine tıklayın.
Aşağıdaki sonucu döndürmesi gerekir:
Dizileri Genişletme
) 1 Adım Sorgu düzenleyicisine aşağıdaki sorguyu yazın:
SELECT name, unnest(contact) FROM Employees;
) 2 Adım Yürüt düğmesine tıklayın.
Aşağıdaki sonucu döndürmesi gerekir:
ÖZET
- PostgreSQL bir tablo sütununu dizi türü olarak tanımlamamızı sağlar.
- Dizi geçerli bir dizi olmalıdır veri tipi tamsayı, karakter veya kullanıcı tanımlı türler gibi.
- Bir dizi sütununa değer eklemek için ARRAY yapıcısını kullanırız.
- Bir dizi sütununun aynı satırında birden fazla öğe varsa ilk öğe 1 konumundadır.
- Her değere, köşeli parantez [ ] içinde bir alt simge geçirilerek erişilebilir.
- Dizinin elemanları SELECT deyimi kullanılarak alınabilir.
- Dizi sütununun değerleri köşeli parantez [] veya süslü parantez {} içine alınabilir.
- ANY() fonksiyonunu kullanarak dizi sütun değerlerini arayabiliriz.
Bu Eğitimde kullanılan Veritabanını İndirin