MySQL – 7. lekcia
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

MySQL – 7. lekciaMySQL – 7. lekcia

 

MySQL – 7. lekcia

Google       Google       18. 3. 2006       22 786×

V dnešnej lekcii:

* Práca s číslami
* Funkcia SUM
* Zálohovanie a obnova dát
* Prideľovanie práv

Reklama
Reklama

Práca s číslami

Na prácu s číslami nám MySQL ponúka niekoľko základných aritmetických operácií.
Poďme si ich zopár názorne ukázať na našej tabuľke zamestnanci (ktorú sme v minulej lekcií vytvorili).



mysql> select*from zamestnanci;
Odpoveď servera:

+----------------+---------+------------+----+
| typ            | zarobok | mesto      | ID |
+----------------+---------+------------+----+
| Admin          |   10000 | Bratislava |  1 |
| Programator    |   15000 | Praha      |  2 |
| Webmaster      |   20000 | Brno       |  3 |
| Grafik         |   12500 | Trnava     |  4 |
| Tvorca_Stranok |    9500 | Kosice     |  5 |
+----------------+---------+------------+----+
5 rows in set (0.02 sec)

Ako vidíme, nachádza sa tu stĺpec „zarobok“, v ktorom sa nachádzajú číselné hodnoty.
Teraz si vypíšeme všetky typy povolania, ktoré majú zárobok nižší, nanajvýš rovný, 13 000.

Použijeme na to tento zápis.



mysql> SELECT typ,zarobok FROM zamestnanci WHERE zarobok <=13000;
Odpoveď servera:

+----------------+---------+
| typ            | zarobok |
+----------------+---------+
| Admin          |   10000 |
| Grafik         |   12500 |
| Tvorca_Stranok |    9500 |
+----------------+---------+
3 rows in set (0.02 sec)

Tento výraz najprv vyberie stĺpce typ a zarobok, následne nastavujeme podmienku WHERE, ktorá pomocou operátorov „menší alebo rovný“ vyberie všetky záznamy a prevedie podmienku menší alebo rovný 13 000.


Funkcia SUM

Funkcia SUM nám ponúka prevádzať štítenie na dátach sčítacie operácie.

Syntaxa je:

SELECT SUM(názov_stlpca) FROM meno_tabulky;

Teraz si spočítame, aký je celkový zárobok v stĺpci „zarobok“.


mysql> SELECT SUM(zarobok) FROM zamestnanci;
Odpoveď servera:

+--------------+
| SUM(zarobok) |
+--------------+
|        67000 |
+--------------+
1 row in set (0.05 sec)



Zálohovanie a obnova dát

Jednou z najdvoležitejších vecí pri tvorbe databáz je jej pravidelné zálohovanie. Buď to celých datábaz, alebo len potrebných tabuliek.
K tomuto účelu slúži mysqldump, ktorý dokáže zálohovať naše databázi. Tento nástroj je spúšťaní v príkazovom riadku.

Takže najprv si spustíme príkazový riadok (Štart-Spustiť-cmd). V prvom rade sa musíme dostať do adresára mysql/bin, v ktorom je naša potrebná ulitka pre zálohovanie mysqldump.


Syntaxa pre zálohovanie celej databázi je:

mysqldump  meno_databazy > databaza.sql
Syntaxa pre zálohovanie tabuľky je:

mysqldump meno_databazy  nazov_tabulky > tabulka.sql

Teraz sa nachádzame v príkazovom riadku a v adresári mysql/bin. A zálohujeme si našu databázu „skuska“ nasledovne:


C:\mysql\bin>mysqldump skuska > skuska.sql 

Pokiaľ nám nevyhodilo žiadnu chybu ani hlášku, tak sme si počínali dobre a náš výsledok by mal vyzerať takto:


-- MySQL dump 8.22
--
-- Host: localhost    Database: skuska
---------------------------------------------------------
-- Server version	3.23.51-nt

--
-- Table structure for table 'programovanie'
--

CREATE TABLE programovanie (
  Pascal varchar(15) default NULL,
  php varchar(20) default NULL,
  mysql varchar(30) default NULL,
  CSS varchar(20) default NULL,
  html varchar(30) default NULL,
  datum date default NULL,
  ID int(11) NOT NULL auto_increment,
  ASPX varchar(20) default NULL,
  PRIMARY KEY  (ID)
) TYPE=MyISAM;

--
-- Dumping data for table 'programovanie'
--


INSERT INTO programovanie VALUES (NULL,'Programovanie v PHP','Datab zy',NULL,'Tvorba str nok','2005-12-11',1,NULL);
INSERT INTO programovanie VALUES (NULL,'Programovanie v PHP','Datab zy',NULL,'Tvorba str nok','2005-12-11',2,NULL);
INSERT INTO programovanie VALUES (NULL,'sessions','SQL',NULL,'Meta tagy','2006-01-29',4,NULL);
INSERT INTO programovanie VALUES (NULL,'PHP5','INSERT',NULL,'Tag BODY','2006-01-29',5,NULL);
INSERT INTO programovanie VALUES (NULL,'$premena','WHERE',NULL,'Tag P','2006-01-29',6,NULL);

--
-- Table structure for table 'zamestnanci'
--

CREATE TABLE zamestnanci (
  typ varchar(20) default NULL,
  zarobok int(10) default NULL,
  mesto varchar(20) default NULL,
  ID int(11) NOT NULL auto_increment,
  PRIMARY KEY  (ID)
) TYPE=MyISAM;

--
-- Dumping data for table 'zamestnanci'
--


