+ All Categories
Home > Documents > MySQL ÚVOD DO JAZYKA SQL

MySQL ÚVOD DO JAZYKA SQL

Date post: 03-Jan-2016
Category:
Upload: imelda-compton
View: 46 times
Download: 0 times
Share this document with a friend
Description:
MySQL ÚVOD DO JAZYKA SQL. PŘÍKAZY JAZYKA SQL. JAZYK SQL LZE ROZDĚLIT NA DVĚ ZÁKLADNÍ PODMNOŽINY : JAZYK DDL (DATA DEFINITION LANGUAGE) SYNTAXE TVORBY TABULEK JAZYK DML (DATA MANIPULATION LANGUAGE) SYNTAXE MANIPULACE S DATY. PŘÍKAZY Z PODMNOŽINY DDL. - PowerPoint PPT Presentation
39
MySQL ÚVOD DO JAZYKA SQL
Transcript
Page 1: MySQL ÚVOD DO JAZYKA SQL

MySQLÚVOD DO JAZYKA SQL

Page 2: MySQL ÚVOD DO JAZYKA SQL

2

PŘÍKAZY JAZYKA SQL

JAZYK SQL LZE ROZDĚLIT NA DVĚ ZÁKLADNÍ PODMNOŽINY :

• JAZYK DDL (DATA DEFINITION LANGUAGE) SYNTAXE TVORBY TABULEK

•JAZYK DML (DATA MANIPULATION LANGUAGE) SYNTAXE MANIPULACE S DATY

Page 3: MySQL ÚVOD DO JAZYKA SQL

3

PŘÍKAZY Z PODMNOŽINY DDL

PŘÍKAZY Z PODMNOŽINY DDL UMOŽŇUJÍ DEFINICI DATOVÝCH STRUKTUR A TVORBU OBJEKTŮ, JAKO JSOU TABULKY, SESTAVY, INDEXY APOD.

CREATE DATABASE CREATE INDEX DROP VIEW

CREATE TABLE DROP INDEX DROP INDEX

ALTER TABLE CREATE VIEW CREATE SEQUENCE

DROP TABLE ALTER VIEW ALTER SEQUENCE

Page 4: MySQL ÚVOD DO JAZYKA SQL

4

PŘÍKAZY Z PODMNOŽINY DML

PŘÍKAZY Z PODMNOŽINY DDL UMOŽŇUJÍ MANIPULACI S DATY, TJ. VÝBĚR A VKLÁDÁNÍ DAT A JEJICH AKTUALIZACI, MAZÁNÍ ZÁZNAMŮ A PŘÍKAZ SELECT PRO VÝBĚR DAT. TATO PODMNOŽINA OBSAHUJE ČTYŘI HLAVNÍ PŘÍKAZY :

SELECT

INSERT

UPDATE

DELETE

Page 5: MySQL ÚVOD DO JAZYKA SQL

5

DATABÁZE

Page 6: MySQL ÚVOD DO JAZYKA SQL

6

VÝPIS VŠECH DOSTUPNÝCH DATABÁZÍ

SHOW DATABASES;

Page 7: MySQL ÚVOD DO JAZYKA SQL

7

VYTVOŘENÍ NOVÉ DATABÁZE

CREATE DATABASE POKUS;

Page 8: MySQL ÚVOD DO JAZYKA SQL

8

ODSTRANĚNÍ DATABÁZE

DROP DATABASE POKUS;

Page 9: MySQL ÚVOD DO JAZYKA SQL

9

PRÁCE S DATABÁZÍ NASTAVENÍ AKTIVNÍ

DATABÁZE

USE POKUS;

Page 10: MySQL ÚVOD DO JAZYKA SQL

10

TABULKY

Page 11: MySQL ÚVOD DO JAZYKA SQL

11

TVORBA DATABÁZOVÉ TABULKY

CREATE TABLE [SCHEMA.] NÁZEV_TABULKY

(

NÁZEV_SLOUPCE DATOVÝ_TYP [DEFAULT VÝRAZ]NÁZEV_SLOUPCE DATOVÝ_TYP [DEFAULT VÝRAZ]……NÁZEV_SLOUPCE DATOVÝ_TYP [DEFAULT VÝRAZ]

)

NEPOVINNÉ ČÁSTI JSOU V HRANATÝCH ZÁVORKÁCH

VOLBA DEFAULT SPECIFIKUJE IMPLICITNÍ HODNOTU, KTERÁ SE UPLATNÍ PŘI VKLÁDÁNÍ NOVÉHO ŘÁDKU V SITUACI, KDY NEBUDE PRO DOTYČNÝ SLOUPEC ZADÁNA ŽÁDNÁ KONKRÉTNÍ HODNOTA

Page 12: MySQL ÚVOD DO JAZYKA SQL

12

