MySQL MariaDB

MySQL, Dize Sütunlarını CONCAT İşleviyle Birleştirir

MySQL, Dize Sütunlarını CONCAT İşleviyle Birleştirir
MySQL'de dizelerin birleştirilmesi, birinin diğerinin sonuna bir dize eklemesine yardımcı olur. Sonuç kümesindeki tek bir alana dize veya veri bankası alanlarını birleştirmek MySQL'in dize yönetimi yöntemleriyle mümkündür. Bu kılavuzda, MySQL CONCAT veya CONCAT WS yöntemlerini kullanırken, iki veya daha fazla dizeyi aynı anda birleştirmenin farklı yollarını keşfedeceksiniz.

Uygulamalardan MySQL komut satırı istemci kabuğunu açın ve istendiğinde parolanızı ekleyin.

Örnek 01: CONCAT Kullanarak İki Sütunu Birleştirme

'veri' veritabanında bir 'öğretmen' tablomuz var. Dizelerini “TeachName” ve “lastname” sütunlarından aralarında boşluk bırakmadan ilişkilendirmek istiyoruz.

Köşeli parantez içinde virgülle ayrılmış sütun adlarına sahip SELECT CONCAT komutunu yürütün. Birleştirilmiş dize değerlerini depolamak için yeni 'Ad' sütunu oluşturulur ve sonuç aşağıda gösterilir.

>> CONCAT(TeachName, soyad) AD OLARAK veriden SEÇ.öğretmen;

Örnek 02: İki Sütunu Boşlukla Birleştirin

“Data” veritabanında aşağıdaki “öğrenci” tablosuna sahip olduğumuzu ve “Ad” ve “Konu” sütunlarından gelen dizelerini değerler arasındaki boşlukla birleştirmek istediğimizi varsayalım.

Bir boşlukla ayrılmış dize değerlerini birleştirmek için parantez içinde sütun adlarını sağlarken aşağıdaki SELECT CONCAT komutunu kullanın. Birleştirilmiş değerler, "StudentDetail" adlı yeni bir sütunda saklanacaktır.” Sonuç sütununda artık tüm birleştirilmiş dizeler var.

