MySQL'e Giris. Eger bir sorun ile karsilasmadan veritabanina baglanabildiyseniz karsiniza asagidaki gibi bir ekran gelecektir.

Benzer belgeler
Veritabanına Giriş. Oğuzhan Ceylan. 19 Eylül 2011

Data Programming SQL Language. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Tablolar Arası İlşikiler ve Alan Özellikleri Siparis.musteri_no musteri.musteri_no Siparis.urun_kodu musteri.urun_kodu

İNTERNET PROGRAMCILIĞI HAFTA. MYSQL ile VERİTABANI İŞLEMLERİ - 1. Hazırlayan Fatih BALAMAN. İçindekiler. Hedefler. Veritabanı Oluşturma, Silme

DAO İLE SQL KOMUTLARI. Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım.

Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz.

Çok tablolu sorgulamalar

5 SQL- Yapısal Sorgulama Dili. Veritabanı 1

Bu işleçlerin dışında, aşağıda belirtilen karşılaştırma işleçlerinden de yararlanılır.

VERĐTABANI YÖNETĐM SĐSTEMLERĐ

SQL Komutları (2) Uzm. Murat YAZICI

Veri Tabanı SQL Server ve Management Studio kurulum linkleri:

SP_RENAMEDB eski_isim, yeni_isim VEYA SP_RENAMEDB 'eski isim', 'yeni isim'

VERİTABANI. SQL (Structured Query Language)

SQL e Giriş. Uzm. Murat YAZICI

SAKLI YORDAM (Stored Procedure) Sibel Somyürek

İnternet Programcılığı

İLERİ VERİTABANI SİSTEMLERİ SUAT ÜSTKAN

SQL (Structured Query Language)

SUNGURLU MESLEK YÜKSEKOKULU 5. T-SQL-2

Tablolar Arası İlşikiler ve Alan Özellikleri. Şekil 1. Magaza veritabanının tabloları ve tablolar arasındaki ilişkiler

Oracle Database 11g: Introduction to SQL

VERİTABANI Veritabanı Yönetimi

MOBİL UYGULAMA GELİŞTİRME

Yukarıdakilerden hangileri DML (Data Manipulation Language) ile gerçekleştirilir?

SORGULAR. Öğr.Gör.Volkan Altıntaş

İNTERNET PROGRAMCILIĞI HAFTA MYSQL - PHPMYADMIN. Hazırlayan Fatih BALAMAN. İçindekiler. Hedefler. Mysql Nedir.

