![]() |
|
Všechny ideály nepotřebují jen křídla, ale i místo, odkud by mohly vzlétnout (Ernest Hemingway) | ![]() |
|
![]() MySQL aneb u?íme se SQL jazyk (XII.)
Ji?í Luká? -
MySQL -
25. 09. 2001 - 26997 přečtení
Vítám v?echny databázové nad?ence u dne?ního dvanáctého dílu na?eho seriálu "MySQL
aneb u?íme se SQL jazyk", ve kterém vám uká?i, jak jednodu?e lze zajistit automatické ?íslování nov? p?idaných ?ádk?
do tabulky, jak zalo?it a zru?it novou respektive ji? existující databázi a mo?ná vám také povím n?co málo o ...
(- no, nechte se p?ekvapit!) Automatické ?íslování nov? p?idaných ?ádk? do tabulky P?edstavte si, ?e jste dostali za úkol navrhnout databázovou strukturu "softwarové poklady" a stojíte p?ed problémem, jak jednozna?n? identifikovat ka?dý záznam (= ?ádek v databázové tabulce) vlo?ený do této "pokladny", p?i?em? máte jasn? definovány následující podmínky: Softwarová pokladna musí být schopna uchovávat následující informace: Datum výdeje/p?íjmu pen?z z/do pokladny, adresy a iniciály zú?astn?ných osob, p?esnou finan?ní vý?i transakce vyjád?enou v K?, typ transakce (výdej, p?íjem), interní poznámku pokladníka. ... I kdy? tento problém (- tedy jednozna?ná identifikace ?ádku v tabulce) má n?kolik r?zných ?e?ení (nap?. generování n?jakého jednozna?ného identifikátoru va?ím obslu?ným programem nebo pou?ití tzv. slo?eného primárního klí?e), tak si myslím, ?e je mnou vý?e nastín?ná situace jasným p?íkladem p?ímo volajícím po nasazení auto_increment(a?ní) funkce, která ná? problém vy?e?í jednoduchým, ale velmi ú?elných zp?sobem. - Celé kouzlo spo?ívá v tom, ?e p?i definici tabulky p?i?adíme n?jakému "celo?íselnému" sloupci vlastnost auto_increment a ten pak p?i ka?dém vlo?ení nového ?ádk? do této tabulky sám automaticky nabude jedine?nou celo?íselnou hodnotu, jen? je v?dy o jedni?ku vy??í ne?-li hodnota tohoto ?ísla na p?ede?lém ?ádku. Standardn? toto "samo zvy?ující se ?íslování" za?íná nulou, av?ak p?i definici tabulky lze jednozna?n? stanovit hodnotu, od jaké se má za?ít ?íslovat. Celou v?c si nyní uká?eme na vý?e popsaném p?íkladu:
mysql> CREATE TABLE pokladna ( Nejprve bych rád vysv?tlil n?které nové atributy, které jsem pou?il p?i ?e?ení vý?e uvedeného p?íkladu a pak se budu dále v?novat problematice "automatického ?íslování nov? p?idaných ?ádk? do tabulky". Tak tedy p?kn? popo?ádku:
Podíváme-li se na vý?e uvedené ?e?ení z pohledu zadání "softwarové pokladny", tak si myslím, ?e m??eme být pln? spokojeni, jeliko? ?e?ení 100 % vystihuje smysl zadání! - Sloupec idp bude toti? v?dy obsahovat jedine?nou hodnotu, jejím? prost?ednictvím lze jednozna?n? identifikovat ka?dý jednotlivý ?ádek v tabulce pokladna. Jak vlo?it do takto koncipované tabulky nový ?ádek? Je?t? ne?-li opustíme toto velmi zajímavé téma ("Automatického ?íslování nov? p?idaných ?ádk? do tabulky"), tak bych vás rád upozornil na jednu drobnou zvlá?tnost, se kterou se nutn? setkáte p?i vkládání nového ?ádku do tabulky, která obsahuje sloupec s auto_increment(a?ní) funkcí. V p?ípad?, ?e budete chtít pou?ít zjednodu?ený p?íkaz INSERT (viz. pátý díl) a nebude tedy blí?e specifikovat sloupce, do kterých se mají jednotlivá data ulo?it, tak je nutné na míst? ur?eném pro data sloupce, který disponuje auto_increment(a?ní) funkcí, uvést hodnotu NULL. Ukázkový p?íklad: insert into pokladna values(null,"2001-09-25","vydej","100,50",2,"nic"); Jak zalo?it a zru?it novou respektive ji? existující databázi Jeliko? jsou ob? vý?e uvedené akce velmi jednoduché, tak ihned p?ejdu k ukázce a nebudu vás zbyte?n? zdr?ovat dal?ím výkladem! Syntaxe: Zalo?ení nové databáze: CREATE DATABASE jméno_databáze; Zru?ené existující databáze: DROP DATABASE jméno_databáze; Oba dva p?íkazy vám doporu?uji ihned vyzkou?et a jejich ú?innost si nap?íklad ov??it prost?ednictvím p?íkazu SHOW DATABASES (viz. minulý díl). P?eji p?íjemný pracovní týden ...
Související články:
Celý článek |
Zpět |
Počet komentářů: 1168 |
Přidat komentář |
MySQL aneb u?íme se SQL jazyk (XIII.) (28.06.2002) MySQL aneb u?íme se SQL jazyk (XI.) (29.05.2001) MySQL aneb u?íme se SQL jazyk (X.) (22.01.2001) MySQL aneb u?íme se SQL jazyk (IX.) (29.11.2000) MySQL aneb u?íme se SQL jazyk (VIII.) (31.10.2000) MySQL aneb u?íme se SQL jazyk (VII.) (25.09.2000) MySQL aneb u?íme se SQL jazyk (VI.) (26.08.2000) MySQL aneb u?íme se SQL jazyk (V.) (30.07.2000) MySQL aneb u?íme se SQL jazyk (IV.) (24.07.2000) MySQL aneb u?íme se SQL jazyk (III.) (06.07.2000) MySQL aneb u?íme se SQL jazyk (II.) (29.06.2000) MySQL aneb u?íme se SQL jazyk (I.) (22.06.2000) ![]() ![]() |
|
Tento web site byl vytvořen prostřednictvím phpRS - redakčního systému napsaného v PHP jazyce.
Na této stránce použité názvy programových produktů, firem apod. mohou být ochrannými známkami
nebo registrovanými ochrannými známkami příslušných vlastníků.