mySQL

mySQL

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. […]

Read More
ipucu
Kendime Not
mySQL

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 […]

Read More
mySQL

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.

Read More
ipucu
Kendime Not
mySQL

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 = […]

Read More
ipucu
mySQL

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 […]

Read More
Kendime Not
mySQL

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 […]

Read More
Kendime Not
mySQL

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 […]

Read More
Kendime Not
mySQL

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, […]

Read More
mySQL

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 […]

Read More
Mac
mySQL

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 […]

Read More