Muradiye Forum
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Aşağa gitmek
BaRaN
BaRaN

MySQL türleri 1210
Erkek Yay
Yılan
Mesaj Sayısı : 873
Doğum tarihi : 02/12/89
Yaş : 34
Nerden : güneşin doğduğu yer(DOĞUBEYAZIT)
İş/Hobi : cep telefonu
Bilgi : <center><font color="blue"><marquee direction="left" style="background:white">Muradiye Forum Bilgi Paylaşım Platformu</marquee></font></center
Rep Gücü : 0
Rep Puan : 8
Kayıt tarihi : 20/12/08
http://muradiyeforum.net

MySQL türleri Empty MySQL türleri

Çarş. Ara. 31, 2008 1:57 pm
MySQL'de bir çok veri türü
oluşturulabilir. Ancak Web programları açısından önemli olan bir kaçı
ve özellikleri şöyle saralanabilir:

INT Tamsayı: -2147483648'den
2147483647 kadar değişen diziye "signed" (işaretli), 0'dan 4294967295'e
kadar değişenine "unsigned" (işaretsiz) denir.

VARCHAR(n) n sayısını geçmemek şartıyla değişen boyutta karakter olabilir.
CHAR(n) Kesinlikle n sayısı kadar karakter olabilir.
TEXT En fazla 65535(2^16-1) karakter alabilen metin alanı.
MEDIUMTEXT En fazla 16777215(2^24-1) karakter alabilen metin alanı.
DATE 1000-01-01'den 9999-12-31'e kadar değişebilen tarih alanı.
TIMESTAMP 1 Ocak 1970'den 18 Ocak 2038'e kadar olan ve Yıl+Ay+Gün+Saat+Dakika+Saniye biçimindeki zaman bilgisi.
MySQL'de bir tablo oluşturmak için gerekli CREATE TABLE komutu şöyle kullanılır:
CREATE TABLE uyeler (adi VARCHAR(30), soyadi VARCHAR(30), üye_no INT ) ;
Bu komutla, "uyeler" isimli üç
sütunlu bir tablo oluşturulur: birinci ve ikinci sütunlarda en fazla
30, karakterlik değişen boyutta alfanümerik değerler yer alırken,
üçüncü sütunda sadece tam sayı olan değerler bulunabilir. Bu komutla
oluşturulan tabloya INSERT INTO komutuyla veri girebilirsiniz:

INSERT INTO uyeler (adi, soyadi, uye_no) VALUES ('Muharrem','Taç','1234')
Bir tablonun oluşturulması ile
içine veri yerleştirilmesi komutları ayrı ayrı zamanlarda, ayrı
işlemler olarak yapılabileceği gibi, toplu bir metin halinde, otomatik
olarak da yapılabilir.

MySQL veritabanından bilgi edinmek için SELECT komutunu kullanırız:
SELECT * FROM uyeler ;
Bu, MySQL'e, uyeler adlı
tablodaki bütün değerlerin okunmasını bildirir. Buradaki "*" işareti,
"bütün sütunlardaki bütün değerler" anlamına gelir. Diyelim ki
yukardıda oluşturduğumuz tablonun sadece "adi" ve "soyardi"
sütunlarındaki bilgileri almak isteseydik, bu komutu şöyle yazacaktık:

SELECT adi soyadi FROM uyeler ;
Bir veritabanındaki bilgilerin
yenileriyle değiştirilmesini, yani veritabanı dosyasının
güncelleştirilmesini UPDATE komutu sağlar. Bu komutu kullanarak
veritabanımızdaki bazı kutucukların içindeki bilgileri
değiştirebiliriz. Veritabanı dosyalarını güncelleştirme zorunluğu
bulunması ise bize veritabanı tasarımının çok önemli olduğunu gösterir.
Örneğin:

UPDATE uyeler SET adi = "Şahika" ;
Bu komut, veritabanındaki bütün
satırlarda, birinci sütundaki değerleri "Şahika" olarak değiştirmekle
sonuçlanırdı. Amacımız bu ise, sorun değil; ancak çoğu kez MySQL'e
hangi satırda (veritabanı tekniğindeki terimle söylersek, hangi
kayıtlarda) değişiklik yapılacağını daha ayrıntılı sölememiz gerekir.
Veritabanı dosyamızı oluştururken, her kaydın diğer kayıtlarda olmayan
(unique) bir sütun (bunu da veritabanı tekniğindeki terimle söylersek.
alan) bulunmalıdır, ki MySQL'e yapılacak değişikliğin tam yerini
söyleyelim. Örneğin

