Hlavnß strßnka · DiskusnΘ F≤rum · PracovnΘ prφle₧itosti · Zoznam

 Main Menu
o Hlavnß strßnka
o Zoznam tΘm
o Zoznam
o OdporuΦte nßs
o U₧φvatelia
o VaÜe konto
o Pridaj Φlßnok
o ètatistiky
o Top 10

 Reklama


 Developer Zone's
o Internet
o Tools
o Linux
o CGI Zone
o ASP Zone
o ASP.net
o PHP Zone
o CSS Zone
o JavaScript
o MySQL
o WAP / WML
o WML / WMLScript
o XML / XHTML
o Tipy a triky
o Best of web
o WebServers
o WebDesign
o Grafika

 Servis
o Vyh╛adßvanie
o F≤rum
o Workoffice
o Zoznam Φlßnkov
o Reklama
o Pridaj Φlßnok
o Pridaj novinku

NapφÜte nßm
Homepage Do favoritov

 LinkExpres
Interval.cz · Pc.sk
Builder.cz · Mobilmania
PCSvet.cz · Asp.cz
Webdnes · Äiv∞.sk
Zoznam.sk · Atlas.sk
Inzine.sk · PHP.sk
Agent.sk · Lupa.cz
Code.box.sk · Root.cz
Pixel32 · Grafika.cz

 forum.developer.sk
o F≤rum ::
o Markup languages
o ScriptovΘ jazyky
o CGI
o PHP/MySQL
o Perl
o Grafika
o Webservery
o HTML Editory
o Browsery
o Bookmarx
o ASP
o Vytvor tΘmu ::

 PracovnΘ prφle₧itosti
o Pon·kate prßcu?
o H╛adßte prßcu?

 Autori developer.sk
o Martin NemeΦek
o SvΣ¥o Straka
o Jany Masaryk
o Jozef Murφn

 
MySQL [ 03. May 2000] - Martin_Nemecek
MySQL Φas¥ piata - napσ≥anie tabuliek
V naÜej ∩alÜej prßci s MySQL sa zameriame na pokraΦovanie u₧ zaΦatej rozpravy o tabu╛kßch a naznaΦφme si ∩alÜie mo₧nosti, ktorΘ nßm MySQL pon·ka pri manipulßcii s nimi.



V minulej - Ütvrtej Φasti nßÜho spoznßvacieho serißlu sme si vytvorili naÜu prv· tabu╛ku, teda jej Ütrukt·ru. EÜte na ·vod sa pristavme pri tejto Ütrukt·re a mo₧nosti jej nastavenia. Pri vytvßranφ tabu╛ky m⌠₧eme okrem zßkladn²ch parametrov pri ka₧dej polo₧ke nastavi¥ nieko╛ko ∩alÜφch vlastnostφ, ktorΘ nßm bli₧Üie Üpecifikuj· t·to polo₧ku, rsp. ju jednoznaΦne definuj·. Najviac pou₧φvanou vlastnos¥ou je NOT NULL. Takto definovanß polo₧ka nem⌠₧e obsahova¥ prßzdnu hodnotu. ╧alÜou pou₧φvanou vlastnos¥ou je PRIMARY KEY. Tßto nßm udßva, ktorß polo₧ka bude primßrnym k╛·Φom.

Ukß₧me si ich pou₧itie na praktickom prφklade:

mysql> create table authors1
    -> (id int(11) NOT NULL PRIMARY KEY,
    -> autor varchar(90),
    -> mail varchar(60),
    -> telefon varchar(30))
    -> ;

Vytvorili sme si tabu╛ku authors1, ktorß sa skladß z nasledovn²ch polo₧iek: id (id autora), autor (meno), mail (e-mailova adresa) a telefon. Zßrove≥ sme zadefinovali pomocou vlastnosti NOT NULL polo₧ku id nenulov· a okrem toho sa bude chova¥ ako primßrny k╛·Φ. Potvrdenie tabu╛ky nßm indikuje nasledovn² dial≤g:

Query OK, 0 rows affected (0.00 sec)

Ak si chceme pozrie¥ Ütrukt·ru naÜej novej tabu╛ky, nie je niΦ jednoduchÜie. Pou₧ijeme prφkaz DESCRIBE. V²sledok bude asi nasledovn²:

mysql> DESCRIBE authors1;
+---------+--------------+------+-----+---------+-------+
| Field   | Type         | Null | Key | Default | Extra |
+---------+--------------+------+-----+---------+-------+
| id      | int(11)      |      | PRI | 0       |       |
| autor   | varchar(90 ) | YES  |     | NULL    |       |
| mail    | varchar(60)  | YES  |     | NULL    |       |
| telefon | varchar(30)  | YES  |     | NULL    |       |
+---------+--------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

Ak chceme nßhodou nejak· tabu╛ku vymaza¥, je potrebnΘ pou₧i¥ prφkaz DROP. Formßt prφkazu bude teda:

DROP TABLE table;

Ak teda chceme zmaza¥ tabu╛ku video10, pou₧ijeme nasledovn² prφkaz:

mysql> DROP TABLE video10;
Query OK, 0 rows affected (0.06 sec)

Nezabudnite na to, ₧e po pou₧itφ tohto prφkazu je tabu╛ka nenßvratne stratenß, tak₧e opatrne.

Po∩me si u₧ koneΦne naplni¥ naÜu tabu╛ku nejak²mi ·dajmi, lebo tabuliek sme si u₧ vytvorili u₧ nieko╛ko ale zatia╛ s· prßzdne. Na pridßvanie ·dajov do tabuliek sl·₧i v SQL prφkaz INSERT INTO. Formßt prφkazu vypadß teda nasledovne:

INSERT INTO meno_tabulky VALUES (
hodnota_1_polozky,
hodnota_2_polozky,
hodnota_3_polozky,
.
.
hodnota_n_polozky)

Sk·sme to teraz na ostro a napl≥me si naÜu tabu╛ku authors1 nejak²mi ·dajmi:

mysql> INSERT INTO authors1 VALUES (
    -> 1,
    -> "Jan Kratky",
    -> "jan.kratky@domena.sk"
    -> "55698541");

Tabu╛ku sme sφce naplnili, ale interpret nßm vypφsal chybu. Pri vkladanφ ·dajov do tabu╛ky som sa nßhodou "sekol" a zabudol som dolni¥ jednu Φiarku (4.riadok). Dopadlo to asi takto:

ERROR 1058: Column count doesn't match value count

T²mto by som aj vßs rßd upozornil na mo₧nos¥ v²skytu tak²chto ch²b. V tak²chto situßcißch je potrebnΘ zachova¥ si chladn· hlavu prekontrolovat zdrojov² text a "na¥uka¥" prφkaz znova, ale u₧ bez ch²b. Sprßvny zßpis bude teda nasledovn²:

mysql> INSERT INTO authors1 VALUES (
    -> 1,
    -> "Jan Kratky",
    -> "jan.kratky@domena.sk",
    -> "55698541");
Query OK, 1 row affected (0.05 sec)

Na zßver si eÜte ukß₧eme ako si zobrazφme naÜu tabu╛ku authors1 u₧ v kompletnom stave, teda ai so zßznamom. Pou₧ijeme na to prφkaz SELECT, ktorΘmu budeme na bud·ce venova¥ jednu cel· Φas¥. UrΦite si to zasl·₧i.

mysql> SELECT * from authors1;

a v²sledok bude nasledovn²:

+----+------------+----------------------+----------+
| id | autor      | mail                 | telefon  |
+----+------------+----------------------+----------+
|  1 | Jan Kratky | jan.kratky@domena.sk | 55698541 |
+----+------------+----------------------+----------+
1 row in set (0.11 sec)


 
 PrφsluÜnΘ odkazy k tΘme
Viac o tΘme: MySQL | InΘ Φlßnky od: Admin | PoÜli komentßr | Strßnka vhodnß na tlaΦ width=15 height=11  PoÜli tento Φlßnok priate╛ovi, znßmemu width=15 height=11


NajΦφtanejÜie Φlßnky MySQL:
MySQL Φas¥ Ütrnßsta - najΦastejÜie kladenΘ otßzky

╧alÜie Φlßnky v rubrike MySQL:

 

"MySQL Φas¥ piata - napσ≥anie tabuliek" | Login / vytvor konto | 0 Komentßrov
Prah
Za obsah komentßrov je zodpovedn² u₧φvate╛, nie prevßdzkovate╛ t²chto strßnok.



AutorskΘ prßva: á ⌐1999 - 2001 Developer Zone [developer@developer.sk]

VÜetky Φlßnky s· vlastnφctvom autorov Developer Zone. VÜetky prßva vyhradenΘ. Strßnky Developer.sk s· vytvorenΘ pomocou PHP-Nuke.
Odkazy na novΘ Φlßnky je mo₧nΘ prebera¥ pomocou:Backend.php.