>> CONCAT(Ad,", Konu) OLARAK StudentDetail FROM veriden SEÇ.Öğrenci;

Örnek 03: Birden Çok Sütunu Özel Karakterlerle Birleştirme

Aşağıdaki “öğretmen” tablosunun, farklı bir özel karakterle ikiden fazla sütundan dize değerlerini birleştirmek için olduğunu varsayalım.

Boşluk yerine '-' işaretini eklerken aşağıdaki komutu deneyin. Ortaya çıkan küme, içinde kullanılan özel karakterlerin bulunduğu tablo sütunlarından birleştirilmiş dize sütununa sahiptir.

>> CONCAT(TeachName, '-', konu, '-', nitelik) SELECT FROM data.öğretmen;

Örnek 04: Ek Sütunları Alırken Birleştir

Aynı sorguda başka sütunları getirirken sütun dizilerini birleştirmek istiyorsanız doğru yerdesiniz. Aşağıdaki “veri” veritabanındaki “hayvanlar” tablosunu düşünün.

Üç sütununu birleştiriyoruz; Arada boşluk ve özel karakterler kullanırken “Renk”, “Ad” ve “Cinsiyet”. Bu sütunlardan birleştirilmiş dize, yeni bir "AnimData" sütununa kaydedilecektir. Öte yandan, bu tablodan diğer “Fiyat” ve “Yaş” sütunlarının kayıtlarına ulaşıyoruz. Kayıtlar, hayvanların cinsiyetinin “M” olduğu satırlardan alınacaktır. Ayrı olarak görüntülenen diğer sütunların yanı sıra farklı sütunlardan birleştirilmiş dizelerin sonuçlarına sahipsiniz.

>> CONCAT(Renk,", Ad, '-', Cinsiyet) AS AnimData, Fiyat, Veriden Yaş.hayvanlar NEREDE Cinsiyet = 'M';

Örnek 05: Daha Fazla Dizeyi Sütun Dizeleriyle Birleştirin

Özel karakterler veya boşluklar yerine dize eklemek istiyorsanız, bunu da yapabilirsiniz. Yani, bunu yapmak için basit bir örnek yapalım. Bir tablo “kitabınız” olduğunu ve kitaplara, fiyatlarına, yazarlarına, ciltlerine ve sayfalarına ilişkin aşağıdaki verilere resimde gösterildiği gibi sahip olduğunuzu varsayalım. Şimdi bu tabloyu kullanarak “Ad”, “Yazar” ve “Fiyat” sütunundaki dizeleri birleştireceğiz.

Üç sütundaki dizeleri birleştirmek için SELECT CONCAT ifadesini kullanıyoruz. Bu tablonun tüm verileri öncelikle “Ad” sütununun artan düzeninde sıralanır. Parantez içinde, ters virgül içinde boşluk veya özel karakterler yerine fazladan karakter dizisi olarak “Kitap”, “yazan” ve “fiyatı var” sağladık. Şimdi BİRLEŞTİR işlevi, “Ad” sütunundaki değerle birlikte ilk ters çevrilmiş “Kitap” değerini, ardından ikinci ters çevrilmiş virgül değerini 'yazan' ve ardından “Yazar” dize değerini ve son olarak üçüncü ters çevrilmiş virgül değeri "fiyatı var" ve ardından "Fiyat" sütununun değeri. Sütunlardaki tüm bu dizeler ve değerler birleştirilecek ve tam bir cümle oluşturacaktır. Bu yepyeni mega dize cümlesi, yeni “BookDetail” sütununda saklanacaktır.

>> SELECT CONCAT('Kitap', İsim, ' yazan ', Yazar, 'fiyatı var', Fiyat) Verilerden Kitap Detayı OLARAK.kitap SİPARİŞ ADINA GÖRE ASC;

Örnek 06: CONCAT_WS Kullanarak Sütun Dizelerini Birleştirin

CONCAT_WS, CONCAT özelliğinin, dize bitiştirmeyle ilgili bir ayırıcı olarak hangi sembolün (veya karakterlerin) atılacağını belirtmenize izin veren benzersiz bir türevi gibi görünüyor. Basit CONCAT işlevi kadar basittir. O halde, MySQL veri tabanındaki kullanıcılar, en çok kullandıkları sosyal medya uygulamaları ve kullanıcıların yaşları ile ilgili değerlerin yer aldığı “sosyal” tablosunu ele alalım. Şimdi birleştirme işlemini CONCAT_WS fonksiyonunu kullanarak gerçekleştireceğiz.

Aşağıdaki sorguda, üç sütunu birleştiriyoruz ve bu birleştirilmiş sonucu "Detay" sütununda saklıyoruz. Gördüğünüz gibi, sütun adlarından önce ters virgüllere bazı özel karakterler “***” tanımladığımız için farklı bir şey var. Bunun nedeni, CONTACT_WS işlevini kullanarak bu özel karakterleri birbiri ardına gelen sütun dizeleri arasına eklemek istememizdir. Dolayısıyla, bu senaryodan, aynı karakter tipi söz konusu olduğunda, belirtilen her sütundan sonra sorguya özel karakterler koymamıza gerek olmadığı açıktır.

>> CONCAT_WS('***', Kullanıcı, Web Sitesi, Yaş) AYRINTILI OLARAK verilerden SEÇ.sosyal;

Sonuç:

Artık MySQL Shell'deki basit CONCAT işlevini ve CONCAT_WS işlevini kullanarak dize sütunlarının ve değerlerinin birleştirilmesiyle ilgili tüm temel şeyler hakkında etkin bir bilginiz var.

OpenTTD Tutorial
OpenTTD is one of the most popular business simulation games out there. In this game, you need to create a wonderful transportation business. However,...
SuperTuxKart for Linux
SuperTuxKart is a great title designed to bring you the Mario Kart experience free of charge on your Linux system. It is pretty challenging and fun to...
Battle for Wesnoth Tutorial
The Battle for Wesnoth is one of the most popular open source strategy games that you can play at this time. Not only has this game been in developmen...