SQL Server CREATE, ALTER, DROP Table [Příklady T-SQL]
⚡ Chytré shrnutí
Tabulky SQL Serveru ukládají data v řádcích a sloupcích. Transact-SQL používá příkaz CREATE TABLE k vytvoření tabulky, ALTER TABLE k přidání nebo změně sloupců a DROP TABLE k odebrání tabulky, jejích dat a struktury.

Co je to stůl?
Tabulka je objekt v SQL Server který ukládá data ve formátu řádků a sloupců. Níže uvedený diagram znázorňuje řádky a sloupce.
Jak vytvořit tabulku na serveru SQL pomocí T-SQL
Prvním krokem k ukládání dat je vytvoření tabulky v databáze kde budou data umístěna. Po vytvoření tabulky do ní můžete dále vkládat řádky.
Tabulku můžete vytvořit následujícími způsoby:
- T-SQL: vytvoření nové tabulky definováním všech sloupců a jejich datových typů.
- T-SQL: vytvoření nové tabulky s použitím existující tabulky.
- Používání návrháře tabulek.
Pojďme si to podrobně prostudovat.
T-SQL: Vytvoření nové tabulky definováním všech sloupců a jejich datových typů
Níže je uvedena syntaxe pro vytvoření tabulky v SQL Serveru.
Syntaxe:
CREATE TABLE tableName ( column_1 datatype [ NULL | NOT NULL ], column_2 datatype [ NULL | NOT NULL ], ... );
Zde,
- Parametr tableName označuje název tabulky, kterou se chystáte vytvořit.
- Parametry column_1, column_2… označují sloupce, které mají být přidány do tabulky.
- Sloupec by měl být zadán buď jako NULL, nebo NOT NULL. Pokud nezadáte hodnotu, SQL Server použije jako výchozí hodnotu NULL.
Vytvořme si základní tabulku se dvěma sloupci.
Dotaz:
CREATE TABLE COURSE ( Course_ID Int, Course_Name Varchar(10) )
Předpoklad: Vyberte databázi, ve které chcete vytvořit tabulku.
Krok 1) Spusťte dotaz kliknutím na tlačítko Spustit. Před spuštěním dotazu neexistuje žádná tabulka, jak je znázorněno níže.
Po spuštění dotazu klikněte na tlačítko Obnovit; nová tabulka nyní existuje jako Kurz, jak je znázorněno níže.
Krok 2) Vložte nějaká data. Níže uvedené snímky obrazovky ukazují nově vytvořenou tabulku Kurz připravenou k přijímání řádků.
Zatím tabulka pouze existuje, ale zatím v ní nejsou žádná data.
Jazyk Transact-SQL poskytuje příkaz INSERT pro vkládání dat do tabulky. Pomocí tohoto příkazu můžete do tabulky vložit jeden nebo více řádků.
Syntaxe:
INSERT INTO tableName (column_1, column_2, ... ) VALUES (expression_1, expression_2, ... ), (expression_1, expression_2, ... ), ...;
Výše uvedená syntaxe ukazuje základní tvar příkazu při použití klíčového slova VALUES k vložení dat do tabulky.
Vložme čtyři řádky pomocí příkazu INSERT.
Insert into COURSE values (1,'SQL'); Insert into COURSE values (2,'Python'); Insert into COURSE values (3,'SQL'); Insert into COURSE values (4,'C');
Níže uvedený snímek ukazuje, že vložení čtyř řádků proběhlo úspěšně.
Krok 3) Pro zobrazení dat použijte příkaz SELECT. Pro zobrazení dat v SQL Serveru použijte následující syntaxi:
SELECT expression FROM tableName [WHERE condition];
Příklad dotazu:
SELECT * FROM COURSE;
Tabulka byla vytvořena a nyní obsahuje čtyři záznamy. Upozorňujeme, že můžete vytvořit záznamy s duplicitní hodnotou v libovolném sloupci, protože neexistují žádné omezení.
T-SQL: Vytvoření nové tabulky pomocí existující tabulky
Předpokládejme, že chcete další tabulku podobnou tabulce COURSE vytvořené výše, ale potřebujete pouze sloupec Course_Name a nikoli Course_ID.
Syntaxe:
SELECT (Column 1, …) INTO <New Table name> FROM <Old Table name>;
Příklad dotazu:
SELECT COURSE_NAME INTO COURSE_NAMES FROM COURSE;
Krok 1) Spusťte dotaz kliknutím na tlačítko Spustit. Vytvoří se nová tabulka s názvem COURSE_NAMES s jedním sloupcem a čtyřmi záznamy zkopírovanými ze starší tabulky, jak je znázorněno níže.
Příklad dotazu:
SELECT * FROM COURSE_NAMES;
Níže uvedený výsledek vypíše čtyři záznamy Course_Name v nové tabulce COURSE_NAMES.
Pomocí Návrháře tabulek
Tabulku můžete také vytvořit z SQL Server Management Studio IDE s použitím Návrháře tabulek.
Krok 1) Klikněte pravým tlačítkem myši na Tabulka > Nová > Tabulka, jak je znázorněno níže.
Krok 2) Zadejte názvy sloupců a typy data zvolte, zda každý sloupec povoluje hodnoty null.
Krok 3) Stiskněte CTRL+S pro uložení tabulky a zadejte název jako Název_kurzu.
Po kliknutí na tlačítko Obnovit se zobrazí nová tabulka s názvem Název_kurzu a jedním sloupcem s názvem Název_kurzu, jak je znázorněno níže.
Změnit tabulku v SQL Server
Existují dva způsoby, jak změnit tabulku v SQL Serveru:
- T-SQL: úprava tabulky přidáním nových sloupců.
- Používání návrháře tabulek.
T-SQL: Změňte tabulku vložením sloupců
Níže je uvedena syntaxe příkazu ALTER v SQL:
Syntaxe:
Alter TABLE <Table name> ADD Column1 datatype, Column2 datatype;
Dotaz:
ALTER TABLE dbo.Course_Title ADD Course_Duration VARCHAR(20);
Krok 1) Spusťte dotaz kliknutím na tlačítko Spustit. V tabulce Název_kurzu nyní existuje nový sloupec s názvem Trvání_kurzu, jak je znázorněno níže.
Pomocí Návrháře tabulek
Tabulku můžete také upravit z uživatelského rozhraní pomocí Návrháře tabulek.
Krok 1) Klikněte pravým tlačítkem myši na existující tabulku > Návrh, jak je znázorněno níže.
Krok 2) Přidejte název sloupce jako Datum_zahájení_kurzu a vyberte jeho datový typ.
Krok 3) Stisknutím kláves CTRL+S uložte nově přidaný sloupec. V tabulce Název_kurzu se vytvoří nový sloupec s názvem Datum_zahájení_kurzu, jak je znázorněno níže.
Odstranit tabulku v SQL Server
Tabulku odstraníte, když již není potřeba.
Existují dva způsoby, jak odstranit tabulku v SQL Serveru:
- Používání SQL Server Management Studia.
- T-SQL: smazání tabulky pomocí příkazu DROP TABLE.
Pomocí SQL Server Management Studio
Krok 1) Klikněte pravým tlačítkem myši na existující tabulku > Odstranit u tabulky s názvem Název_kurzu, jak je znázorněno níže.
Krok 2) V okně Odstranit objekt klikněte na tlačítko OK.
Tabulka Název_kurzu je nyní ze seznamu tabulek odstraněna, jak je znázorněno níže.
T-SQL: Smazání tabulky
Níže je uvedena syntaxe pro odstranění tabulky.
Syntaxe:
DROP TABLE <tableName>;
Parametr tableName je název tabulky, která má být odstraněna.
Dotaz:
DROP TABLE COURSE_NAMES;
Krok 1) Spusťte dotaz kliknutím na tlačítko Spustit. Tabulka COURSE_NAMES se ze seznamu tabulek odstraní, jak je znázorněno níže.
Alternativně zdroj ukazuje příkaz DELETE TABLE, který má odstranit pouze řádky (data) a zároveň ponechat strukturu tabulky neporušenou, takže tabulku lze později znovu použít.
Syntaxe:
DELETE TABLE <Table name>;
Poznámka: Ve standardním T-SQL se řádky odstraňují pomocí DELETE FROM <table>a stůl se rychle vyprázdní TRUNCATE TABLE <table>; celá tabulka se odstraní pomocí příkazu DROP TABLE, jak je znázorněno výše.
Zajímavosti!
- Velké soubory, jako například XML nebo obrázky, lze ukládat do sloupce pomocí datových typů velkých objektů, jako je VARBINARY(MAX), VARCHAR(MAX) nebo typ XML (SQL Server nepoužívá Oraclenázvy BLOB a CLOB ve stylu -).
- Příkaz DELETE odstraní pouze řádky a lze jej vrátit zpět v rámci transakce, zatímco příkaz DROP odstraní celou strukturu tabulky; v SQL Serveru lze dokonce i příkaz DROP vrátit zpět, pokud je spuštěn uvnitř explicitní transakce.
