8 Oracle da tablo yapısı içinde otomatik artan kolon yoktur. (identity kolon

SQL'e Giriş. SELECT Deyimi. SQL Komutları. Yardımcı Deyimler

SORGULAR VE ÇEŞİTLERİ II

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

DML işlemleri. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı May Öğr. Gör. Murat KEÇECĠOĞLU

STORED PROCEDURE LER (Saklı Yordamlar)

YAPISAL SORGULAMA DİLİ (SQL)

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

Aşağıdaki tabloyu inceleyin. Sorgulama işlemlerini bu tabloya göre yapacağız.

Veritabanı Tasarımı. Kullanıcı Erişimini Kontrol Etme

SP_RENAMEDB eski_isim, yeni_isim VEYA SP_RENAMEDB 'eski isim', 'yeni isim'

3. Hafta Tablo İşlemleri BPR255 Veritabanı. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri Kısıtlamalar (Constraints)

VERİ TABANI YÖNETİM SİSTEMLERİ I

BİLİŞİM TEKNOLOJİSİNİN TEMELLERİ DERSİ

-- işareti tek satırlık açıklamalarda kullanılır. Açıklama olarak yazılan satırın önüne konulması yeterlidir.

3. Hafta Tablo İşlemleri BPR255 Veritabanı Yönetim. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri

Genel Kavramlar. Bilgisayar ortamında işlenebilecek durumda bulunan kayıtlar. Birbiri ile ilişkili veriler topluluğu ve veriler arası ilişkiler

Mysql Veritabanı Komutları

VERİ TABANI YÖNETİM SİSTEMLERİ

Veritabanı Tasarımı. Sütun Değerlerini Güncelleme ve Satırları Silme

Bölüm 10: PHP ile Veritabanı Uygulamaları

Oracle da kullanılan veri tipleri:

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 5 Veri Tabanı İşlemleri

TEMEL SQL SORGU ÖRNEKLERİ. Yukarıdaki sorguyu yazıp çalıştırdığımızda db_market adında bir veritabanı oluşturulur.

Veritabanı Tasarımı. SQL Deyimi Anatomisi

Öğr.Gör.Murat KEÇECĠOĞLU. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Veritabanına Uygulanması

Veri Tabanı Programlamaya Giriş

Php Programlama Dili MySQL Uygulamaları

BİLİŞİM TEKNOLOJİLERİ

İngilizce'de Relational Database Management System (RDBMS) olarak ifade edilir.

SQL veri tabalarına erişmek ve onları kullanmak için geliştirilmiş bir lisandır.

Veri Tabanı Yönetim Sistemleri Bölüm - 3

SQL PROGRAMLAMA. Bir batch, bir arada bulunan bir dizi SQL deyimidir. Batch ayıracı GO deyimidir.

Veri Tabanı Hafta Dersi

Tavsiye Edilen Önhazırlık Temel SQL Server 2000 bilgisi edinmek.

Üst Düzey Programlama

VERİTABANI ve YÖNETİMİ

Veritabanı. SQL (Structured Query Language)

Tavsiye Edilen Önhazırlık Temel veritabanı kavramlar hakkında bilgi sahibi olmak. Hedefler Temel veritabanı güvenlik işlemlerini gerçekleştirebilmek

Aşağıdaki tabloyu inceleyin. Yeni kayıt girme, var olan bir kaydı silme veya güncelleme işlemlerini bu tabloya göre yapacağız.

Veritabanı sistemlerinde veri bütünlüğünü sağlayabilmek için CONSTRAINTS olarak adlandırılan bazı zorlayıcı ifadeler kullanılabilir.

SQL Deyimleri. Öğr.Gör.Volkan ALTINTAŞ Volkanaltintas.com

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Veri Tabanı Yönetim Sistemleri Bölüm - 4

T.C GAZİ ÜNİVERSİTESİ BİLİŞİM ENSTİTÜSÜ YÖNETİM BİLİŞİM SİSTEMLERİ ANA BİLİM DALI MS SQL KOMUTLARI VE MS SQL KOMUTLARI İLE İLGİLİ UYGULAMALAR

Veri Tabanı-I 5.Hafta

SQL TRIGGERS (Tetikleyiciler)

YAPISAL SORGULAMA DİLİ. BARIŞ ARIBURNU barisariburnu.com

Veritabanlarına ve SQL'e Giriş. Devrim GÜNDÜZ. Teknoloji Destek Merkezi --

Veri Tabanı II Alt Sorgular

TRIGGER. Trigger lar, tablo üzerinde tanımlanabilen ve bu tablo üzerinde bir işlem gerçekleştiğinde tetiklenen programlama ögeleridir.

Sorgudan elde edilen değerin değişkenlere aktarılmasını sağlar. Sorgudan tek satır dönmesi gerekir. Çok satır dönerse hata verir.

LİNUX. Dosyalar ve dizinler

VERİ TABANI YÖNETİM SİSTEMLERİ I

5 Sorgulama İşlemleri. Veritabanı 1

KISITLAMALAR (CONSTRAINT)

SQL Query and Table Application

Öğr.Gör.Murat KEÇECĠOĞLU 27 May. 28 May Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

BİLGİ İŞLEM DERS 3. Yrd Doç Dr. Ferhat ÖZOK MSGSU FİZİK BÖLÜMÜ MSGSU FİZİK BÖLÜMÜ

8 Aralık 2011 / Perşembe. Veri Tabanına Giriş

FABREKA YAZILIM ELEKTRONİK DANIŞMANLIK TİC. LTD. ŞTİ.

Php İle Mysql Veritabanından Bilgi Çekme

Birden Çok Tabloda Sorgulama (Join)

Lıke Joker Karakterler, Is [not] Null, Order By, Group By, As

Herhangi bir tablonun tekrarlı veriler içerdiği duruma birinci normal form denir. Birinci normal formu Aşağıdaki tablo ile ele alacağız.

VERİ TABANI YÖNETİM SİSTEMLERİ I

Veritabanı Yönetimi Bilgisayarların. Keşfi Hedefler. Veritabanı, Veri ve Bilgi. Veritabanı, Veri ve Bilgi. Veritabanı, Veri ve Bilgi

TESİ. indeks. söylenebilir?? bir ilişkidir d) Hiçbiri. veya somutlaştırılmış. düzeyidir? sağlayabilir? sına. d) Hepsi. olabilir? c) Verilerin d) Hepsi

