[LinuxFocus-icon]
<--  | Ana Sayfa  | Eri�imd�zeni  | ��indekiler  | Arama

Duyumlar | Belgelikler | Ba�lant�lar | LF Nedir
Bu makalenin farkl� dillerde bulundu�u adresler: English  Castellano  ChineseGB  Deutsch  Francais  Nederlands  Russian  Turkce  

[Photo of the Author]
Diego Alberto Arias Prad
<dariapra(at)yahoo.es>

Yazar hakk�nda:

Ben Lugo �spanya'da bir Telekominikasyon m�hendisiyim. Linux'u kullanmaya ne zaman ba�lad���m� kesin olarak hat�rlayam�yorum, 1995 ya da 1996 y�l�ndayd�. Ondan �nce bir Microsoft Windows kullan�c�s�yd�m ve Linux'un varl���ndan haberdar de�ildim. �lk kez Linux'u �niversitede bir bilgisayarda g�rd�m. Bana �ok ilgi �ekici g�r�nd� ve hemen evimdeki bilgisayar�ma kurdum; ilk da��t�m�m Slackware'd�.

Bu y�llarda ba�ka Linux da��t�mlar�, baz� BSD "flavours" lar�, Java ve Tcl gibi programlama dilleri, veritaban�, web ve uygulama sunucular� kullanarak �ok e�lendim. Linux benim i�in sadece oyuncak olmad�, Telef�nica I+D'de �al���rken Linux kullanma �ans� buldum.



T�rk�e'ye �eviri:
Okan Ar� <okanari(at)aridersanesi.com>

��erik:

 

TclMySQL k�t�phanesine giri�

MySQLTcl

�zet:

Bu makalede nas�l MySQLTcl kuraca��n�z� ve kullanaca��n�z� ��reneceksiniz, Tcl k�t�phanesi Tcl betiklerinden MySQL veritaban� sunucusuna SQL sorgular� g�ndermenizi sa�lar (select, insert, delete...). Kullan�lan Tcl, MySQL sunucu ve MySQLTcl k�t�phanesi versiyonlar� �unlad�r : 8.4.2, 4.0.15 ve 2.40.

Tcl Tool Command Language kelimelerinin ba� harfleridir ve John Ousterhout [1] taraf�ndan geli�tirilmit�ir. Tcl asl�nda iki �eydir: Bir betik dili ve bir yorumlay�c�d�r. Tcl bir yap�sal programlama dilidir ve 3 temel veri yap�s� kullan�r: Katar(strings), liste(lists) ve dizi(arrays). Tcl d�zenli ifadeler(regular expressions [2]), ���nc� parti Tcl geni�leme k�t�phaneleri ve Tk, Tcl'de grafik uygulamalar geli�tirmeye yarayan alet �antas�(toolkit) �zelliklerini i�erir.

MySQL a��k kaynak dünyas�n�n pop�ler veritaban� sunucusudur, san�r�m daha fazla bir tan�t�m yapmaya gerek yok.

MySQLTcl Tcl beti�inden Mysql veritaban� sunucusuna sorgu g�ndermeye yarayan bir k�t�phanedir. Tcl k�t�phanesinin �u anki sa�lay�c�lar� Paolo Brutti (Paolo.Bruti at tlsoft.it), Tobias Ritzau (tobri at ida.liu.se) ve Artur Trzewick (mail at xdobry.de)'dir..

_________________ _________________ _________________

 

MySQLTcl kütüphanesi kurulumu

E�er sizin Linux da��t�m�n�z ya da *BSD i�letim sisteminiz paket kurulumunu destekliyorsa (RPM veya DEB gibi) veya portlar� destekliyorsa (�rne�in Crux Linux veya FreeBSD), bu y�ntemlerden birini kullanabilir ve bu b�l�m� atlayabilirsiniz..

E�er siz de "elle" kurma y�ntemini tercih ediyorsan�z a�a��da benim uygulad���m y�ntem anlat�lm��t�r. Anlat�lanlar bir yol g�sterici olarak g�r�lmelidir, ad�m ad�m kurulum rehberi olarak de�il. Linux Mandrake da��t�m� (versiyon 9.2), bash ile:
$ ./configure --with-mysql-lib=/usr/lib
$ make
$ make install
"configure" ad�m�nda problem olursa, hata bilgisi problemin ��z�m� i�in bize ip ucu vermektedir. Genellikle problem, configure beti�inin belli dizin ya da dosyalar� bulamamas�d�r. Bu gibi durumlarda betik ile "oynayarak" do�ru dizin ya da dosyalar�n parametrelerini beti�i d�zenleyerek belirtebilirsiniz. Ba�ka bir �rnek g�relim. FreeBSD 5.0 ile bu opsiyonlar� kullanarak MySQLTcl kurulumu yapt�m.
$ export CPP=/usr/bin/cpp
$ ./configure --with-tcl=/usr/lib/local/tcl8.3
 --with-tclinclude=/usr/local/include/tcl8.3
 --with-mysql-include=/usr/local/include/mysql
 --with-mysql-lib=/usr/local/lib/mysql
$ make
$ make install
Not alm�� olman�z gerekti�i gibi,bu ikinci �rnekte versiyonlar ��yle, Tcl 8.3; MySQLTcl k�t�phanesi 2.15 ve MySQL veritaban� sunucusu 3.23.54.

 

Tcl Temelleri

Bu b�l�mde, Tcl programlama yapamayan ama bu makaleye ilgi duyanlar i�in Tcl Temelleri'ne giri� yapaca��m. Siz zaten bir Tcl programc�s� iseniz bu b�l�m� atlayabilirsiniz.

Bu �rne�i (ve tabi ki devam eden di�er �rnekleri) Tcl shell (tclsh) kullanarak yeniden �retebilirsiniz.

 

De�i�kenler. Komut ve de�i�ken de�i�tirme (Command and variable substitution).

Tcl de�i�kenleri set konutu ile yarat�ld�, baz� �rnekler:
% set address {Edison Avenue, 83}
Edison Avenue, 83
% set zip_code 48631
48631
Bu iki �rnekte, adlar� address ve zip_code olan iki de�i�ken yaratt�k. Bu de�i�kenler taraf�ndan saklanan de�erler s�ras�yla Edison Avenue, 83 ve 48631 oldu; her iki de�er de katar(string) yap�s�nda. address de�i�keni yarat�l�rken k�me parantezi(curly braces) kullan�ld� ��nk� katar �zel karakter(white spaces) i�eriyor. De�i�ken de�erleri yeniden set komutu ile g�sterilebilir:

% set address
Edison Avenue, 83
% set zip_code
48631
�u anda ekrana address de�i�keninin de�erini yazd�rmak istiyoruz. Bu puts komutu ile ger�ekle�tirilir:
% puts stdout [set address]
Edison Avenue, 83
stdout parametresi puts komutuna g�nderildi. Bu parametre puts komutuna standart ��kt�y� kullanmas�n� s�yliyor ki bu bizim durumumuz i�in ekran. puts komutuna g�nderilen ikinci parametre[set address]. K��eli parantez i�indeki komut Tcl yorumlay�c�s� taraf�ndan puts komutundan daha �nce yorumlanacakt�r; buna komut de�i�tirme (command substitution) diyoruz. (�evirenin notu : Bu isimlendirmeyi tam �eviremedi�im i�in �ngilizce olarak kullanaca��m bundan sonra). Ayn� olay farkl� bir yolla da yap�labilir:
% puts stdout $address
Edison Avenue, 83
Bu �rnekte yapt���m�za ise de�i�ken de�i�tirme (variable substitution) diyoruz. (�evirenin notu : Bu isimlendirmeyi bundan sonra �ngilizce olarak kullanaca��m): de�i�ken ad�ndan �nceki $ karakteri variable substitution olmas�n� sa�l�yor.

