Etiket arşivi: sql

Önemli Sql örnekleri

Merhaba arkadaşlar,

Bu yazımızda işimize yarayabilecek önemli sql cümlelerini örneklendireceğiz. Bu konu biraz kapsamlı olduğundan dolayı sonuna nokta koymayacağım bir yazı olacak. Aklıma geldikçe yeni sql cümlelerini ekleyeceğim. Bir nevi not defterimiz olacak :)

  • Veritabanı oluşturmak:
CREATE DATABASE user
  • Tablo oluşturmak:
CREATE TABLE adres ( 
    adres_id int, 
    adres varchar(255) Not Null, 
    telefon varchar(32), 
    faks varchar(32), 
    eposta varchar(64) 
)
  •  Tabloya sütun eklemek:
ALTER TABLE adres ADD posta_kodu int(6)
  •  Tablo silme işlemi:
DROP TABLE adres
  •  Tablodan veri çekme:
SELECT adres,telefon FROM adres

Burada kodunuzu bal ile kesmek istiyorum :) Veri çekerken dikkat etmenizi istediğim bir konu var. “SELECT * FROM” adres gibi bir ifade az verinin olduğu veritabanlarında çok yük getirmeside veri yoğunluğunun fazla olduğu veritabanlarından büyük performans kayıplarına neden olmaktadır.
O nedenle “*” deyimi yerine sadece ihtiyaç duyduğumuz sütunları cümleye dahil etmekte fayda var.

  • Belirli kriterlere göre veri çekme
–adres bilgisi "Ankara" olanları listelemek 
SELECT adres FROM adres_defteri WHERE adres="Ankara" 

–adres bilgisi "Ankara" olmayanları listelemek 
SELECT adres FROM adres_defteri WHERE NOT adres="Ankara" 

–adres bilgisi "An" ile başlayanları listelemek 
SELECT adres FROM adres_defteri WHERE adres LIKE ‘An%’
  •  Benzer verileri silmek:

DELETE n1 FROM name n1, name n2 WHERE n1.id < n2.id AND n1.name = n2.name

DELETE n1 FROM name n1, name n2 WHERE n1.id < n2.id AND n1.name = n2.name
tablo:
+----+--------+
| id | name   |
+----+--------+
| 1  | alper  |
| 2  | onur   |
| 3  | sinan  |
| 4  | ebru   |
| 5  | alper  |
| 6  | ebru   |
+----+--------+


sonuç:
+----+--------+
| id | name   |
+----+--------+
| 1  | alper  |
| 2  | onur   |
| 3  | sinan  |
| 4  | ebru   |
+----+--------+

Sevgi ve saygılar…

Yii framework multi database connection

Merhaba sevgili arkadaşlar. Yii framework ile çalışmalarımız devam ediyor. Bu sefer birden fazla database ile çalışmak için config ayarlarınızda yapmanız gereken basit ama önemli bir noktaya dikkat çekmek istiyorum.

Projeleriniz büyüdükçe mutlaka ihtiyaç duyacağınız bu konuda yapmanız gereken çok basit.  “main.php”  dosyanızın database ile ilgili olan kısmına geliyorsunuz, zaten default olarak tanımlanmıış bir veritabanınız vardır. Benim main.php dosyamda da aşağıdaki gibi bir bağlantı tanımlı durumda:

....

'db'=>array(
            'connectionString' => 'mysql:host=' . DB_ADDRESS . ';dbname=' . DB_NAME,
            'emulatePrepare' => true,
            'username' => DB_USERNAME,
            'password' => DB_PASSWORD,
            'charset' => 'utf8',
            'enableProfiling' => true
          )

İkinci bir database bağlantısı için aşağıdaki kodu ekliyorum:

...

'db'=>array(
            'connectionString' => 'mysql:host=' . DB_ADDRESS . ';dbname=' . DB_NAME,
            'emulatePrepare' => true,
            'username' => DB_USERNAME,
            'password' => DB_PASSWORD,
            'charset' => 'utf8',
            'enableProfiling' => true
        ),
'db2'=>array(
            'connectionString' => 'mysql:host=' . DB_ADDRESS2 . ';dbname=' . DB_NAME2,
            'emulatePrepare' => true,
            'username' => DB_USERNAME2,
            'password' => DB_PASSWORD2,
            'charset' => 'utf8',
            'enableProfiling' => true,
            'class' => 'CDbConnection' 
        ), 

...

Buradaki  önemli  ve kritik nokta bağlantı yaptığımız diğer veritabanları için   ‘class’ => ‘CDbConnection’   parametresini ekliyoruz. Config aşamasında bunları yaptıktan sonra sıra geldi database bağlantılarımızı kullanmaya. Örnek olarak “db” bağlantısından “user” tablosundaki verileri çekelim  ve  “db2” bağlantısından da “city” tablosundaki verileri çekelim.

<?php
...

$listUsertoDb = Yii::app()->db->createCommand()
                ->select('*')
                ->from('user')
                ->where('status=:status', array(':status'=>1 ))
                ->queryAll();

$listCitytoDb2 = Yii::app()->db2->createCommand()
                ->select('*')
                ->from('city')
                ->queryAll();

Evet olay bundan ibaret :)

Görüşmek dileğiyle..