PŘÍKLAD TVORBY TABULKY

CREATE TABLE CISLA (ID INT)

V ZÁVORKÁCH NALEZNETE SEZNAM NADEFINOVANÝCH POLÍ ( S PŘIDĚLENÝM DATOVÝM TYPEM), KTERÉ JSOU OD SEBE ODDĚLENY ČÁRKAMI. CELÝ PŘÍKAZ SE ODDĚLUJE STŘEDNÍKEM.

NAPŘ. CREATE TABLE DALŠÍ (ID INT, POPIS TEXT) COMMENT= TOTO JE KOMENTÁŘ K TABULCE.

Page 13: MySQL ÚVOD DO JAZYKA SQL

13

ČÍSELNÉ DATOVÉ TYPY 1

Název datového typu Interval Zabíraná paměť

TINYINT - 128 až 127 1 bajt

SMALLINT - 32768 až 32767 2 bajty

MEDIUMINT - 8388608 až 8388607 3 bajty

INT - 2147483648 až 2147483647 4 bajty

INTEGER - 2147483648 až 2147483647 4 bajty

BIGINT - 9223372036854775808 až 9223372036854775807

8 bajtů

FLOAT (M, D) Dle použitých hodnot 4 bajty

DOUBLE (M, D) Dle použitých hodnot 8 bajtů

REAL (M, D) Dle použitých hodnot 8 bajtů

DECIMAL (M, D) Dle použitých hodnot Dle hodnoty M + 2

NUMERIC (M, D) Dle použitých hodnot Dle hodnoty M + 2

Page 14: MySQL ÚVOD DO JAZYKA SQL

14

ČÍSELNÉ DATOVÉ TYPY 2

Název datového typu Interval

TINYINT 0 až 255

SMALLINT 0 až 65535

MEDIUMINT 0 až 16777215.

INT 0 až 4294967295

INTEGER 0 až 4294967295

BIGINT 0 až 18446744073709551615

Page 15: MySQL ÚVOD DO JAZYKA SQL

15

TEXTOVÉ DATOVÉ TYPY

Název datového typu Maximální velikost Zabíraná paměť

CHAR (X) 255 bajtů X bajtů

VARCHAR (X) 255 bajtů X+1 bajt (při uložení max. znaků)

TINYTEXT 255 bajtů X+1 bajt

TINYBLOB 255 bajtů X+1 bajt

TEXT 65535 bajtů X+2 bajty

BLOB 65535 bajtů X+2 bajty

MEDIUMTEXT 1,6 MB X+3 bajty

MEDIUMBLOB 1,6 MB X+3 bajty

LONGTEXT 4,2 GB X+4 bajty

LONGBLOB 4,2 GB X+4 bajty

Page 16: MySQL ÚVOD DO JAZYKA SQL

16

DATOVÉ TYPY DATUM A ČAS

Název datového typu Formát

DATETIME YYYY-MM-DD HH:MM:SS

DATE YYYY-MM-DD

TIMESTAMP proměnný

TIME HH:MM:SS

YEAR YYYY

Page 17: MySQL ÚVOD DO JAZYKA SQL

17

CREATE TABLE nazev_tabulky (nazev_sloupce datovy_typ,... )

TYPE=typ_tabulky;- MYISAM - standart MySQL od verze 3.23.0; soubory s tabulkami mají koncovku .myd (data) a .myi (indexy)- ISAM - standartní typ tabulky ve starších databázích; dnes nahrazen typem MYISAM- MERGE - formát vhodný pro spojení MYISAM tabulek se stejně nadefinovanými poli- HEAP - tabulka tohoto typu je uložena pouze v paměti (může být velmi rychlá), má ale řadu omezení- INNODB - uzamykání tabulky je vykonáváno na úrovni řádků; před použitím je nutná kompilace MySQL s podporou INNODB- BDB - typ tabulky podobný INNODB; zatím ve fázi testování- před nasazením jiného typu než MYISAM si prostudujte originální dokumentaci

TYPY TABULEK

Page 18: MySQL ÚVOD DO JAZYKA SQL

18

TVORBA DATABÁZOVÉ TABULKY - PŘÍKLAD