1. Hafta MS SQL Server 2008 Kurulum ve Tanıtımı BPR255 Veritabanı. Bu Derste Öğrenecekleriniz: Kurulum:

Mühendislikte Veri Tabanları Dersi Uygulamaları (MS-Access)

Transkript:

MySQL'e Giris Veritabani Nedir? Bir veritabani adindan da anlasilacagi gibi bilgilerin depolandigi hiyerarsik bir yapidir. Biz web uzerinde kullanici adi, sifresi, e-posta adresi gibi bilgileri bu veritabanlarinda saklariz. Ayni bilgileri bir dosyaya yazip gerektiginde dosyayi acip bilgileri okutmak da bir cozum gibi gorunse de bu islem hem daha karmasik ve zahmetli hem de daha yavastir. Aslinda az cok Ingilizce bilen birisi icin MySQL kullanmak pek zor olmayacaktir. Ben denemelerimi Linux altinda yaptigim icin bu belgede de anlatim o dogrultuda olacaktir. Fakat veritabanina baglandiktan sonra SQL komutlari (evet MySQL degil SQL. MySQL ile kullanilan komutlar bircok veritabani sorgulama dilindekilerle aynidir) arasinda bir fark yoktur. Sadece Linux isletim sistemi altinda buyuk-kucuk harf ayrimi vardir. Denemelerinizi yaptiginiz sunucu uzerinde kullanici adinizin kullanici ve parolanizin parola oldugunu varsayarak bolume basliyorum. Veritanina bir Linux terminalinden baglanmak icin $ mysql h localhost u kullanici p komut satirini kullanmaniz gerekli. En sondaki -p parametresi bizim kullanicimiz icin bir parola tanimli oldugunu ve yukaridaki komutu verdikten sonra bu parolayi girmemiz gerektigini anlatir. Eger bir sorun ile karsilasmadan veritabanina baglanabildiyseniz karsiniza asagidaki gibi bir ekran gelecektir. Bu ekran bizim SQL e dogru bir sekilde baglandigimizi gosterir. Bir veritabani hiyerarsisi icinde barindirdigi veritabanlarindan ve bu veritabalarinin iclerindeki tablolardan olusur. Linux altindaki MySQL kurulumlarinda test ve mysql isimli veritabanlari hazir olarak gelir. Bir veritabani hiyerarsisinde her kullanicinin kendine ait bir veritabani vardir ve islemlerini bu veritabani altinda gerceklestirir. Yani kendi veritabani altinda tablo olusturabilir, silebilir, tabloya bilgi ekleyip bilgi cikarabilir. Bunun disinda her kurulum ile gelen test veritabani tum kullanicilarin kullanimina aciktir, mysql veritabaninda ise kullanicilara ait bilgiler tutulur ve bu veritabanini sadece veritabani yoneticisi kullanabilir. Benim islemlerimi yapacagim hayali veritabinimin ismi base olacak. 1/6

$ mysql -h localhost -u kullanici -p Enter Password: show databases; Database mysql test 2 rows in set (0.00 sec) Yukarida sistemimizde mevcut veritabanlarini listesini show databases; komutu ile aliyoruz. MySQL de her komuttan sonra mutlaka ; karakteri kullanilmalidir. Asagida yeni bir veritabani olusturuyor ve onu kullanmaya basliyorum. create database base; show databases; Database mysql test base 3 rows in set (0.00 sec) use base; Database changed Yukarida base adli bir veritabani olusturdum (create database base;) ve use base; komutu ile islem yapacagim veritabanini belirledim. Burada dikkat edilmesi gereken husus bizim istedigimiz zaman bir veritabani olusturamayacagimizdir. Veritabani hiyerasisine kaydimiz yapilirken bize kullanim hakki verilen veritabanini olusturabilir ve kullanabiliriz. Yani ben kullanici kullanicisiyla herhangi adli bir veritabani olusturamam. MySQL de Tablolar 2/6

Bilgilerimizi saklamak icin veritabanlarini kullandigimizi daha once belirtmistim. Sakladigimiz bilgileri daha kolay bir sekilde isleyebilmek icin siniflandirmamiz gerekir. Bu siniflandirma islemi icin tablolari kullaniriz. Tablolar sutunlar ve satirlardan olusur. Asagida veritabaninda kayitli kullanicilar isimli bir tablo gorunuyor (Tablolarin nasil olusturulacagini ilerideki bolumlerde aklayacagim). select * from kullanicilar; +----+--------------+---------+------------------------+-------+ no Ad Soyad eposta bolum +----+--------------+---------+------------------------+-------+ 1 Fehmi Noyan ISI fni18444@gantep.edu.tr eee 2 Mehmet Korkmaz kormkaz@linux.org.tr pe 3 Adem Sarnici a_sarnici@yahoo.com pe 4 Seckin Fatih Solgun sf_solgun@freebsd.org me +----+--------------+---------+------------------------+-------+ 4 rows in set (0.05 sec) Yukaridaki tabloda dort sutun ve dort satir var. Tablodaki verileri ekrana basmak icin select * from kullanicilar; komutunu kullandim. Ayni komutu select Ad from kullanicilar; seklinde verince select Ad from kullanicilar; +--------------+ Ad +--------------+ Fehmi Noyan Mehmet Adem Seckin Fatih +--------------+ 4 rows in set (0.03 sec) Yukaridaki gibi bir tablo elde ederiz. MySQL ile MS-DOS ve UNIX isletim sistemlerinde oldugu gibi joker karakterler kullanilabilir. Ilk komut satirinda kullandigim * karakteri de bu joker karakterlere bir ornek. Ilk tablodaki no, Ad, Soyad ve eposta adli bolumler tablonun sutunlarinin isimlerini gosterir. Komut satirinda kullandigim * karakteri bu sutunlarin hepsinin goruntulenmesini istedigimi belirtir. Aslinda daha onceden komut satirindan islem yonetenler icin fazla yabanci bir ifade olmasa da ilk kez karsilasacaklar icin biraz karisiktir fakat zamanla kavranacaktir. Kisacasi veritabanindan bilgi almak icin select istenen_bilgi from tablo_adi; gibi bir kalip kullanilir. Veritabanindan alinan sorgu belli kosullari gerektirebilir. Mesela yukaridaki 3/6

kullanicilar adli tabloda ismi Mehmet olan kullanicilari ekrana goruntulemek istersem select Ad from kullanicilar where Ad= Mehmet ; gibi bir komut kullanmam gerekirdi. Ornekleri cogaltmak mumkun. Yapilan sorgu istege ve gereksinime gore degisik kosullar dahilinde gerceklestirilebilir. where kalibi ile olmasini istedigimiz bir ozelligi belirtiyoruz. Peki elimizdeki verilerde olmasini istemedigimiz bir bilgiyi nasil belirtecegiz? Bu is icin not kalibi kullanilir. select eposta from kullanicilar where not bolum= pe ; Yukaridaki sorgu kalibi kullanicilar adli tablodan bolum bilgisi pe olmayan tum kullanicilarin e-posta adreslerini ekrana basacaktir. not kalibi ile or kalibi da kullanilir. or kalibi cift istekli durumlarda not islecinin tam tersi islev gorur. Yani kullanicilar adli tablodan Ad bilgisi Mehmet olan ve bolumu eee olmayan kullanicilarin listesi icin kullanilmasi gereken SQL komutu asagidaki gibidir. select Ad from kullanicilar where not bolum= pe or Ad= Mehmet ; Buraya kadar hep tablolar uzerinde islemlerden bahsettim. Sira uzerinde islem yaptigimiz bu tablolari nasil olusturdugumuza geldi. SQL de tablo olusturma isi aynen veritabani olusturma gibidir. Sadece tablo olustururken tabloda tanimli alanlarin ozelliklerinin belirtilmesi gerekir. Yukarida tum orneklerimde kullandigim kullanicilar adli tabloyu olusturmak icin kullanilacak SQL satiri asagidaki gibidir. create table kullanicilar ->(no int auto_increment, Ad varchar(13), Soyad varchar(12), -> eposta varchar(25), bolum varchar(5), primary key(no)); Tabloda kullanilan sutunlarin veri tiplerini ve en fazla kac baytlik veri saklayabileceklerini belirttim. int terimi kullanilacak verinin sayisal bir deger olacagini simgeler, diger sutunlar icin kullandigim varchar terimi ise girilecek dizinin karakter kumesi oldugunu ve parantez icindeki sayisal deger ise bu kumenin maksimum alabilecegi karakter sayisini belirler. Eger girilen veri belirtilen maksimum degerden fazla ise belirtilen deger kadar karakter isleme alinir. Bunun icin tablo olustururken girilecek verilerin uzunlugunu goz onunde bulundurmanizda fayda vardir. Bunlarin disinda -> karakteri de dikkatinizi cekmistir. SQL de bir komutu ; ile sonlandirmadiginiz surece o komut ENTER tusun bassaniz bile bitmis sayilmaz ve sizden bitirici karakteri ( ; ya da \g) girmeniz beklenir. Komutu uc satir halinde yazmamin sebebi sadece uzun ve karmasik bir satir yazmaktan kacinmak icindi. Ayni komutu tek satir yazmaniz halinde de sonucta herhangi bir degisiklik olmayacaktir. no sutunu icin kullandigim auto_increment ve en sonda kullandigim primary key(no) kaliplari tabloda no ile belirtilen kismin otomatik olarak her veri girdiginde bir arttirilmasini saglar. Bu ozelligin kullanilabilmesi icin kullanilacak sutuna primary key ozelliginin atanmasi gerekir. Diyelim ki tablomuzu olusturduk ve web uzerinden bilgilerimizi kaydediyoruz. Bir gun, tablomuzu olustururken 4/6