INSERT INTO zamestnanci VALUES ('Admin',10000,'Bratislava',1);
INSERT INTO zamestnanci VALUES ('Programator',15000,'Praha',2);
INSERT INTO zamestnanci VALUES ('Webmaster',20000,'Brno',3);
INSERT INTO zamestnanci VALUES ('Grafik',12500,'Trnava',4);
INSERT INTO zamestnanci VALUES ('Tvorca_Stranok',9500,'Kosice',5);


Súbor skuska.sql sa náchádza v adresáry bin.
Niekedy sa môžete stretnúť aj s inou syntaxou zálohovania databáz. Záleží to na verzií mysql a aj mysqldump-u. Spomeniem tie, ktoré sa tiež dosť často používajú.


$ mysqldump databaza > databaza.sql

% mysqldump databaza > databaza.sql

Obnova dát zo zálohy je veľmi jednoduchá namiesto znaku „>“ sa použije len opačný znak „<“.


C:\mysql\bin>mysqldump skuska < skuska.sql

Prideľovanie práv

Prideľovanie práv v MySQL má dosť významnú úlohu, nakoľko si môžete nastaviť práva ako root, čiže inými slovami môžete robiť všetko.

Syntaxa je:

GRANT typ_opravnenia ON {*.* | * | nazov_databazy.tabulky} TO účet IDENTIFIED BY password  REQUIRE volba_zabespečenia WITH volba_udelovania_prav;

Zoznam všetkých privilégií:


Všetky privilégia sú uložené v databáze mysql v tabuľke user. Teraz si pridelím všetky (ALL) práva pre užívateľa martin@localhost:


mysql> GRANT ALL ON *.* TO martin@localhost IDENTIFIED BY 'tajneheslo';
Odpoveď servera:

Query OK, 0 rows affected (0.16 sec)
Pokiaľ by sme chceli prideliť právo len na prezeranie tabuliek, použili by sme nasledujúci zápis:

mysql> GRANT Select ON *.* TO martin@localhost IDENTIFIED BY 'tajneheslo';
Odpoveď servera:


Query OK, 0 rows affected (0.01 sec)
Tento zápis by sa tiež mohol zapísať aj bez príkazu GRANT:

mysql>INSERT INTO user VALUES('localhost', 'meno_uživatela',PASSWORD('heslo'), 'Y', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N');

Písmená N a Y znamenajú no a yes a idú v poradí od 1 až po 14 ako sme mohli vidieť na obrázku.

Pre zavedenia nového uživatela je potrebné potvrdiť práva príkazom FLUSH PRIVILEGES:


mysql> FLUSH PRIVILEGES;

A to by bolo asi tak všetko, s čím som vás chcel oboznámiť ohľadom databázového programovania v jazyku SQL.


V ďalšej lekcii („poslednej“) si ukážeme rôzne zaujímavé funkcie, ktoré sa dajú robiť v MySQL (ako je napr. kalkulačka, práca s časom a dátumom a rôznych funkcií pre prácu s textovými reťazcami).

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

4 názory  —  4 nové  
Hlasování bylo ukončeno    
0 hlasů
Google
Autor je študentom Masarykovej univerzity v Brne s odborom Aplikovaná Informatika. Medzi zaľuby patrí práca s PHP & MySQL, JAVA a práca s hudbou.

Nové články

Obrázek ke článku NEWTON Media prohledá 200  milionů mediálních zpráv během sekund díky Cisco UCS

NEWTON Media prohledá 200 milionů mediálních zpráv během sekund díky Cisco UCS

Česká společnost NEWTON Media provozuje největší archiv mediálních zpráv ve střední a východní Evropě. Mezi její zákazníky patří například ministerstva, evropské instituce nebo komerční firmy z nejrůznějších oborů. NEWTON Media rozesílá svým zákazníkům každý den monitoring médií podle nastavených klíčových slov a nabízí online službu, kde lze vyhledat mediální výstupy v plném znění od roku 1996.

Reklama
Reklama
Obrázek ke článku Delphi 10.1.2 (Berlin Update 2) – na co se můžeme těšit

Delphi 10.1.2 (Berlin Update 2) – na co se můžeme těšit

Touto roční dobou, kdy je zem pokrytá barevným listím a prsty křehnou v mrazivých ránech, se obvykle těšíme na zbrusu novou verzi RAD Studia. Letos si však ale budeme muset počkat na Godzillu a Linux až do jara. Vezměme tedy za vděk alespoň updatem 2 a jelikož dle vyjádření pánů z Embarcadero se budou nové věci objevovat průběžně, pojďme se na to tedy podívat.

Obrázek ke článku Konference: Moderní datová centra pro byznys dneška se koná už 24. 11.

Konference: Moderní datová centra pro byznys dneška se koná už 24. 11.

Stále rostoucí zájem o cloudové služby i maximální důraz na pružnost, spolehlivost a bezpečnost IT vedou k výrazným inovacím v datových centrech. V infrastruktuře datových center hraje stále významnější roli software a stále častěji se lze setkat s hybridními přístupy k jejich budování i provozu.

Obrázek ke článku Konference: Mobilní technologie mají velký potenciál pro byznys

Konference: Mobilní technologie mají velký potenciál pro byznys

Firmy by se podle analytiků společnosti Gartner měly  rychle přizpůsobit skutečnosti, že mobilní technologie už zdaleka nejsou horkou novinkou, ale standardní součástí byznysu. I přesto - nebo možná právě proto - tu nabízejí velký potenciál. Kde tedy jsou ty největší příležitosti? I tomu se bude věnovat již čtvrtý ročník úspěšné konference Mobilní řešení pro business.

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý