SQLShack

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:

INSERT INTO TABLE - data model

INSERT INTO TABLE - data model

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:

VLOŽIT DO TABULKY - země

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:

Město

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:

SELECT

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:

země Excel

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 & „‚);“

města Excel

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
Emil Drkusic
Emil je databáze professional s 10+ let zkušeností v vše, co souvisí s databází. V průběhu let pracoval v IT a finančním průmyslu a nyní pracuje na volné noze.
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

Emil Drkusic
Nejnovější příspěvky Emil Drkusic (viz všechny)
  • 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

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.

More: