Banner

piatok 19. decembra 2014

Moderný reporting–pracujeme s MySQL (upravujeme tabuľky)

 

Doposiaľ sme sa naučili založiť si databázu a vytvoriť tabuľky. Dnes si ukážeme ako ich upravovať.

Začneme príkazom, ktorým vymažeme celú tabuľku a ktorý je totožný s príkazom, ktorý vymaže celú databázu:

-- SQL kódy pre manipuláciu s vytvorenými tabuľkami

DROP TABLE dealer; -- SQL vymaže celú tabuľku, teda obsah a stavbu

Za zmienku stojí príkaz DELETE, ktorý maže iba obsah z tabuľky:

DELETE FROM dealer; -- SQL vymaže iba obsah tabuľy, teda záznamy

Avšak bežne sa stane, že po vytvorení tabuľky si uvedomíte, že ste niečo nadefinovali zle, poprípade ste niečo zabudli, povedzme niektorú z potrebných premenných. Tým pádom nemusíte mazať a písať celú tabuľku odznova, stačí ak upravíte už existujúcu tabuľku nasledujúcím príkazom:

ALTER TABLE

Nasledujúca tabuľka predstavuje všetky mnou použité výrazy pre realizáciu nášho projektu:

image

Pokúsim sa vysvetliť funkcionalitu všetkých príkazov okrem constraint a key prípadov, ktoré rozoberiem podrobne v nasledujúcom článku.

Vytvorme si nasledujúcu tabuľku (nezabudnite použiť niektorú databázu, poprípade si vytvorte skúšobnú – príkaz use alebo create database):

CREATE TABLE tab_1 (Meno varchar(30) NOT NULL, Priezvisko varchar(50) NOT NULL);

Táto tabuľka po zobrazení pomocou select from príkazu vyzerá takto:

image

Potrebujeme pridať ID, aby sme tabuľku mohli napojiť do vzťahu (relácie).Použijeme ALTER TABLE ADD:

ALTER TABLE tab_1 ADD ID int;

Tento príkaz pridal premennú (stĺpec) s názvom ID, ktorý je celočíselná premenná (int). Ak by sme potrebnú premennú potrebovali nadefinovať ako automaticky generovanú a zároveň primary key, urobili by sme to takto:

ALTER TABLE tab_1  MODIFY ID int auto_increment primary key;

Po nasledujúcich kódoch bude tabuľka vyzerať takto:

image

Ak by sme zistili, že 30 znakov pre Priezvisko je málo, jednoducho zmeníme tento atribút premennej Priezvisko takto:

alter table tab_1 change Priezvisko Priezvisko varchar(50);

Zostáva nám možnosť, ktorou je DROP. Avšak pridajme si ešte jeden stĺpec:

alter table tab_1 add Vek int(20) not null;

Tým pádom máme tabuľku s ID (Vyplní sa samo),menom, priezviskom a vekom. Vložme do nej zopár hodnôt ako napríklad:

insert into tab_1 (Meno, Priezvisko, Vek) values ('Peter','Tabiš',26),('Martin','Sládek',42),('Roman','Kraus',38);

Tabuľka bude potom vyzerať takto <select*from tab_1;>

image

Ak si zmyslíme, že vek nepotrebujeme tak, zmažeme rovno celý stĺpec:

alter table tab_1 drop Vek;

Po exekúcii zistíme, že sa celý stĺpec s hodnotymi vymazal. V prípade, že chceme vyprázdniť tabuľku, použijeme kód:

delete from tab_1;

Čo je však prúser, je fakt že akonáhne by sme do takejto tabuľky opäť nahrávali hodnoty, tak prvá už nebude mať ID = 1 ale 4. V tomto prípade je potrebné resetovať aj auto_increment kľúč takto:

alter table tab_1 auto_increment=1;

Potom ak by sme opäť vložili tie isté záznamy, tak ich ID bude postupne opäť 1, 2 a 3.

Nabudúce si ukážeme ako naplniť a prepojiť tabuľky (čo sú to KEY a FOREIGN KEY, CONSTRAINT a INSERT INTO skripty).

Žiadne komentáre:

Zverejnenie komentára

Poznámka: Komentár môže zverejniť iba člen tohto blogu.