Dana �nceki �rne�imizde k�me parantezi kullanarak �zel karakterlerin katar olarak grupland�r�labildi�ini g�rd�k. Di�er grupland�rma y�ntemi �ift t�rnak (karakter ") kullanmakt�r.. Buna ra�men bu iki y�ntem birebir ayn� �ekilde �al��maz. Bir �rnek g�relim:
% puts stdout "the zip code is [set address]"
the zip code is 48631
% puts stdout "the zip code is $address"
the zip code is 48631
% puts stdout {the zip code is [set address]}
the zip code is [set address]
% puts stdout {the zip code is $address}
the zip code is $address
Bu �rnekte �unu g�r�yoruz, e�er grupland�rmak i�in k�me parantezi kullan�l�rsa command ve variable substitution ger�ekle�miyor ama �ift t�rnak kullan�l�rsa ger�ekle�iyor.

De�i�kenler unset komutu ile silinebilir:
% unset address
% set address
can't read "address": no such variable
% unset zip_code
% set zip_code
can't read "zip_code": no such variable

 

Tcl Katarlar�(Strings)

Katar veri yap�s� �� temel Tcl vei yap�s�ndan birisidir. Bir katar karakterler k�mesidir. Katar set komutu ile yarat�l�r.

% set surname Westmoreland
Westmoreland
% set number 46.625
46.625
Her iki surname ve number de�i�kenleri katard�r. Katarlar string komutu ile y�netilebilirler, string komutunun genel kullan�m yap�s�(syntax) ��yledir : string i�lem katarde�eri di�erarg�manlar (string operation stringvalue otherargs).Bu kullan�m� nas�l yapaca��m�z� anlatan bir ka� �rnek g�relim:
% string length $surname
12
% set surname [string range $surname 0 3]
West
% puts stdout $surname
West
% string tolower $surname
west
Java veya Pascal'�n aksine, Tcl bir strong-typed programlama dili de�ildir.(�evirenin notu : terimi �ngilizce kullanaca��m.) A�a��daki �rnek bunu g�stermektedir.:
% set number [expr $number + 24.5]
70.125
% string range $number 2 5
.125
expr komutu ile, number de�i�keninin 24.5 artt�r�ld�. Bundan sonra string komutu ile number de�i�kenine katar gibi i�lem yapt�r�ld� ve son d�rt karakteri g�r�n�yor.

�nceki �rneklerde g�sterilenden daha fazla string i�lemleri m�mk�n..

 

Tcl Listeleri(Lists)

Tcl listeleri katarlar�n �zel durumudur, listenin elemanlar� �zel karakterler ile ayr�lm��t�r ve �zel bir yorumlamaya tabi tutulurlar.

% set friends_list {Fany John Lisa Jack Michael}
Fany John Lisa Jack Michael
% set friends_list [string tolower $friends_list]
fany john lisa jack michael
% set friends_list
fany john lisa jack michael
Liste i�lemesine izin veren bir ka� Tcl komutu a�a��dad�r. Baz� �rnekler g�relim.
% lindex 2 $friends_list
lisa
% lrange $friends_list 2 4
lisa jack michael
% set friends_list [lsort -ascii $friends_list]
fany jack john lisa michael
% set friends_list
fany jack john lisa michael
% set friends_list [linsert $friends_list 2 Peter]
fany jack Peter john lisa michael
% string toupper $friends_list
FANY JACK PETER JOHN LISA MICHAEL
Son �rnek listelerin ve katarlar�n ayn� veri yap�s�nda olduklar�n� g�sterir.  

Tcl Diziler(Arrays)

Dizi katar de�eri ile indekslenmi� bir liste olarak g�r�lebilir. Biz dizi �rnekte g�r�ld��� �ekilde yarat�l�r:

% set phone_numbers(fany) 629
629
% set phone_numbers(michael) 513
513
% set phone_numbers(john) 286
286
Dizi de�erleri set command ve variable substitution kullan�larak g�sterilebilir; daha �nceki �rnekte g�rd���m�z gibi katar de�eri indeksi parantez ile ayr�l�r.
% set $phone_numers(michael)
513
array komutu dizi de�i�keni hakk�nda bilgi d�nd�r�r. Bu komutun yapabilece�i hakk�nda bir ka� �rnek g�relim:
% array size phone_numbers
3
% array names phone_numbers
fany john michael

 

Veritaban� ba�lant�s�

Tcl betikten veritaban�na bir sorgu g�ndermeden �nce veritaban� sunucusuna ba�lant� kurmak gereklidir. Bu b�l�mde nas�l ba�lant� kuraca��m�z� ve ba�lant� problemlerini nas�l a�aca��m�z� g�rece�iz..

 

Bir veritaban� ba�lant�s� olu�turmak

Tcl betik�in MySQL veritaban� sunucusuna nas�l ba�land���n� g�steren bir �rnek g�relim.

0:  #!/usr/bin/tclsh8.4
1:
2:  package require mysqltcl
3:  global mysqlstatus
4:
5:  set port {3306}
6:  set host {127.0.0.1}
7:  set user {john_smith}
8:  set password {jsmith_password}
9:
10: set mysql_handler [mysqlconnect -host $host
    -port $port -user $user -password $password]
11:
12: mysqlclose $mysql_handler

L�tfen sol taraftaki s�tunun Tcl betik�in bir par�a�� olmad���n� yaln�zca g�sterimi kolayla�t�rmak i�in oldu�unu untmalay�m. Ayr�ca kulland���n�z Linux dat���m�nda g�re sat�r 0 daki b�l�m�n Tcl shell'ini g�sterecek path olarak ayarlanmas� gerekti�i unutmayal�m.

Sat�r 0 bu dosyan�n bir Tcl beti�i oldu�unu ve Tcl yorumlay�c�s�n�n neredebulunaca��n� anlat�r.

2. sat�r Tcl yorumlay�c�s�na komutlar� i�lerken MySQLTcl k�t�phanesinde aramas�n� s�yler. �rne�in, 10. sat�rda mysqlconnect komutunu g�r�yoruz. E�er 2. san�rdaki kod olmasayd� Tcl yorumlay�c�s� mysqlconnect komutunu i�lerken bize komut bulunamad� hatas� verecekti.

5. ve 6. sat�rlarda Tcl beti�in ba�lanmaya �al��aca�� port ve host bilgileri ayarlan�yor. Bu betikte 3306 numaral� port (ki MySQL sunucusu varsay�lan olarak bu portu kullanmaktad�r) ve ayn� makine host olarak ayarlanm��.

7. ve 8. sat�rlarda veritaban� kullan�c� ad� ve parolas� ayarlan�yor.

10. sat�rda veritaban� ba�lant�s� sa�lan�yor. mysqlconnect komutunun ��kt�s� ismini bizim verdi�imiz mysql_handler de�i�keninde saklan�yor. Bu de�i�ken veritaban� ba�lant�s�n�n tutucusu(handler) olacakt�r. Bu tutucu veritaban�nda sorgulama yapmak ve ayn� zamanda ba�lant�y� sonland�rmak i�in kullan�lacakt�r, bunu 12. sat�rda g�rebiliyoruz.

 

Hata tutulmas�

Bir �nceki b�l�mde beti�in 3. sat�r� anlatmad�k. �imdi onu anlat�yoruz.

MySQLTcl k�t�phanesi komutlar� hatalar� tutabilmektedir. E�er hata yakalanamazsa, betik duracakt�r ve bu durum bizi ilgilendirebilir ya da ilgilendirmeyebilir. Bu y�ntemle beti�i biraz de�i�tirelim.

10: if [catch {mysqlconnect -host $host -port $port
    -user $user -password $password} mysql_handler] {
11:     puts stderr {error, the database connection could not be established}
12:     exit
13: } else {
14:     mysqlclose mysql_handler
15: }
E�er set mysql_handler [mysqlconnect -host $host... komutu bir hata tutarsa, bu hatay� catch komutu yakalar. E�er k�me parantezi i�indeki �al��t�r�lan komut bir hata tutarsa catch komutu 1 d�nd�r�r aksi halde 0 d�nd�recektir. mysql_handler de�i�keni k�me parantezi i�erisindeki komutun ��kt�s�n� saklamaktad�r.

E�er bir hata varsa standart hata ��kt�s�na (stderr) (ki bizim durumumuzda bu ekrand�r) bir mesaj yaz�l�r. Veritaban�na ba�lan�rken olu�acak hatan�n bir �ok nedeni olabilir, yanl�� parola, yanl�� port numaras� ya da host ad� gibi... Bu durumda "bir hata olu�tu" gibi basit bir hata mesaj� almaktansa daha fazla bilgi edinmek �ok daha yararl� olacakt�r.
"there was an error" can be useful.

3. sat�rda, mysqlstatus de�i�keni global (�evirenin notu : global tan�m�n� oldu�u gibi kullanaca��m.) olarak tan�mland�. Global de�i�ken demek, Tcl beti�in her par�as�ndan eri�ilebilen demektir; bu Tcl de�i�ken alan�(scope) ilgilidir ve bu makalenin konusu de�ildir. MySQLTcl k�t�phanesi mysqlstatus ad�nda bir global dizi yarat�r ve kullan�m�n� sa�lar. Bu dizi �u elemanlara sahiptir:

eleman anlam�
code E�er hata yoksa mysqlstatus(code) s�f�rd�r, ama hata varsa mysqlstatus(code) MySQL sunucusunun hata numaras�na e�ittir. E�er olu�an hata MySQL sunucusu taraf�ndan yarat�lmam��sa de�er -1 olur.

mysqlstatus(code) de�i�keninin de�eri herhangi bir MySQLTcl k�t�phanesi komutu �al��t�r�ld���nda g�ncellenir.
command Son MySQLTcl k�t�phanesi komutu, mysqlstatus(command)'de saklanan hatay� g�sterir.

mysqlstatus(command)'�n de�eri her ba�ar�s�z MySQLTcl komutu sonras�ndan g�ncellenir, yani mysqlstatus(command)'�n de�eri ba�ar�l� MySQLTcl komutu sonras�nda g�ncellenmez.
message mysqltcl(message)'�n de�eri her ba�ar�s�z MySQLTcl komutu sonras�nda i�erisinde hata mesaj� bulunduran bir katar ile g�ncellenir. mysqlstatus(command)'u gibi mysqlstatus(message)'un i�eri�i ba�ar�l� MySQLTcl komutlar� sonras�nda g�ncellenmez.

Global dizi elemanlar� aras�nda, hata tutma ile ilgisi olmayan, mysqlstatus ad�nda ba�ka bir eleman vard�r:

eleman anlam�
nullvalue SQL sorgusu sonu�lar� g�sterilirken bo� de�eri temsil eden katar de�eridir. Varsay�lan olarak bo� katar kullan�l�r, musqlstatus(nullvalue) herhangi ba�ka bir katar de�erine ayarlanabilir.

Global dizi mysqlstatus kullanrak daha �ceki kodu tekrar yazarsak, bu �ekilde veritanab�n� ba�lant�s� sa�lan�rken olu�acak hatalar hakk�nda daha �ok bilgi sahibi olabiliriz.
10: catch {mysqlconnect -host $host -port $port
    -user $user -password $password} mysql_handler
11: if {$mysqltatus(code) != 0} {
12:     puts stderr $mysqlstatus(message)
13: } else {
14:     mysqlclose mysql_handler
15: }

Belli ki, global dizi mysqlstatus veritaban� ba�lant�s� kurulurken olu�acak hatalar� daha fazla g�stermek i�in kullan�labiliir.

 

Temel MySQLTcl k�t�phanesi komutlar�

Bu b�l�mde bir �ok temel MySQLTcl k�t�phanesi komutlar� bulunacakt�r ve ben bunlar�n nas�l kullanu�laca��n� baz� �rnekler ile g�sterece�im. T�m komutlar hakk�nda bilgi i�in MySQLTcl k�t�phanesi kullan�m k�lavuuzu(man) sayfalar�na bak�n�z.
Bu b�l�mde i�lenecek komutlar a�a��daki tabloda g�sterilmi�tir. Parametrelerin alt� �izilmi�tir. E�er bir parametre iki ? aras�nda ise, bu parametrenin opsiyonel oldu�unu g�sterir, | karakteri ise "veya" anlam�ndad�r.
komut k�sa a��klama
mysqlconnect ?option value ...? veritaban�na ba�lan�r; di�er mysqltcl komutlar�nca kullan�lacak bir tutucu(handler) d�nd�r�r.
mysqluse handle dbname MySQL tutucusunu belirli bir veritaban� ile ili�kilendirir.
mysqsel handle sql_statement ?-list | -flatlist? veritaban�na SELECT sorgusu g�nderir.
mysqlexec handle sql_statement veritaban�na non-SELECT ifadesi g�nderir.
mysqlclose handle veritanab� ba�lant�s�n� kapat�r.

 

mysqlconnect

Bu komut "Veritaban� ba�lant�s�" b�l�m�de zaten anlat�ld�. Bu komut ekstra bir parametre kabul eder, daha �nce g�sterilmeyen:-db. Bu parametre -db ile, ileride kullan�larak SQL ifadeleri i�in veritaban� kesinle�tirilir. Bir �rnek g�relim:

% set mysql_handler [mysqlconnect -h 127.0.0.1 -p 3306 \\
  -user john_smith -password jsmith_password -db jsmith_database]
MySQLTcl komutlar�n�n kullanaca�� mysql_handler veritaban� tutaca��(handler)n�n "hedef" veritanab� jsmith_database olarak adland�r�ld�.
(\\ karakterleri komutlar�n bir par�as� de�ldir, anlar�n anlam� komut a�a��daki sat�rda devam etmektedir..)

 

mysqluse

Bu komut MySQL tutaca�� ile ili�kili veritanab�n�n de�i�tirilmesine izin verir.

 

mysqlsel

Bu komut MySQL tutaca�� ile ili�kilendirilmi� veritaban�na SQL select ifadesi g�derir. E�er sql_statement parametresi bir SQL select ifadesi de�il ise bir hata olu�acakt�r.

list veya flat_list olabilen bir ���nc� opsiyonel parametre vard�r, Bu parametrenin komutun ��kt�s�n� nas�l etkiledi�ini g�steren bir �rnek g�relim. MySQL tutucusu ile ili�kili veirtaban�nda people ad�nda bir tablo oldu�unu ve yap�s�n�n a�a��daki gibi oldu�unu kabul edelim:

id first_name last_ name phone
26 Karl Bauer 8245
47 James Brooks 1093
61 Roberto Castro Portela 6507

Veritanab�na SQL select ifadesi g�ndermek i�in mysqlsel komutu kulland�k:

% mysqlsel $mysql_handler {select first_name, last_name from people order by id asc} -list
{Karl Bauer} {James Brooks} {Roberto {Castro Portela}}
% mysqlsel $mysql_handler {select first_name, last_name from people order by id asc} -flatlist
Karl Bauer James Brooks Roberto {Castro Portela}
Birinci �rnekte (-list parameter), komut elemanlar� liste olan bir liste d�nd�r�yor. �kinci �rnekte (-flatlist parameter), komut elemanlar� concatenate edilmi� tek bir liste d�nd�r�yor.

E�er mysqlsel komutu ���nc� bir parametre almazsa ne olur? Bu durumda, mysqlsel komutunun ��kts� sorgu taraf�ndan d�nd�r�len sat�r say�s� olacakt�r.
% mysqlsel $mysql_handler {select first_name, last_name from people order by id asc}
3
 

mysqlexec

Bu komut MySQL tutaca�� ile ili�kilendirilmi� veritaban�na SQL non-select ifadesi g�derir. E�er sql_statement parametresi bir SQL select ifadesi ise bir hata olu�acakt�r ama hi�bir�ey olmayacakt�r.

Daha �nceki b�l�mde g�sterilen bir �rne�i ele alal�m:

% mysqlexec $mysql_handler {delete from people where id=26}
1
% mysqlsel $mysql_handler {select first_name, last_name, phone from people order by id asc} -list
{James Brooks 1093} {Roberto {Castro Portela} 6507}
% mysqlexec $mysql_handler \\
  {insert into people (id, first_name, last_name, phone) values (58, "Carla", "di Bella", 8925)}
1
% mysqlsel $mysql_handler {select first_name, last_name, phone from people order by id asc} -list
{James Brooks 1093} {Carla {di Bella} 8925} {Roberto {Castro Portela} 6507}
Elbette delete veya insert harici di�er SQL sorgular� da bu komu tile g�nderilebilir. ��rne�in sat�r g�ncellenebilir (update):
% mysqlexec $mysql_handler {update people set phone=3749 where first_name="James"}
1
% mysqlsel $mysql_handler {select first_name, last_name, phone from people order by id asc} -list
{James Brooks 3749} {Carla {di Bella} 8925} {Roberto {Castro Portela} 6507}
E�er ifade ba�ar�l� bir �ekilde i�lendiyse, mysqlexec komutu veritaban�na g�nderilen SQL non-select ifadesince etkilenen sat�r say�s�n� d�nd�r�r.  

mysqlclose

Daha �nce g�rd���m�z gibi, mysqlclose komutu veritanban� ba�lant�s�n� kapat�r. Bu komuta parametre olarak hnagi ba�lant�y� kapatmak istiyorsak onun MySQL tutama��n� verebiliriz.

 

Di�er MySQLTcl k�t�phanesi komutlar�

MySQLTcl k�t�phanesi burada g�sterilen 5 komuttan daha �ok komuta sahiptir. Bu komutlar veritaban� hakk�nda bilgi edinmeye, escaping string'e izin verir, bunlar sorgu olu�turmaya ve i� i�e ge�mi� sorgular olu�turmaya uygundur... �yi bir kaynak, MySQLTcl k�t�phanesinin kurulumunun bir par�as� olan MySQLTcl kullan�m k�lavuzu(man) sayfalar�d�r.

 

Kaynaklar

[1] a slightly skeptical view on John K. Ousterhout and Tcl:
http://www.softpanorama.org/People/Ousterhout/index.shtml

[2] a tutorial on Tcl regular expressions:
http://www.mapfree.com/sbf/tcl/book/select/Html/7.html

TclTutor is a free and interactive application for learning Tcl:
http://www.msen.com/~clif/TclTutor.html

MySQL documentation, in various formats (HTML, PDF...):
http://www.mysql.com/documentation/index.html

 

Bu yaz� i�in g�r�� bildiriminde bulunabilirsiniz

Her yaz� kendi g�r�� bildirim sayfas�na sahiptir. Bu sayfaya yorumlar�n�z� yazabilir ve di�er okuyucular�n yorumlar�na bakabilirsiniz.
 talkback page 

<--, Bu say�n�n ana sayfas�na gider

G�rsely�re sayfalar�n�n bak�m�, LinuxFocus Edit�rleri taraf�ndan yap�lmaktad�r
© Diego Alberto Arias Prad, FDL
LinuxFocus.org
�eviri bilgisi:
en --> -- : Diego Alberto Arias Prad <dariapra(at)yahoo.es>
en --> tr: Okan Ar� <okanari(at)aridersanesi.com>

2004-04-28, generated by lfparser version 2.46