UPDATE uyeler SET adi = "Şahika" WHERE uye_no = 1234;
MySQL bu komutu alınca sadece
üye numarası 1234 olan kişinin (yani uye_no alanındaki değer 1234 olan
kaydın) "adi" alanındaki değeri silecek ve yerine verdiğimiz yeni
değeri yazacaktır. Böyle birincil alanı bulunan, iyi düşünülmüş bir
veritabanından seçim yapmak da kolay olur. Örneğin:

SELECT adi soyadi FROM uyeler WHERE uye_no >= 123;
deyimi ile tablomuzda bulunan kayıtlardan sadece üye numarası 123'den büyük olanları seçebiliriz.
Bir MySQL veritabanındaki kaydı silmek için DELETE komutunu kullanırız:
DELETE FROM uyeler WHERE uye_no = 1234;
Vveritabanında sadece bir
kayıtta üye numarası 1234 olacağı için bu komutla sadece bir satır
silinecektir. Bu komutu, diyelim ki üyelik kaydını yenilememiş
kişilerin tümünü silmek için de kullanabiliriz. Veritabanımızda üyelik
kaydının yenilendme tarihini gösteren bir alan bulunduğunu varsayalım:

DELETE FROM uyeler WHERE yenileme_tarihi < 2000-01-31;
Bu komutla, üyeliğini yenileme tarihi 31 Ocak 2000'den eski olan bütün üyelerimizin kaydını veritabanından silmiş oluruz.
Bu komutların MySQL'in DOS komut
işlemcisi ile komutsatırından yapılacağını belirtmemiz gerekir. Bunu
yapabilmek için MySQL Server'ın Windows'da çalıştırılması gerekir.
MySQL'in paylaşım sürümünü kullanmak için Windows sistemlerinde
mysqld-shareware.exe programını çalıştırmanız gerekir. Bunun için DOS
komut istemcisi penceresinde "C:/mysql/bin" dizinine giderek, şu komutu
vermemiz yeter:

mysqld-shareware
MySQL sürücülerinizin kişisel
Web sunucusunda başarıyla çalıştığına, kitapçığın baş tarafında
belirttiğimiz küçük alıştırmayı yaparak emin olduktan sonra gerçek bir
veritabanı dosyası yazabiliriz.

Yukarıda gördüğümüz komutları
komut istemci satırından tek tek verebileceğimiz gibi, bir düzyazı
dosyasında toplayıp, MySQL programına da otomatik olarak
yaptırabiliriz. Bu dosyaya, içindeki verileri alıp veritabanına boca
edeceğimiz için, Dump dosyası denir.

Aşağıdaki metni MySQL
programının kurulu olduğu dizindeki /bin/ alt-dizinine (muhtemelen
c:mysqlin) veri.dump adıyla kaydedin (Notpad kullanıyorsanız, dosya
adına .txt eklendiğine dikkat edin!)

CREATE TABLE calisanlar ( id INT
NOT NULL AUTO_INCREMENT, PRIMARY KEY (id), adi VARCHAR(20), soyadi
VARCHAR(20), adres VARCHAR(60), pozisyon VARCHAR(60));

INSERT INTO calisanlar VALUES (1 , 'Sahika' ,'Tabak' ,'PCLife Dergisi, Istanbul' , 'Yazar');
INSERT INTO calisanlar VALUES (2 , 'Muharrem' , 'Tac' , 'Işık Kultur Merkezi, Bursa' , 'Yonetmen');
Bu metnin sadece üç satır
olmasına, örneğin Notpad'de Düzen menüsünde Sözcük Kaydır maddesinin
işaretsiz olmasına dikkat edin. Daha sonra yine DOS komut istemcisi
penceresinde MySQL programının dizininde /bin alt-dizinine gidin ve şu
komutu yazın:

mysqladmin -u root create veri
MySQL veri adlı veritabanının
oluuştuğunu bildirecektir. Şimdi içi boş bir veri dosyamız oldu.
Yazdığımız dump dosyasındaki bilgileri veritabanı dosyasına işletmek
işini MySQL yapacakatır. Bunu, şu komutla yapabiliriz:

mysql -u root veri < veri.dump
İşlerin yolunda gidip
gitmediğini c:mysqldata dizininde veri adlı bir klasör oluşturulduğunu
kontrol ederek anlayabiliriz. Bu klasörün içinde calisanlar.frm,
calisanlar.isd ve calisanlar.ism adında dosyalar bulunması gerekir.
Sayfa başına dön
Bu forumun müsaadesi var:
Bu forumdaki mesajlara cevap veremezsiniz