19 Flashcards
(10 cards)
Co je sql
- SQL (Structured Query Language) = Jedná se o strukturovaný dotazovací jazyk používaný pro práci s daty v relačních databázích.
- Pořadí v SQL skriptu: SELECT -> FROM -> WHERE -> GROUP BY -> HAVING -> ORDER BY
Přikazy pro vytoření a zrušení databáze
CREATE DATABASE [Název];
USE DATABASE [Název];
DROP DATABASE [Název];
Vytvoření a zrušení tabulky
CREATE TABLE [Název]
(
ID_Uzivatel int not null primary key,
Jmeno varchar(64) not null,
Prijmeni varchar(64) not null,
Vek tinyint not null,
Telefon varchar(32) null
);
DROP TABLE [Název];
Změna v tabulce
CREATE TABLE [Název]
(
ID_Uzivatel int not null primary key,
Jmeno varchar(64) not null,
Prijmeni varchar(64) not null,
Vek tinyint not null,
Telefon varchar(32) null
);
DROP TABLE [Název];
Vložení dat do tabulky
INSERT INTO Zakaznici (ID, vek) VALUES (1, 20) (vložení hodnot do specifických sloupců tabulky)
INSERT INTO Zakaznici VALUES (…) do všech sloupců
Úprava dat v tabulce
UPDATE Zakaznici SET Jmeno = ‘Jakub‘ (Nastaví jméno Jakub všem řádkům ve sloupci Jmeno)
UPDATE Zakaznici SET Jmeno = ‘Jakub‘ WHERE ID = 3 (Jen tam, kde je ID = 3)
UPDATE Zakaznici SET Jmeno = ‘Jakub‘, Prijmeni = ‘Horak‘
odstranění z tabulky
DELETE FROM Zakaznici WHERE Vek = 20 (Je nutné použít podmínku WHERE, jinak se z tabulky smažou všechny data)
Výběr z tabulky
SELECT * FROM Zakaznici
SELECT DISTINCT Jmeno, Prijmeni FROM Zakaznici (DISTINCT - Odstraní na výstupu duplicitní řádky)
SELECT Jmeno, Prijmeni FROM Zakaznici WHERE Vek < 20
GROUP BY Jmeno, Prijmeni
HAVING [doplňující podmínka]
ORDER BY Jmeno [Způsob seřazení výsledků – DESC nebo ASC]
- SELECT Jmeno + ‘ ‘ + Prijmeni AS ‘Celé jméno‘ (Spojí Jmeno a Prijmeni do jednoho sloupce s nazvem Celé Jméno)
- Restrikce dat (pomínka):
SELECT * FROM Zakaznici WHERE [=,<,>,IS NULL, IS NOT NULL, BETWEEN, LIKE, NOT LIKE, AND, OR]
SELECT * FROM Zakaznici WHERE jmeno
LIKE [A-D]% (Hledá vše co začíná na A, B, C nebo D a má za sebou libovolný počet znaků)
LIKE [1]_ (Hledá vše co začíná na 1 a má za sebou ještě jeden libovolný znak)
LIKE [^ 4-8] (Hledá vše kromě intervalu 4 - 8)
Jaké máme integritní omezení
- NOT NULL = hodnota nesmí být nulová
- UNIQUE = hodnota musí být unikátní v rámci všech řádků v tabulce
- PRIMARY KEY = definuje primátní klíč, prakticky NOT NULL a UNIQUE dohromady
- REFERENCES, FOREIGN KEY = definuje cizí klíč (referenční atributy musí být kompatibilní)
- Při aktualizaci tabulky referující nebo referované může nastat porušení integrity cizích klíčů,
např. Pokud by jsme chtěli smazat záznam z referované tabulky, když pro mazanou hodnotu klíče existuje nějaká reference, tak to vyhodí chybu, toto se může ošetřit integritním omezením ON DELETE / ON UPDATE [CASCADE / SET NULL]
Jaké máme modifikatory v sql
- IDENTITY (Počáteční hodnota, počet o kolik zvýšit) = Při vložení nového záznamu vytvoří unikátní číslo o definovanou hodnotu větší než předešlé
- DEFAULT = Nastaví se předdefinované hodnota
- ZEROFILL = Zobrazuje nuly před čísly, chceme li třeba číslo 23 zobrazit jako 000023, musíme jej definovat jako INT(6) ZEROFILL
- BINARY = Umožnuje ukládání textu jako binárního řetězce