26 Haziran 2015 Cuma

Koşul İfadeleri

Case:
select ders.kredi,ders.dadi, case kredi when '3' then "dersin kredisi" end as kredi_no from ders

(ders satırındaki kredi ve dadi sütunu seçilmiş 'kredi' satırındaki değer 3 ise kredi_no adlı sütuna "dersin kredisi" yazdır. 3 olmayanlara herhangi bişe  yazdırma.)

If:
selectders.kredi,ders.dadi, if(kredi='9',"kredili ders","dersin kredisi")AS ders_kredisi from ders

(ders satırındaki kredi ve dadi sütunu seçilmiş 'kredi' satırındaki değer 3 ise ders_kredi adlı sütuna "kredili ders" yazdır. 3 olmayanlara "dersin kredisi" yazdır.)

Ifnull:
select ifnull (6,5)

(Her zaman ilk değeri yazdırır(6).


Nullif:
select nullif (2,2)

(Değerlerin eşit olmaması durumundu ilk değeri yazdırır değerler eşitse Null yazdırır.)

Oparatörler

MySQL' de Operatörler
OperatörMySQL' de YazılımıEkran ÇıktısıAçıklama
And (&&) SELECT 1 AND 1;/SELECT 1 && 0;1/0İki değerin 1 olması sonucu sonuç 1 olur değerlerden biri 0 ise sonuç 0 olur.
Or (||) SELECT 0 OR 1;/SELECT 0 || 0;1/0Bir değerin 1 olması sonucu sonuç 1 olur değerlerden ikisi 0 ise sonuç 0 olur.
XorSELECT 1 XOR 1;0Or kapısından gelen sonucun tersini verir.
:=SELECT @var1 := 1, @var2;1, NULLAtama işlemi yapar.
=SELECT 0 =1;0Eşit olup olmadığını kontrol eder.
<=>SELECT 1 <=> 11Eşit değilse sonuç 0 eşitse 1 sonucunu verir.
!=,<>SELECT 1 <> 10Eşit değilse sonuç 1 eşitse 0 sonucunu verir.
<=SELECT 0.1 <= 21Küçük veya eşit olması durumunda sonuç 1 dir.
>=SELECT 0.1 >=  20Büyük veya eşit olması durumunda sonuç 1 dir.
<SELECT 1 < 21Küçük olup olmadığını kontrol eder.
>SELECT 5 > 21Büyük olup olmadığını kontrol eder.
IS boolean_valueSELECT 1 IS TRUE, 0 IS FALSE; 1,1Boolean (Lojik kapılar) ile rakamları karşılaştırır. Aynı ise 1 değilse 0 verir.
IS NOT boolean_valueSELECT 1 IS FALSE, 1 IS TRUE0,1Boolean (Lojik kapılar) ile rakamları karşılaştırır. Aynı ise 0 değilse 1 verir.
IS NULLSELECT 1 IS NULL, 0 IS NULL, NULL IS NULL;  0,0,1Değer boşsa 0 değer varsa 1 verir.
BINARYSELECT BINARY 'a' = 'A';0Harflerin binary kodlarını karşılaştırır.
CONCATSELECT CONCAT('Merhaba',2);Merhaba 2Birleştirme işlemi yapar.
Bitwise OR(|) SELECT 29 | 15;31Sayıların binary karşılığının veya(or) kapısı ile işleme sokulması
Bitwise AND (&) SELECT 29 & 15;  13Sayıların binary karşılığının ve(and) kapısı ile işleme sokulması
Bitwise XOR(^) SELECT 55 ^ 25Sayıların binary karşılığının veyadeğil(xor) kapısı ile işleme sokulması
BIT_COUNT(N)SELECT BIT_COUNT(29)4Rakamı İkilik tabanda ki karşılığındaki 1 lerin sayısını verir.
REGEXPSELECT 'balomerci' REGEXP 'omer' ;1Cümlenin içindeki kelimeleri aratır varsa 1 yoksa 0 değeri verir. 
LIKESELECT * FROM `ogrenci` WHERE adi like 'A%'ogrenci' tablosunun 'adi' sütununda A ile başlayanları sıralar.
BETWEN…AND SELECT * FROM `ogrenci` WHERE ono BETWEEN 6 and 11ogrenci' tablosunun 'ono' sütununda 6 ile 11 arasındakileri sıralar.
DIVSELECT 5 DIV 2; 25 / 2 sonucunu yuvarlayarak yazar.
MOD (%) SELECT 25 % 2125/2' nin kalanını yazar.
+SELECT 2+1;3Toplama işlemi
-SELECT 2-1;1Çıkarma işlemi
*SELECT 3*2;6Çarpma işlemi
/SELECT 10/2;5Bölme işlemi

Joinler

Veritabanları oluşturulurken asıl düşünülen her zaman dataların okunmasının ne kadar kolay olacağıdır. Tablolar ve veriler buna göre organize edilir, genellikle bu fikir doğrultusunda hareket edilir.
İlişkili veritabanları da okuma işlemini kolaylaştırmak düşüncesi ile oluşturulurlar. Ve iş bunları okumaya geldiğinde yardımımıza “JOIN” yetişir.

Tablolar

Elimizde örnek olarak şu 2 tablonun bulunduğunu varsayalım:
kitaplar:
idkitap_isimyilsayfafiyatyazaridyayineviid
1saklı ev19952552012
2son moda20026522522
3gelecek20072141221
4bir umut20084212231
yazarlar:
idyazar_isimsoyisimyas
1ekremsever25
2orhanveli35
3orhansevgi40
4isaengiz23
Görüldüğü üzere birbirleri ile ilişkili tablolarımız var. Yapmak istediğimiz ise diyelim ki, bir kitabın yazarının yaşını öğrenmek istiyoruz. Bu durumda imdadımıza JOIN yetişiyor.

INNER JOIN

join kelimesinin yaptığı, adından da anlaşılacağı gibi, iki tabloyu bizim belirlediğimiz koşullarda birleştirmek. 3 farklı join kelimesi bulunmakta, bunlardan birincisi “inner join”.
Şu sql cümlesini ele alarak başlayalım:
SELECT kitaplar.kitap_isim, yazarlar.yas
FROM kitaplar
INNER JOIN yazarlar ON kitaplar.yazarid = yazarlar.id
bu kodun bize cevabı şu tablo olacaktır:
kitap_isimyas
saklı ev25
son moda35
gelecek35
bir umut40
Yaptığımız şey, çok basit, “select * from” derken yıldız yerine bize geri dönülmesini istediğimiz alanları yazıyoruz, bunu yazarken kuralımız ise; “tabloismi.alanismi” önce tablo ismini yazıyoruz sonra nokta, sonra alanismi. Biz burada iki tane alan belirledik. Ardından birinci tablomuzu yazıyoruz, sonra “INNER JOIN yazarlar” diyoruz. (hangi tablo ismini önce yazdığımız, inner join kullanırken farketmiyor.) Ardından iki tablonun birleşme şartını belirtiyoruz: “ON yazarlar.id = kitaplar.yazarid” Sonuç olarak bize kitap isimleri ve yazarının yaşı geri dönmüş oluyor.

LEFT JOIN

İki tabloyu birleştirmenin ikinci yolu ise “LEFT JOIN” kullanmak.
Aşağıdaki sql cümlesini ele alalım:
SELECT kitaplar.kitap_isim, yazarlar.yazar_isim
FROM kitaplar
LEFT JOIN yazarlar ON yazarlar.id = kitaplar.yazarid
Bu kodun da cevabı şu olacaktır:
kitap_isimyazar_isim
saklı evekrem
son modaorhan
gelecekorhan
bir umutorhan
Aslında kodun yaptığı iş, bir önceki inner join’in yaptığı iş ile neredeyse aynı, ancak left join, soldaki tablonun tamamını alır. Bu sql cümlesinde “kitaplar LEFT JOIN yazarlar” kitaplar soldaki tablo ve bu tablonun tamamı sonuç tablosunda yer alır. Şu anki sql cümlemizde bu bir sakınca yaratmadı ancak yazarı olmayan bir kitap olsaydı, yazar sütununda “null” yazacaktı. Bir sonraki örnekte bu daha rahat görülebilir.

RIGHT JOIN

Left join ile right join hemen hemen aynıdırlar, right join cümlesinin yaptığı iş sadece sağdaki tablonun tamamını almak.
Aşağıdaki sql cümlesini ele alalım:
SELECT kitaplar.kitap_isim, yazarlar.yazar_isim
FROM kitaplar
RIGHT JOIN yazarlar ON yazarlar.id = kitaplar.yazarid
Bu sql cümlesinin cevabı ise:
kitap_isimyazar_isim
saklı evekrem
son modaorhan
gelecekorhan
bir umutorhan
NULLisa
Görüldüğü gibi sağda yer alan yazarlar tablosunun tamamını sonuç olarak aldı ve yazara karşılık gelen bir kitap bulunmadıysa ilgili alanın değerini “null” olarak atadı.

24 Haziran 2015 Çarşamba

SQL Kodları ile Veritabanı Oluşturma,Tablo Oluşturma,Veri Ekleme,Veri Güncelleme,Veri Silme İşlemleri

-MySql ile veritabanı oluşturmak için CREATE DATABASE komutu kullanılmaktadır.

Örneğin : create database örnek >> örnek isimli veritabanı oluşturduk.

-Tablo oluşturmak için CREATE TABLE komutu kullanılır.

Örneğin : CREATE TABLE kitap >> kitap tablosu oluşturduk.

-Bir tabloya yeni veri eklemek için INSERT komutu kullanılır. INSERT komutu, INTO ve VALUES ifadeleri ile birlikte kullanılır ve tabloya yeni veri eklenmesi sağlanır.

Örneğin : INSERT INTO ogrenci(ogr_no ,adi , soyadi) values ('134415001','veyis','karsli')

-Oluşturduğumuz tabloda değişikli yapmak istiyorsak eğer UPDATE komutu kullanılır.

Örneğin : UPDATE ogrenci SET adi = 'veyis' WHERE ogr_no = 1344150001

-Bir tabloda bulunan kayıt veya kayıtların istenildiği zaman silinmesi mümkündür. Tablolarda silme işlemini gerçekleştirmek için DELETE komutu kullanılır. FROM eki ile birlikte tablo ismi yazılarak hangi tablodan veri
silinmesi istendiği belirtilebilir. WHERE deyimi ile de verilerin silinme koşulu belirlenir. 

-Örneğin :DELETE FROM kitap WHERE ogr_no = '134415001'

19 Haziran 2015 Cuma

Tablo Oluşturma Aşamaları

-SELECT * FROM `yorum`  YORUM TABLOSU GÖSTER.

CREATE DATABASE VEYİS

CREATE TABLE VEYİS (sütun1 veritipi,sütun2  veritipi)

-Yorum_id,yorum_yapan,yorum_içerik,yorum_katagori alanlarını insert into ile ekledik.

-Oluşturduğumuz alanların içine bilgi ekledik.

-UPDATE yorum SET yorum_yapan=’omer’ WHERE  yorum_yapan =’veyis’
ömeri veyis olarak değiştirdi güncelleme yaptık.
-DELETE FROM yorum WHERE yorum_id= '1111'
Yorum tablosundan yorum_id=’1111’ olanı sil.



Veritabanına bağlanma

<?php
error_reporting(0);
$host="127.0.0.1";
$user="root";
$pass="";
$baglanti=mysql_connect($host,$user,$pass);   >>> veritabanını bağlanmış
if(baglanti)
{
echo "veritabanı baglandı <br>";
               
$db=mysql_select_db("deneme",$baglanti);    >>>veritabanı seçimi
}
else
{
                echo"veritabanı bağlanamadı";
}
mysql_query("set names'utf8'");      >>>> sorgulamaya yarar yani utf 8 ile kodlamayı sağlamışız
$veri=mysql_query("select*from film");    >>>>veritabanındaki film tablosunu veri değişkenin içine atamaya yarar
while ($a=mysql_fetch_array($veri))
{
                echo "filmin adı" . $a['ad'] ."<br>";
}


?>

İlk Adımlar PHP

-phpmyadmin e bağlanmak için en ilk başta;
-C:\wamp\bin\apache\apache2.4.9\conf\httpd.conf yolu izlenir ve notpad e erişilir.
-             
                Listen 12.34.56.78:8080
                Listen 0.0.0.0:8080
                Listen [::0]:80

                Listen 12.34.56.78:81
                Listen 0.0.0.0:81
                Listen [::0]:81

                yukarıdaki listen satırları 81 ile değiştirilir.
                neden değiştirilir=sql programının portları çakıştığı için biz bu işlemi yapıyoruz.

-Ardından wamp serverdan phpmyadmin yolu izlenir ve http://localhost/phpmyadmin/ adresinden şu değişiklik yapılır http://localhost:81/phpmyadmin/
ve sonuc olarak phpmyadmine bağlanmış bulunmaktayız.

-veritabanı kurmak için veritabanları bölümüne geliriz.
-veritabanı adı ve karşılastırma butonunu doldurarak oluştur butonuna tıklarız.
-Peki phpmyadmin nedir ?= Açık kaynak kodlu çalışır veritabanı  yönetmeyi sağlar.
Sonrasından oluşturduğumuz veritabanını notpad de bağlama işlemi yaparak devam edelim.


<?php
error_reporting(0);       >> bütün hataları yok sayar localhosttan
$host="127.0.0.1";
$user="root";
$pass="";
$baglanti=mysql_connect($host,$user,$pass);      >>veritabanına(mysql) bağlanma
if(baglanti)
{
$deneme1=mysql_select_db('deneme');    >>veritabanını seçmek için kullanılır.
if($deneme1)
{
echo 1;
}
else
{
echo 2;
}
}
?>