Kategori: mySQL

23 Şubat 2021

Sabahın köründe (06.00) MySQL istemcisi TablePlus için %50 indirim kodunu nasıl aldığımın hikayesi

MySQL’in 8.x sürümünden midir bilmiyorum, yıllardır kullandığım ücretsiz SequelPro bu sürümdeki sunuculara bağlanabiliyor ama herhangi bir db gösteremiyordu. Kendi lokalimde de aynı şey olunca ancak sürüm mevzusu kafama dank etti. Bu sorun ilk ortaya çıktığında kurduğum bir kaç alternatif MySQL istemcisi arasından TablePlus‘ı kullanmaya başlamıştım. Ücretsiz sürümünde sadece iki sekme açabiliyor olmak giderek problem oluyordu. Onun dışında yetenekleri gayet iyi görünüyordu. Ayrıca internette yaptığım küçük […]

5 Mayıs 2014

MySQL için strip_tags() fonksiyonu

PHP’de kullandığımız strip_tags() fonksiyonu parametre olarak aldığı metindeki tüm HTML taglarını ortadan kaldırıp sadece metin bilgisinin kalmasını sağlıyordu. Bu fonksiyona MySQL’de de ihtiyaç duyduğunuz oldu mu? Benim oldu. Buyrun burdan yakın efendim:  delimiter ;; CREATE  FUNCTION strip_tags2(str text) RETURNS text CHARSET utf8 BEGIN     DECLARE start, end INT DEFAULT 1;     LOOP         SET start = LOCATE(“”, str, start);         IF (!end) THEN SET end […]

24 Şubat 2012

Mysql’de diziye göre sıralamak

SQL sorgularında “where  siparis_id in (2,10,1,3)” gibi yapılar pek tasvip edilmese de, zorunlu kaldığınız durumlar olabilir. Eğer nihayi çıktınızı da bu sırada görmek istiyorsanız sorgunun en sonuna order by FIND_IN_SET(siparis_id, ‘2,10,1,3’) yazmanız yeterli.

9 Aralık 2011

MySQL’de bozuk view’ların detayını görmek

MySQL view’ları siz view’i oluşturduğunuz tabloda yapısal değişiklikler yaptığınızda bozulurlar. Kullandığınız veritabanı istemcisine bağlı olarak MySQL’deki bozuk viewlarınızı oluşturan sorguyu göremeyebilirsiniz. PhpMyAdmin gösterir mesela. Göremediğiniz view’ın içeriğini not almamışsanız düzeltmek için epey terlemeniz gerekir. Eğer istemciniz bozuk view’ları göstermiyorsa şu query’i kullanarak view detayını bozuk da olsa alabilirsiniz. select view_definition from information_schema.views where table_name = “buraya_view_adi_gelecek”;

4 Aralık 2011

Group Concat!

İyi kötü 11 yıldır PHP-MySQL-PostgreSQL ile uğraşıyorum. Binlerce kez tablo şeklinde listeler hazırlamışımdır; sipariş listesi, müşteri listesi gibi. Genel olarak benzese de aslında sipariş listesi ile müşteri listesi ayrı yapıdadır. Müşteri listesi tek tablodan ibaret olabilir. Müşterinin adı, soyadı, adresi, telefonu vs. Bunları alt alta listelemekte hiçbir beis yok. Ama sipariş listesi öyle değildir. Siparişin genel bilgilerinin (sipariş tarihi, siparişi veren müşterinin id’si, siparişin durumu […]

3 Şubat 2011

MySQL: Insert, ignore, dublicate

MySQL ile tanışalı 10 seneyi geçti; şu hayat kurtaran “ignore” ifadesine bir kere bile denk gelmedim. Bu gece mühim bir işlemi PHP’ye bırakmaksızın sadece veritabanı üzerinden halledeyim diye uğraşırken -kabaca ifadeyle belli bir kriterdeki verileri bir tablodan başka bir tabloya arşivliyordum- hedef tablodaki unique indexler yüzünden canım sorgum “duplicate error” alıyor ve canımı sıkıyordu. Geçen hafta daha da büyük bir datayı işlerken bu tip bir […]

14 Ocak 2011

Mysql için count_str() “kelimedeki karakterin adedi” fonksiyonu

Bir önceki yazıda MySQL için split_str() fonksiyonunu oluşturmuştuk. Kelimeleri verdiğimiz karaktere göre bölüyordu. Amacımız; ad ve soyad değerleri tek bir sütunda isim olarak verildiğinde bu isim bilgisinden ad ve soyadı ayrıştırabilmek idi. split_str() fonksiyonu datayı istediğimiz karaktere göre (örneğin boşluk karakteri) bölebiliyor ve ortaya çıkan gruplardan hangisini görmek istiyorsak onu almamızı sağlıyor. Ama problemimiz için bu yeterli değil. Çünkü isimler her zaman “Fehim Tabak” gibi […]

13 Ocak 2011

MySQL için split fonksiyonu

Excel’den aldığım bir veriyi hazırladığım bir tabloya aktarmam gerekiyordu. Tablomda ad ve soyad sütunları ayrı ayrı olacak şekilde tasarlanmıştı ama aktarmak istediğim Excel dosyasında isim olarak tek sütun vardı. İlk iş olarak Excel dosyasını phpmyadmin yardımıyla komple bir tablo olarak veritabanına yükledim. Aktarma için kaynak tablodan select yapıp hedef tabloya insert uygulayacaktım ama bu ad, soyad sütunlarının ayrı ayrı olması işi biraz bozdu. Kaynak tablodan […]

19 Temmuz 2010

Hayat kurtaran sql: mysql replace();

Hostinginden ve  teknik desteğinden sorumlu olduğunuz bir blog var. Müşterinizi kırmamak için makul isteklerine “peki” demeniz gerekiyor. Müşteri “siteyi sizin sunucunuza taşıdık, gayet güzel ama bazı dosyalar koymuştum, onlara tıklayınca indirme penceresi açılmıyor. Neden?” diye soruyor. Web sitesi üzerinden kırık linki denediğimde sorun hemen kendini gösteriyor. Link eski sunucunun “ip adresini” gösterecek sekilde verilmiş. Yeni sunucudaki ip adresi tutmadığı için linkler çalışmıyor. Yoksa dosyalar sağlam […]

24 Nisan 2010

MacPorts ile MySQL kurulumu

Bir önceki yazımızda MacPorts kullanarak MySQL ve PostgreSQL destekli bir Apache2-PHP5 kurulumu gerçekleştirmiştik. Bu yazımızda ise MacPorts ile MySQL kurulumunu öğreneceğiz. Öğreneceğiz diyorum çünkü ben de bu işlemleri henüz yeni kurduğum macos üzerinde ilk defa yapıyorum. Hazır yapmışken bir yere kaydedeyim de ileride tekrar nasıl yaptığımı hatırlamak kolay olsun istedim. BT Hayat’a da yeni bir yazı çıkmış oldu böylece.. MacPorts ile MySQL’i kurmak zaten iki […]