Úvod do tabulky v SQL
V systému správy relačních databází se tabulka používá k efektivnímu a účinnému ukládání dat, takže je lze v případě potřeby snadno získat. Tabulka je soubor souvisejících dat a data jsou uspořádána do řádků a sloupců. Tuple nebo záznam v tabulce je jediný záznam, kde tuple představuje sadu souvisejících dat. V tabulce v SQL se primární klíč používá k jedinečné identifikaci záznamů, zatímco cizí klíč se používá k odkazu na data z jiné tabulky.
Jak vytvořit tabulku v SQL?
Syntaxe pro vytvoření tabulky je následující:
CREATE TABLE table_name (
COLUMN1 datatype PRIMARY KEY,
COLUMN2 datatype,
COLUMN3 datatype,
……
);
Vytvořme tabulku „STUDENTY“, jak je uvedeno níže:
CREATE TABLE STUDENTS (
ROLL INT PRIMARY KEY,
NAME VARCHAR (50),
AGE INT,
SUBJECT VARCHAR (50)
);
Do tabulky 'STUDENTY' můžeme vložit hodnoty takto:
INSERT INTO STUDENTS VALUES (8, 'Ram', 12, 'ENG');
INSERT INTO STUDENTS VALUES (11, 'Priya', 11, 'MATH');
INSERT INTO STUDENTS VALUES (9, 'Rahul', 10, 'SCIENCE');
Po vložení dat můžeme vidět data vložená do tabulky níže:
SELECT * FROM STUDENTS;
VÁLEC | NÁZEV | STÁŘÍ | PŘEDMĚT |
8 | RAM | 12 | ANGLIČTINA |
11 | Priya | 11 | MATEMATIKA |
9 | Rahul | 10 | VĚDA |
Jak zahodit tabulku v SQL?
Syntaxe pro zrušení tabulky je následující:
DROP TABLE table_name;
DROP TABLE STUDENTS;
Výše uvedený dotaz zruší tabulku „STUDENTY“, tj. Vymažou se data a definice tabulky. Musíme tedy být opatrní před provedením příkazu drop, protože všechny informace týkající se tabulky budou z databáze odstraněny.
Jak odstranit tabulku v SQL?
Použijeme-li příkaz DELETE bez klauzule WHERE, budou odstraněny všechny řádky tabulky, ale struktura tabulky zůstane stejná. Syntaxe je stejná jako níže:
DELETE FROM table_name;
Příkaz delete se používá v SQL k odstranění záznamů, které aktuálně existují v tabulce. Kdykoli vznikne požadavek a nechceme určité záznamy, použije se příkaz delete a spolu s klauzulí Where tyto záznamy odstraní. Syntaxe je stejná jako níže:
DELETE FROM table_name WHERE (condition);
DELETE FROM STUDENTS WHERE SUBJECT= 'MATH';
Výše uvedený dotaz poskytne následující výsledek:
VÁLEC | NÁZEV | STÁŘÍ | PŘEDMĚT |
8 | RAM | 12 | ANGLIČTINA |
9 | Rahul | 10 | VĚDA |
Jak přejmenovat tabulku v SQL?
Stává se tak, že někdy po vytvoření tabulky ji chceme přejmenovat. Příkaz ALTER TABLE se používá k přejmenování tabulky.
ALTER TABLE table_name RENAME TO table_name_new;
Pokud chceme změnit název tabulky „STUDENTY“, lze to provést níže.
ALTER TABLE STUDENTS RENAME TO STUDENT_NEW;
Jak zkrátit tabulku v SQL?
Když vznikne potřeba odstranit data uvnitř tabulky a struktura tabulky, jako jsou sloupce atd., Musí zůstat tak jak je, můžeme použít příkaz TRUNCATE, který odstraní pouze data z tabulky, ale nikoli z tabulky.
Syntaxe pro použití příkazu TRUNCATE je následující:
TRUNCATE TABLE table_name;
TRUNCATE TABLE STUDENTS;
Výše uvedený dotaz odstraní data z tabulky „STUDENTY“. Tabulka by po operaci TRUNCATE vypadala takto:
SELECT * FROM STUDENTS;
VÁLEC | NÁZEV | STÁŘÍ | PŘEDMĚT |
Jinými slovy lze také říci, že příkaz TRUNCATE provádí stejnou operaci, kterou lze provést pomocí příkazu DELETE, ale bez použití klauzule WHERE.
Výhodou použití příkazu TRUNCATE je, že nemusíme tabulku zrušit a tabulku znovu vytvořit. Rovněž je to účinný způsob, jak vymazat záznamy z tabulky v případech, kdy se nemusíme obávat vrácení peněz.
Jak změnit tabulku v SQL?
Pomocí příkazu ALTER tabulka upravíme sloupce, které aktuálně existují v tabulkách. Také se stejným příkazem můžeme v tabulce zrušit nebo přidat různá omezení.
Níže je uvedena syntaxe pro přidání nového sloupce do stávající tabulky:
ALTER TABLE table_name ADD (column_name1 datatype, column_name2 datatype… column datatype);
Přidáme další sloupec „ADRESA“ do existující tabulky „STUDENTY“.
ALTER TABLE STUDENTS ADD ADDRESS VARCHAR (50);
SELECT * FROM STUDENTS;
VÁLEC | NÁZEV | STÁŘÍ | PŘEDMĚT | ADRESA |
8 | RAM | 12 | ANGLIČTINA | |
11 | Priya | 11 | MATEMATIKA | |
9 | Rahul | 10 | VĚDA |
Ve výše uvedeném dotazu se do tabulky přidá sloupec ADRESA.
Pokud chceme vypustit sloupec, lze to provést pomocí níže uvedené syntaxe:
ALTER TABLE table_name DROP COLUMN column_name;
Podívejme se na níže uvedený příklad přetažením sloupce ADRESA.
ALTER TABLE table_name DROP COLUMN ADDRESS;
Výše uvedený dotaz poskytne níže uvedený výsledek.
VÁLEC | NÁZEV | STÁŘÍ | PŘEDMĚT |
8 | RAM | 12 | ANGLIČTINA |
11 | Priya | 11 | MATEMATIKA |
9 | Rahul | 10 | VĚDA |
Zde vidíme, že tabulka je upravena, protože sloupec ADDRESS je nyní odstraněn z tabulky „STUDENTY“.
Pomocí příkazu ALTER můžeme upravit jeden nebo více sloupců najednou.
Syntaxe pro úpravu sloupce je uvedena níže.
ALTER TABLE STUDENTS MODIFY column_name datatype;
ALTER TABLE STUDENTS MODIFY SUBJECT VARCHAR (30);
Jak načíst data z tabulky v SQL?
V SQL je příkaz SELECT používán jako jeden z flexibilních mechanismů pro načítání dat z tabulek v databázích. Syntaxe dotazu s SELECT je následující:
SELECT column1, column2… FROM table_name;
Do výše uvedeného dotazu musíme vložit sloupce, pro které chceme načíst data z tabulky. Pokud chceme načíst data pro všechny sloupce nebo data z celé tabulky, můžeme tak učinit pomocí níže uvedené syntaxe:
SELECT * FROM table_name;
SELECT * FROM STUDENTS;
VÁLEC | NÁZEV | STÁŘÍ | PŘEDMĚT |
8 | RAM | 12 | ANGLIČTINA |
11 | Priya | 11 | MATEMATIKA |
9 | Rahul | 10 | VĚDA |
Použitím zástupného znaku - „*“ se načtou všechny řádky a sloupce tabulky „STUDENTY“. Toto je nejjednodušší forma příkazu SELECT. Pokud však vznikne požadavek, kdy musíme omezit načítání dat podle několika specifických podmínek, musíme použít klauzuli WHERE. Syntaxe je následující:
SELECT column1, column2…
FROM table_name
WHERE (condition);
Podívejme se, jak načíst data se zadanou podmínkou pomocí výše uvedeného dotazu. Předpokládejme, že chceme vybrat studentovu ROLL a PŘEDMĚT, jehož věk je větší než 10 z tabulky „STUDENTI“.
SELECT ROLL, SUBJECT FROM STUDENTS WHERE AGE > 10;
Výše uvedený dotaz omezí výsledky pouze pro studenty, jejichž věk je více než 10 let. Zde klauzule 'WHERE' omezí výsledek dotazu na zadanou podmínku.
VÁLEC | NÁZEV | STÁŘÍ | PŘEDMĚT |
8 | RAM | 12 | ANGLIČTINA |
11 | Priya | 11 | MATEMATIKA |
Jak kopírovat tabulku v SQL?
Data můžeme zkopírovat z jedné tabulky do druhé pomocí příkazů SELECT INTO nebo INSERT INTO. Při použití příkazu SELECT INTO databáze nemusí mít cílovou tabulku, do které budou data zkopírována. V případě použití příkazu INSERT INTO by však v databázi měla existovat cílová tabulka, do které budou data zkopírována.
SELECT * INTO table_new FROM table_old;
Výše uvedený dotaz zkopíruje všechny sloupce z table_old na table_new.
Pokud chceme zkopírovat pouze několik sloupců z jedné do druhé tabulky, můžeme použít níže uvedenou syntaxi:
SELECT column1, column2… INTO table_new FROM table_old;
Vezměme si příklad, kde chceme zkopírovat data z tabulky do jiné tabulky „STUDENT_DETAILS“ a lze je provést níže:
SELECT * INTO STUDENT_DETAILS FROM STUDENTS;
Následující tabulka „STUDENT_DETAILS“ se vytvoří takto:
VÁLEC | NÁZEV | STÁŘÍ | PŘEDMĚT |
8 | RAM | 12 | ANGLIČTINA |
11 | Priya | 11 | MATEMATIKA |
9 | Rahul | 10 | VĚDA |
Syntaxe pro kopírování dat pomocí příkazu INSERT INTO je následující:
INSERT INTO table_new(column1, column2… )
SELECT column1, column2… FROM table_old WHERE (condition);
Jak bylo uvedeno výše, příkaz INSERT INTO bude vyžadovat, aby byla přítomna cílová tabulka, nejdřív musíme v databázi vytvořit strukturu cílové tabulky. Po vytvoření struktury tabulky STUDENT_DETAILS jdeme na dotaz níže.
INSERT INTO STUDENT_DETAILS (ROLL, NAME, AGE)
SELECT ROLL, NAME, AGE FROM STUDENTS
WHERE SUBJECT = 'SCIENCE';
Výše uvedený dotaz poskytne následující výsledek:
VÁLEC | NÁZEV | STÁŘÍ | PŘEDMĚT |
9 | Rahul | 10 | VĚDA |
Měli bychom si to všimnout, že při použití příkazu INSERT INTO se datové typy sloupců ve zdrojových a cílových tabulkách musí vzájemně shodovat.
Závěr
V RDBMS umožňují tabulky co nejefektivnější ukládání, získávání, údržbu a manipulaci s daty. S využitím různých příkazů můžeme data uspořádat a manipulovat podle obchodních požadavků. Je na projektantovi / vývojáři, aby viděl flexibilitu různých příkazů a operací, aby vybral pro své návrhy a implementace to nejlepší.
Doporučené články
Toto je průvodce tabulkou v SQL. Zde diskutujeme tabulky Úvod a Jak vytvořit, zrušit, odstranit, přejmenovat, zkrátit, změnit, načíst data a kopírovat v SQL. Další informace naleznete také v následujících článcích -
- Cizí klíč v SQL
- Transakce v SQL
- Zobrazení SQL
- Databáze v SQL
- Příklady INSERT v Oracle