kullandigimiz sutun ozelliklerini gormek istersek ne yapacagiz? Bunun icin describe komutu kullanilir. Komutun kullanimi describe tablo_adi; seklindedir. Simdi sira bos olarak olusturdugumuz kullanicilar adli tabloya bilgi girisinde. Bilgi girisi icin insert komutu kullanilir. insert into kullanicilar -> values (, Fehmi Noyan, ISI, -> fni18444@gantep.edu.tr, eee ); Yukaridaki komut kumesi kullanicilar adli tabloya belirtilen bilgileri sirasi ile girer. Bilgi girisi icin insert into tablo_adi values ("alan1_degeri", "alan2_degeri",..., "alann_degeri"); kalibi kullanilir. Ilk sutuna gelecek bolume sadece karakterlerini birakmam bu bolumun auto_increment ozelliginden dolayi SQL tarafindan otomatik olarak doldurulacak olmasindandir. Girilen her deger tirnak icinde yazilir ve birbirlerinden virgul ile ayrilir. Bazen bir tablodaki verileri herhangi bir sebepten dolayi yenilememiz gerekebilir. Mesela yukaridaki tabloda Fehmi Noyan adli kullanicinin e-posta adresi degismisse ve biz yeni adresi tablomuzda eski adresle degistirmek istiyorsak kullanacagimiz komut update komutudur. update kullanicilar set eposta= yeni_adresim@adres.com -> where no= 1 ; Yukaridaki SQL satiri kullanicilar adli tablodan no bilgisi 1 olan kullanicinin eposta bilgisini yeni_adresim@adres.com olarak degistirilmesi icin kullanilir. Komutun kullaniminda update tablo_adi set sutun_adi= yeni deger where kosul; kalibi uygulanir. where kosulundan sonra herhangi bir kosul satiri kullanilabilir (ben no bilgisini kullandim). Girilen bilgileri silmek icin delete komutu kullanilir. delete from kullanicilar where bolum= eee ; Yukaridaki SQL komutu kullanicilar tablosundaki bolum bilgisi eee olan tum kullanicilar ile ilgili satirlari silecektir. Komutun kullanimi delete from tablo_adi where kosul; 5/6

seklindedir. Son olarak da, MySQL den cikis icin quit komutu kullanilir. MySQL hakkinda yazacaklarim bu kadar. Tabi benim bu belgeye dahil etmedigim daha bircok komut ve kullanim mevcut. Fakat ben bir sonraki bolumde PHP ile tablo islemlerinde genelde bu komutlari (bilgi ekleme, bilgi silme, bilgi alma ve bilgi yenileme) kullanacagim icin sadece gerekli komutlari verdim. Tabii yapacaginiz calismanin amacina gore kullanacaginiz veritabanlarinin niteligi farkli olacaktir ama buradaki bilgilerin, en azindan, MySQL hakkinda hic bilgisi olmayan bir kullanici icin yarali olabilecegini dusunuyorum. Kaynak Site: Ismail KIRBAS ile Web Sitesi Tasarimi http:// Belge Adresi: www.kirbas.com/index.php?id=153 6/6