MySQL'de bir table içinde bir alanın varlığını sorgulama

Diğer veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
GOLAKS
Üye
Mesajlar: 22
Kayıt: 06 Nis 2006 09:47
Konum: İSTANBUL
İletişim:

MySQL'de bir table içinde bir alanın varlığını sorgulama

Mesaj gönderen GOLAKS »

merhaba arkadaşlar MySQL veritabanında örneğin kullanıcı isimli bir table da kulladi isimli bir alanın var olup olmadığını SQL ile sorgulamak istiyorum yardımcı olursanız sevinirim.
------------------------------------------------------
Firebird Veritabanında bu işlemi aşağıdaki şekilde yapmıştım faydalı olabilmesi adına onuda buraya eklemek istedim.
İyi Çalışmalar.

Data bağlantımızın var olduğunu varsayıyorum;

Kod: Tümünü seç

qAra.Close; // alan Kontrol işlemi
  qAra.SQL.Clear;
  qAra.sql.add('select * from RDB$RELATION_FIELDS where RDB$RELATION_NAME ='+QuotedStr('FIRMA') + ' and ' + 'RDB$FIELD_NAME ='+QuotedStr('TELEFON1'));
  qAra.open;
  if qAra.IsEmpty then // Eğer Alan Yoksa Ekleme işlemi
  begin
  qEkle.SQL.Clear;
  qEkle.SQL.Add('ALTER TABLE FIRMA ADD TELEFON1 VARCHAR(20)');
  qEkle.ExecSQL;
  TSERVIS.CommitRetaining;
  end;
Golaks Yazılım
Bilgileriniz Kayda Değerse..!
www.golaks.com.tr
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Re: MySQL'de bir table içinde bir alanın varlığını sorgulama

Mesaj gönderen vkamadan »

Merhabalar ,
Eğer MySQL 4.01 ve üzeri bir MySQL versiyonuna sahipseniz sistem tablolarının tutulduğu INFORMATION_SCHEMA isimli DB den yararlanabilirsiniz ,

Örneğin , "test" isimli veritabanındaki "adres" isimli tablodaki "gsm" alanının varlığını sorgulamak için ,

Kod: Tümünü seç

SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA="test" AND TABLE_NAME="adres" AND COLUMN_NAME="gsm"
eğer önceki bir sürüm kullanıyorsanız "SHOW CREATE TABLE test.adres" diyerek dönen ikinci alanda string bilgi olarak "gsm" değerini aratıp buldurabilir duruma göre hareket edebilirsiniz ama birinci yöntem daha güvenilirdir.

İyi çalışmalar.
Volkan KAMADAN
www.polisoft.com.tr
Kullanıcı avatarı
GOLAKS
Üye
Mesajlar: 22
Kayıt: 06 Nis 2006 09:47
Konum: İSTANBUL
İletişim:

Re: MySQL'de bir table içinde bir alanın varlığını sorgulama

Mesaj gönderen GOLAKS »

ilginize çok teşekkür ederim; şu şekilde de çözülebiliyor

Kod: Tümünü seç

show columns from kull where field = 'uname' 
Golaks Yazılım
Bilgileriniz Kayda Değerse..!
www.golaks.com.tr
Cevapla