V předchozím článku jsme vytvořili dva stoly, a teď jsme připraveni použít SQL INSERT INTO TABULKA velení a naplnění těchto tabulek s daty. Za tímto účelem připravíme příkazy v aplikaci Excel a tyto příkazy vložíme do serveru SQL Server a provedeme je. Zkontrolujeme také obsah obou tabulek před a po těchto příkazech pomocí příkazu SELECT. Takže začneme.
vložit do tabulky příkaz
nemá smysl vytvářet databázové struktury a nemít v databázi Žádná data. Příkaz Vložit do tabulky je ten, který použijeme k vyřešení tohoto problému. Je to jeden z čtyři důležité SQL DML (Data Manipulation Language) příkazy SELECT, INSERT DO TABULKY, AKTUALIZACE …, a ODSTRANIT Z… kompletní syntaxe je docela složité, protože-li VLOŽIT DO může být také velmi složitý prohlášení. Prosím, podívejte se na T-SQL vložit do tabulky kompletní syntaxi zde.
V tomto článku budeme používat zjednodušené, ale také nejběžnější syntaxe:
INSERT INTO jméno_tabulky (column_list) HODNOTY (column_values);
V takovém li VLOŽIT DO prohlášení, musíte definovat table_name, kde jsi vložení údajů do seznamu všech sloupců (možná budete používat všechny z nich, ale možná, že jen málo z nich), a pak seznam všech hodnot. Všimněte si, že hodnoty sloupců by měly odpovídat definici typů sloupců (např. nemůžete vložit textovou hodnotu do číselného sloupce / atributu).
V případě, že jste vložení všech hodnot v tabulce, nemusíte seznam všech sloupců po table_name a můžete použít ještě více zjednodušená syntaxe:
INSERT INTO jméno_tabulky VALUES (column_values);
já osobně raději vypisovat všechny názvy sloupců, protože tento přístup bude fungovat i když jsme přidat nové sloupce do existující tabulky.
-
Poznámka: INSERT INTO TABLE by mohla být napsána takovým způsobem, jsme-li vložit více řádků s 1 prohlášení nebo i v kombinaci s SELECT.
zjednodušené syntaxe pro jeden takový případ, kde INSERT a SELECT jsou kombinovány je uveden níže:
VLOŽIT DO destination_table (column_list, …)
VYBERTE column_list
Z source_table
, KDE podmínkou;
VLOŽIT DO TABULKY příklad
Než něco dělat, pojďme se podívat, co je uloženo v našich tabulkách. Toto je model, který jsme vytvořili v předchozím článku. Můžete vidět, že máme jednu tabulku, kde budeme ukládat data týkající se zemí a další pro data týkající se měst. Oni jsou také spojeny k sobě navzájem, ale o tom si povíme v následujícím článku:
s cílem, aby se zkontroloval obsah těchto dvou tabulek, budeme používat dva jednoduché příkazy SELECT:
1
2
|
VYBERTE * Z země;
SELECT * FROM city;
|
Zatímco VÝBĚR není tématem tohoto článku, je třeba zmínit, že jeho základní syntaxe je:
VYBERTE 1 nebo více atributů Z tabulky;
hvězda ( * ), poté VYBERTE představuje, že chceme zobrazit hodnoty všech atributů/sloupců z tabulky v dotazu výsledek.
jak se očekávalo, v těchto dvou tabulkách není nic a SQL Server vrátí výsledek, jak je znázorněno na obrázku níže. Příkazy vracejí názvy sloupců z tabulek, které jsme použili v dotazu SELECT, ale pod těmito názvy sloupců není nic. Můžete se na to podívat jako na prázdný list aplikace Excel s definovanými názvy sloupců (záhlaví). Víte, jaký typ dat by tam měl být, ale není nic:
teď to budeme muset změnit.
nejprve vyplníme tabulku zemí pomocí následujícího vložení do příkazů tabulky:
1
2
3
4
5
|
VLOŽIT DO země (country_name, country_name_eng, country_code) HODNOTY („Deutschland“, „Německo“, ‚DEU‘);
VLOŽIT DO země (country_name, country_name_eng, country_code) VALUES (‚Srbsko‘, ‚Srbsko‘, ‚ZÁZNAMY‘);
VLOŽIT DO země (country_name, country_name_eng, country_code) VALUES (‚Hrvatska‘, ‚Chorvatsko‘, ‚CHOR‘);
VLOŽIT DO země (country_name, country_name_eng, country_code) VALUES (‚Spojené státy Americké‘, ‚Spojené státy Americké‘, ‚USA‘);
VLOŽIT DO země (country_name, country_name_eng, country_code) VALUES (‚Polsko‘, ‚Polsko‘, ‚POL‘);
|
Údaje o pěti zemích byly úspěšně vloženy. Výsledek je zobrazen na obrázku níže. Protože jsme měli 5 vložit do příkazů tabulky, máme pro každý z těchto pěti příkazů v sekci “ Zprávy:
vezměte Prosím na vědomí, že všechny hodnoty (HODNOT) byly objednány ve stejné způsobem, v němž jsme uvedli sloupce (po VLOŽENÍ DO země). Všechny tři hodnoty jsou texty. Dotaz by fungoval, i když jsme je nenařídili správným způsobem, protože všechny mají stejný datový typ (text), ale data by byla uložena ve špatných sloupcích. V tom případě bychom měli sémantickou chybu.
další věc, kterou musíme udělat, je naplnit tabulku města. Uděláme to pomocí následujících příkazů:
1
2
3
4
5
6
|
VLOŽTE DO města (city_name, lat, dlouhé, country_id) VALUES (‚Berlin‘, 52.520008, 13.404954, 1);
VLOŽTE DO města (city_name, lat, dlouhé, country_id) VALUES (‚Bělehrad‘, 44.787197, 20.457273, 2);
VLOŽTE DO města (city_name, lat, dlouhé, country_id) VALUES (‚Záhřebu‘, 45.815399, 15.966568, 3);
VLOŽTE DO města (city_name, lat, dlouhé, country_id) VALUES (‚New York‘, 40.73061, -73.935242, 4);
VLOŽTE DO města (city_name, lat, dlouhé, country_id) VALUES (‚Los Angeles‘, 34.052235, -118.243683, 4);
VLOŽTE DO města (city_name, lat, dlouhé, country_id) VALUES (‚Varšava‘, 52.237049, 21.017532, 5);
|
Po provedení těchto prohlášení, toto byl výsledek. Podle očekávání bylo přidáno 6 řádků. A ještě jednou máme 1 zprávu pro každou vložku v sekci Zprávy:
V tomto případě, budeme mít problém, pokud nejsou uvedeny hodnoty stejným způsobem, máme uvedeny sloupce, protože jejich datové typy nejsou stejné (jsou – v pořadí: text, desetinné číslo, desetinné číslo, celé číslo). Tento typ chyby se nazývá chyba syntaxe a samotná DBMS by zabránila spuštění dotazu vůbec.
vyberte-zkontrolujte, co bylo vloženo
nyní znovu zkontrolujeme, co je uloženo v našich tabulkách. Použijeme stejné dva příkazy SELECT, jaké jsme použili dříve:
1
2
|
VYBERTE * Z země;
SELECT * FROM city;
|
výsledek je zobrazen v obrázku níže. Prosím všimněte si, že po provedení dotazů teď máme Výsledky a Zprávy oddíly pod dotazy:
můžeme konstatovat, že obě tabulky v databázi obsahují údaje, a teď jsme připraveni „hrát“ s něčím mnohem lepší než tohle.
VLOŽIT DO TABULKY pomocí aplikace Excel
V mnoha případech, budete muset spustit více SQL prohlášení na základě údajů poskytovaných na vás. To znamená nejen pro příkaz Vložit do tabulky, ale také pro příkazy aktualizovat a mazat. Nemá smysl psát tyto příkazy ručně, ale měli byste raději jít s chytřejším přístupem – připravit vzorce (nebo skript), které tuto část automatizují. V takových situacích dávám přednost použití Excelu a vzorců.
Poznámka: Osobně v kontextu databází považuji Excel za velmi užitečný, když potřebuji vytvořit více příkazů a při prezentaci výsledků a / nebo vytváření dashboardů.
Pojďme se podívat na tyto vzorce:
vzorec chcete-li vložit do první země (Německo) :
1
|
=“VLOŽIT DO země (country_name, country_name_eng, country_code) VALUES (‚“ & B2 & „‚, ‚“ & C2 & „‚, ‚“ & D2 & „‚);“
|
vzorec chcete-li vložit do prvního města (Berlín) :
1
|
=“VLOŽTE DO města (city_name, lat, dlouhé, country_id) VALUES (‚“ & B2 & „‚, “ & C2 & „, “ & D2 & „, “ & E2 & „);“
|
neváhejte použít tyto vzorce pro automatizaci vašich úkolů. Podobný přístup použijeme později, když spouštíme více příkazů UPDATE a DELETE (a dokonce i při vytváření příkazů SELECT).
Závěr
V tomto článku jsme se vztahuje jeden ze čtyř nejdůležitějších SQL –INSERT INTO TABLE. Použili jsme to k naplnění tabulek vytvořených v předchozím článku. To byl předpoklad k přechodu na chytřejší teorii databází, a co je důležitější, vracení výsledků z naší databáze.
v nadcházejícím článku budeme hovořit o primárním klíči-co to je a proč je v databázích důležité.
obsah
Naučte se SQL: CREATE DATABASE & VYTVOŘIT TABULKU Operací
Naučte se SQL: INSERT INTO TABLE
Naučte se SQL: Primární Klíč
Naučte se SQL: Cizí Klíč
Naučte se SQL: SELECT
Naučte se SQL: INNER JOIN vs left JOIN
Naučte se SQL: SQL Skripty
Naučte se SQL: Typy vztahů
Naučte se SQL: Připojte se k více tabulek
Naučte se SQL: Agregační Funkce
Naučte se SQL: Jak Napsat Složitější Dotaz SELECT
Naučte se SQL: INFORMATION_SCHEMA Databáze
Naučte se SQL: SQL Datové Typy
Naučte se SQL: Teorie množin
Naučte se SQL: Uživatelem Definované Funkce
Naučte se SQL: Uživatelem Definované Uložené Procedury
Naučte se SQL: SQL Pohledy
Naučte se SQL: SQL Triggery
Naučte se SQL: Praxe SQL Dotazů
Naučte se SQL: SQL Dotaz příklady
Naučte se SQL: Vytvořit zprávu ručně pomocí SQL dotazů
Naučte se SQL: SQL Server datum a čas funkce
Naučte se SQL: Create SQL Server zpráv pomocí funkce data a času
Naučte se SQL: SQL Server Kontingenční Tabulky
Naučte se SQL: SQL Server export do Excelu
Naučte se SQL: Úvod do SQL Server smyčky
Naučte se SQL: SQL Server Kurzory
Naučte se SQL: SQL Nejlepší Praktiky pro Mazání a Aktualizace dat
Naučte se SQL: Konvence
Naučte se SQL: SQL-Související pracovní Místa
Naučte se SQL: Non-Equi Spojení v serveru SQL Server
Naučte se SQL: SQL Injection
Naučte se SQL: Dynamické SQL
- Autor
- Poslední Příspěvky
jeho minulé i současné závazky se liší od návrhu a kódování databáze až po výuku, poradenství a psaní o databázích. Také nezapomeňte, BI, vytváření algoritmů, šachy, filatelie, 2 psi, 2 kočky, 1 manželka, 1 dítě…
můžete ho najít na LinkedIn
Zobrazit všechny příspěvky od Emila Drkusic
- Naučte se SQL: Dynamické SQL – 3. Března 2021
- Naučte se SQL: SQL Injection – 2. listopadu roku 2020
- Naučte se SQL: Non-Equi se připojí na SQL Server-září 29, 2020