CREATE TABLE studenti (id NUMBER(10,0) NOT NULL,jméno VARCHAR2(20) NOT NULL,příjmení VARCHAR2(20) NOT NULL,bydliště VARCHAR2(50),rodné_číslo VARCHAR2(10) NOT NULL UNIQUE,PRIMARY KEY(id)

Page 19: MySQL ÚVOD DO JAZYKA SQL

19

RUŠENÍ TABULEK

DROP TABLE studenti;

Page 20: MySQL ÚVOD DO JAZYKA SQL

20

DESCRIBE nazev_tabulky;SHOW COLUMNS FROM nazev_tabulky;

- příkaz nám zobrazí definici požadované tabulky (názvy + datové typy + modifikátory)

VÝPIS POPISU TABULKY

DESCRIBE studenti;

SHOW COLUMNS FROM nazev_tabulky;

Page 21: MySQL ÚVOD DO JAZYKA SQL

21

NOVÝ SLOUPEC

ALTER TABLE knihovna ADD COLUMN cislo SMALLINT FIRST;

ALTER TABLE knihovna ADD COLUMN vydavatel VARCHAR(10);

ALTER TABLE knihovna ADD COLUMN zanr VARCHAR(10) AFTER kniha;

Page 22: MySQL ÚVOD DO JAZYKA SQL

22

NOVÝ SLOUPEC

ADD nazev_noveho_sloupce datovy_typ;.. ADD COLUMN nazev_noveho_sloupce datovy_typ;- příkaz přidá do tabulky nový sloupec- př.: ALTER TABLE knihovna ADD COLUMN vydavatel VARCHAR(10);- modifikátory:.. FIRST- přidá nový sloupec na začátek tabulky- př.: ALTER TABLE knihovna ADD COLUMN cislo SMALLINT FIRST;.. AFTER nazev_sloupce;- přidá nový sloupec za sloupec "nazev_sloupce"- př.: ALTER TABLE knihovna ADD COLUMN zanr VARCHAR(10) AFTER kniha;

Page 23: MySQL ÚVOD DO JAZYKA SQL

23

SMAZÁNÍ SLOUPCE

DROP nazev_odstranovaneho_sloupce;.. DROP COLUMN nazev_odstranovaneho_sloupce;

- příkaz odebere požadovaný sloupec- př.: ALTER TABLE knihovna DROP vydavatel;

ALTER TABLE knihovna DROP vydavatel;

Page 24: MySQL ÚVOD DO JAZYKA SQL

24

ZMĚNA PARAMETRŮ

CHANGE nazev_sloupce novy_nazev_sloupce nove_nastaveni;

- změní datový typ a může sloupec i přejmenovat- př.: ALTER TABLE knihovna CHANGE kniha knihy VARCHAR(30) NOT NULL;

ALTER TABLE knihovna CHANGE kniha knihy VARCHAR(30) NOT NULL;

Page 25: MySQL ÚVOD DO JAZYKA SQL

25

MODIFIKACE PARAMETRŮ

MODIFY nazev_sloupce nove_nastaveni;

- u požadovaného sloupce změní datový typ- př.: ALTER TABLE knihovna MODIFY kniha VARCHAR(30) NOT NULL;

ALTER TABLE knihovna MODIFY kniha VARCHAR(30) NOT NULL;

Page 26: MySQL ÚVOD DO JAZYKA SQL

26

PŘEJMENOVÁNÍ TABULKY

RENAME novy_nazev_tabulky;

- příkaz přejmenuje požadovanou tabulku- př.: ALTER TABLE knihovna RENAME knihovnicka;

ALTER TABLE knihovna RENAME knihovnicka;

Page 27: MySQL ÚVOD DO JAZYKA SQL

27

INDEXY A KLÍČE V TABULKÁCH

SHOW KEYS FROM nazev_tabulky;SHOW INDEX FROM nazev_tabulky;

- vypíše podrobné informace o primárních klíčích a indexech v tabulce

Page 28: MySQL ÚVOD DO JAZYKA SQL

28

ZAMYKÁNÍ TABULEK

LOCK TABLES nazev_tabulky READ, nazev_tabulky WRITE;

-uzamkne vyjmenované tabulky pro čtení (READ), nebo zápis (WRITE)- po uzamknutí mají právo čtení, nebo zápisu v tabulce pouze ty příkazy, které se nachází mezi LOCK ... UNLOCKUNLOCK TABLES;

-- odemčení všech zamčených tabulekBEGIN; dotaz1; dotaz2; dot...; COMMIT;- pouze u typu tabulky InnoDB- všechny dotazy se vykonají pouze za předpokladu, že se spojení MySQL nepřeruší až do vykonání COMMIT- pokud je spojení během dotazování přerušeno, neprovede se ani jeden dotaz mezi BEGIN a COMMITSELECT co_nacist FROM odkud_nacist LOCK IN SHARE MODE;- pouze u typu tabulky InnoDB- dotaz počká až se dokončí právě probíhající dotazy a až potom načte záznam

Page 29: MySQL ÚVOD DO JAZYKA SQL

29

PŘÍKLAD TVORBY TABULKY BONDOVKY

CREATE TABLE BONDOVKY

(

CISLO INT PRIMARY KEY,

NAZEV VARCHAR (40),

HEREC VARCHAR (10),

ROK INT

);

Page 30: MySQL ÚVOD DO JAZYKA SQL

30

JAK NAPLNIT TABULKU DATY

KE VKLÁDÁNÍ DAT DO TABULEK SLOUŽÍ PŘÍKAZ INSERT INTO název tabulky VALUES (hodnota_sloupce1 )

INSERT INTO bondovky VALUES (1, "Dr. No", "Connery", 1962);

Page 31: MySQL ÚVOD DO JAZYKA SQL

31

MAZÁNÍ ZÁZNAMU

DELETE FROM studenti;

DELETE FROM studenti WHERE id=25;

DELETE FROM studenti WHERE id=25 OR bydliště IS NULL;

Page 32: MySQL ÚVOD DO JAZYKA SQL

32

ZMĚNA ZÁZNAMU

UPDATE studenti SET bydliště=null;

UPDATE studenti SET jméno='Pavel' WHERE id=25;

UPDATE studenti SET bydliště='Lomec 26', jméno='Pavel'WHERE id=25 AND bydliště IS NOT NULL;

Page 33: MySQL ÚVOD DO JAZYKA SQL

33

(1, "Dr. No", "Connery", 1962);(2, "From Russia With Love„, "Connery„, 1963);(3, "Goldfinger„, "Connery„, 1964);(4, "Thunderball„,"Connery", 1965);(5, „You Only Live Twice", "Connery", 1967);(6, "On Her Majesty's Secret Service", "Lazenby„, 1969); (7, "Diamonds Are Forever", "Connery", 1971);(8, "Live And Let Die", "Moore", 1973);(9, "The Man With The Golden Gun", "Moore", 1974); (10, "The Spy Who Loved Me„, "Moore„, 1977);11, "Moonraker„, "Moore„, 1979);(12, "For Your Eyes Only", "Moore" , 1981);(13, "Octopussy". "Moore" , 1983);(14, "A View To A Kill„, "Moore". 1985);(15, "The Living Daylights", „Dalton", 1987);(16, "Licence To Kill". „Dalton", 1989);(17, "GoldenEye", "Brosnan„, 1995);(18, "Tomorrow Never Dies„, "Brosnan". 1997);(19, "The One World Is Not Enough" , "Brosnan„, 1999); (20, „Die Another Day„, "Brosnan“, 2002);

NAPLŇTE TABULKU DATY

Page 34: MySQL ÚVOD DO JAZYKA SQL

34

VÝPIS ZÁZNAMŮ Z TABULKY

PŘÍKLAD:_ SELECT HEREC FROM BONDOVKY

SELECT * FROM BONDOVKY

Page 35: MySQL ÚVOD DO JAZYKA SQL

35

VÝPIS ZÁZNAMŮ Z TABULKY

SELECT – SLOUŽÍ K VÝBĚRU ZÁZNAMŮ

FROM – SPECIFIKUJE MÍSTO KDE SE POŽADOVANÉ INFORMACE NACHÁZEJÍ

WHERE – URČUJE PODMÍNKY

= ROVNOST WHERE (ROK = 1990)

<> NEROVNOST WHERE (ROK <> 1990)

> VĚTŠÍ WHERE (ROK>1990)

< MENŠÍ WHERE(ROK <1990)

BETWEEN PATŘÍ DO INTERVALU (ROK BETWEEN 1990 AND 2000)

NOT BETWEEN NEPATŘÍ DO INTERVALU

Page 36: MySQL ÚVOD DO JAZYKA SQL

36

PŘÍKLAD

SELECT * FROM BONDOVKY WHERE ROK >=1990;

Page 37: MySQL ÚVOD DO JAZYKA SQL

37

ÚPRAVA TABULKY

VYTVOŘTE NOVOU TABULKU BONDOVKY1

CREATE TABLE BONDOVKY

(

CISLO INT AUTO_INCREMENT PRIMARY KEY,

NAZEV VARCHAR (40),

HEREC VARCHAR (10),

ROK INT

);

ZAJIŠŤUJE AUTOMATICKOU INKREMENTACI HODNOT.

Page 38: MySQL ÚVOD DO JAZYKA SQL

38

JAK NAPLNIT TABULKU DATY

KE VKLÁDÁNÍ DAT DO TABULEK SLOUŽÍ PŘÍKAZ INSERT INTO název tabulky (NÁZVY JEDNOTLIVÝCH SLOUPCŮ) VALUES (hodnota_sloupce1 )

Příklad JINÉ SYNTAXE:

INSERT INTO BONDOVKY1 (NAZEV, HEREC, ROK) VALUES ( "Dr. No", "Connery", 1962);

KDYBYCHOM PRO TENTO PŘÍPAD POUŽILI PŮVODNÍ SYNTAXI OHLÁSIL BY DBF SERVER CHYBU.

Page 39: MySQL ÚVOD DO JAZYKA SQL

39

LITERATURA

http://mm.gene.cz/


Recommended