Jak psát dotazy SQL - podrobné příklady
Každý z nás pravidelně sráží a používá různé databáze. Když vybereme e-mailovou adresu, pracujeme s databází. Databáze používají vyhledávací služby, banky pro ukládání údajů o zákaznících atd.
Obsah
Ale i přes neustálé využívání databází i mnoho vývojářů softwarových systémů zůstává mnoho "bílých bodů" kvůli rozdílné interpretaci stejných termínů. Před zkoumáním jazyka SQL poskytneme stručnou definici hlavních pojmů databází. No, pak.
Databáze -souboru nebo souboru souborů pro ukládání uspořádaných datových struktur a jejich vzájemných vztahů. Velmi často se databáze nazývá systém správy databáze (DBMS). Databáze je pouze repozitář informací v určitém formátu a může pracovat s různými DBMS.
Tabulka -Představme si složku, ve které jsou uloženy dokumenty seskupené podle určité funkce, například seznam objednávek za poslední měsíc. Toto je tabulka v počítači databáze. Samostatná tabulka má jedinečný název.
Typ dat -Typ informací, které lze uložit v samostatném sloupci nebo řádku. Mohou to být čísla nebo text určitého formátu.
Sloupec a řetězec - všichni jsme pracovali s tabulkami, které obsahují také řádky a sloupce. Libovolná relační databáze pracuje s podobnými tabulkami. Řady se někdy nazývají záznamy.
Primární klíč - každý řádek tabulky může mít jeden nebo více sloupců pro svou jedinečnou identifikaci. Bez primárního klíče je velmi obtížné aktualizovat, měnit nebo odstranit požadované řádky.
Co je to SQL?
Jazyk dotazu SQL (Ing. Strukturovaný jazyk dotazů - strukturovaný dotazovací jazyk) byl navržen pouze pro práci s databázemi a je v současné době standardem pro všechny populární databáze. Syntaxe jazyka se skládá z malého počtu operátorů a snadno se učí. Ale navzdory jeho externí jednoduchosti umožňuje vytváření SQL dotazů pro komplexní operace s databázemi jakékoliv velikosti.
Od roku 1992 existuje obecně uznávaný standard nazvaný ANSI SQL. Definuje základní syntaxi a funkce operátorů a je podporován všemi vedoucími představiteli trhu v DBMS, jako je ORACLE Microsoft SQL Server. Je nemožné zvážit všechny funkce jazyka v jednom malém článku, a proto se krátce zamyslíme pouze se základními SQL dotazy. Příklady ilustrují jednoduchost a schopnosti jazyka:
- tvorba databází a tabulek;
- výběr vzorků;
- přidávání záznamů;
- úpravu a vymazání informací.
Typy dat SQL
Všechny sloupce v databázové tabulce ukládají jeden datový typ. Datové typy v SQL jsou stejné jako v jiných programovacích jazycích.
Typ dat | Popis |
INT | Celé číslo |
REAL | Čísla s pohyblivou čárou |
TEXT | Řetězec znaků s proměnnou délkou |
DATE | sql dotaz "datum" v různých formátech |
TIME | Čas |
CHAR | Textové řetězce s pevnou délkou |
Vytváření tabulek a databází
Nové databáze, tabulky a další dotazy můžete vytvořit v SQL dvěma způsoby:
- Příkazy SQL prostřednictvím konzoly DBMS
- Pomocí interaktivních nástrojů správy, které jsou součástí databázového serveru.
Nová operátor vytvoří novou databázi CREATE DATABASE
Tabulky vytvoříme uvnitř databáze pomocí příkazu CREATE TABLE s následujícími parametry:
- název tabulky
- názvy sloupců a typy dat
Jako příklad vytvořte tabulku komodit s následujícími sloupci:
Sloupec | Popis |
commodity_id | ID produktu |
vendor_id | ID dodavatele (dodavatelé externích kláves) |
název komodity | Název produktu |
commodity_price | Náklady |
commodity_desc | Popis |
Vytvořit tabulku:
CREATE COMMODITY TABULKA
(commodity_id CHAR (15) NE NULL,
vendor_id CHAR (15) NE NULL,
název komodity CHAR (254) NULL,
commodity_price DECIMAL (8,2) NULL,
commodity_desc VARCHAR (1000) NULL) -
Tabulka obsahuje pět sloupců. Po zadání názvu je datový typ sloupce odděleny čárkami. Hodnota sloupce může být null (NULL) nebo musí být vyplněna (NOT NULL), a to je určeno při vytvoření tabulky.
Výběr dat z tabulky
Operátor načítání dat je nejčastěji používaným dotazem SQL. Chcete-li získat informace, musíte z takové tabulky určit, co chceme vybrat. Nejprve je to jednoduchý příklad:
SELECT název_zdroj FROM Commodity
Po příkazu SELECT zadáme název sloupce pro získání informací a FROM určuje tabulku.
Výsledkem provádění dotazu budou všechny řádky tabulky s hodnotami Commodity_name v pořadí, v jakém byly zadány do databáze, tj. bez třídění. Chcete-li výsledek objednat, použijte volitelnou klauzuli ORDER BY.
Chcete-li dotazovat více polí, seznam je s čárkou, jako v následujícím příkladu:
SELECT commodity_id, commodity_name, commodity_price FROM Commodity
Je možné získat hodnotu všech sloupců řetězce jako výsledek dotazu. Chcete-li to provést, použijte znak "*":
SELECT * Z komodity
- Navíc SELECT podporuje:
- Třídění dat (klauzule ORDER BY)
- Výběr podle podmínek (WHERE)
- Seskupení (GROUP BY)
Přidání řádku
Chcete-li do tabulky přidat řádek, použijte příkazy SQL s příkazem INSERT. Přidání lze provést třemi způsoby:
- přidejte úplně nový řádek;
- část linky;
- výsledky dotazu.
Chcete-li přidat úplný řádek, musíte zadat název tabulky a sloupce nového řádku. Uveďme příklad:
INSERT komoditních VALUES ( `106`, `50`, `Coca-Cola`, `1,68`, ‚Ne Alcogol,)
Příklad přidá nový produkt do tabulky. Hodnoty jsou zadány za VALUES pro každý sloupec. Pokud pro sloupec neexistuje odpovídající hodnota, musíte zadat hodnotu NULL. Sloupce jsou vyplněny hodnotami v pořadí zadaném při vytváření tabulky.
V případě přidání pouze části řetězce musíte explicitně zadat názvy sloupců, jako v příkladu:
VLOŽTE DO komodity (commodity_id, vendor_id, commodity_name)
HODNOTY ("106", lsquo-50 "," Coca-Cola "),
Zadali jsme pouze identifikátory zboží, dodavatele a jeho jméno a zbývající pole byla prázdná.
Přidávání výsledků dotazu
V podstatě se INSERT používá k přidávání řetězců, ale může být také použito k přidání výsledků příkazu SELECT.
Upravte data
Chcete-li změnit informace v polích tabulky databáze, musíte použít příkaz UPDATE. Operátor lze použít dvěma způsoby:
- Všechny řádky v tabulce jsou aktualizovány.
- Pouze pro určitý řetězec.
UPDATE se skládá ze tří hlavních prvků:
- tabulku, ve které chcete provést změny;
- názvy polí a jejich nové hodnoty;
- podmínky pro výběr řádků pro změnu.
Zvažme příklad. Přiznejme, že u zboží s ID = 106 se změnily náklady, proto je třeba tento řádek aktualizovat. Napište následující příkaz:
UPDATE Komoditní SET comodity_price = `3.2` WHERE commodity_id = `106`
Poukazovali jsme na název tabulky, v tomto případě je komodita, která bude aktualizována, a pak po SET - nová hodnota sloupec a najít požadovanou položku, určením KDE požadovanou hodnotu ID.
Chcete-li změnit více sloupců po příkazu SET, zadejte několik párů hodnot sloupců, oddělených čárkami. Podíváme se na příklad, ve kterém se aktualizují název a cena produktu:
UPDATE Komoditní SET comodity_name = rsquo-Fantarsquo-, commodity_price = `3.2` WHERE commodity_id = `106`
Chcete-li odstranit informace ve sloupci, můžete je nastavit na hodnotu NULL, pokud to struktura tabulky umožňuje. Je třeba si uvědomit, že NULL je přesně "ne" hodnota a není nulová ve formě textu nebo čísla. Smazat popis produktu:
UPDATE Komoditní SET comodity_desc = NULL WHERE commodity_id = `106`
Smazání řádků
Požadavky SQL na odstranění řádků v tabulce jsou prováděny příkazem DELETE. Existují dvě možnosti použití:
- některé řádky jsou v tabulce smazány;
- všechny řádky v tabulce jsou smazány.
Příklad smazání jednoho řádku z tabulky:
DELETE FROM Komodita WHERE commodity_id = `106`
Po DELETE FROM zadejte název tabulky, ve které budou řádky smazány. Klauzule WHERE obsahuje podmínku pro výběr řádků, které chcete smazat. V příkladu odstraníme řádku položky ID = 106. Je velmi důležité specifikovat WHERE. Přeskočení tohoto operátora bude mít za následek odstranění všech řádků v tabulce. To platí také pro změnu hodnoty polí.
Příkaz DELETE neurčuje názvy sloupců a metaznačky. Úplně odstraní řádky a nemůže odstranit jediný sloupec.
Používání SQL v aplikaci Access
Microsoft Access obvykle používá interaktivně k vytvoření tabulky, databáze, změny managementu, analýzu dat v databázi a za účelem provádění dotazů SQL přístup přes pohodlnou interaktivní stavitel dotazu (Query Designer), pomocí kterých můžete stavět a okamžitě provádět SQL příkazy jakékoliv složitosti .
Podporuje také přístupový režim serveru, ve kterém lze Access DBMS použít jako generátor dotazů SQL na libovolný zdroj dat ODBC. Tato funkce umožňuje interakci aplikací aplikace Access databází jakýkoli formát.
Rozšíření SQL
Vzhledem k tomu, že dotazy SQL nemají všechny možnosti programovacích jazyků procedur, jako jsou smyčky, větve atd., Dodavatelé DBMS vyvíjejí svou vlastní verzi SQL s pokročilými schopnostmi. Především jde o podporu uložených procedur a standardních operátorů jazykových procedur.
Nejběžnější dialekty jazyka jsou:
- Databáze Oracle - PL / SQL
- Interbase, Firebird - PSQL
- Microsoft SQL Server - Transact-SQL
- PostgreSQL - PL / pgSQL.
SQL na Internetu
Databáze MySQL je šířen pod svobodnou licencí GNU General Public License. K dispozici je komerční licence s možností vytváření vlastních modulů. Jako součást nejpopulárnější částí build internetových serverů, jako XAMPP, WAMP a lampa, a je nejpopulárnější vývoj databázových aplikací na internetu.
Byl vyvinut společností Sun Microsystems a v současné době je podporován společností Oracle. Podporuje databáze až 64 terabajtů, standardní syntaxi SQL: 2003, replikace databáze a cloudové služby.
- Distribuované databáze
- Databáze je komplexní systém
- Systémy správy života a databází
- Oracle Database: hlavní charakteristiky Oracle DBMS
- Soubor SQL. Formát souboru SQL: popis přípony
- Vytvoření databáze MySQL je součástí jakéhokoli webu
- Přehled systémů správy databáze
- Jaké jsou údaje? Typy dat
- DB je ... Typy a vlastnosti databáze
- Jaké jsou v praxi nejběžnější databáze?
- MS Access. Databáze MS Access. MS Access 2007
- Co je to databáze a kde ji lze použít?
- Jak vytvořit databázi mysql
- Jak vytvořit databázi a co je SQL?
- Struktura databáze
- Kontrola existence souboru PHP file_exists
- Základní typy dat Mysql
- Jaké typy databází existují dnes?
- Vytvoření databáze: techniky a stávající řešení
- DBMS je systém správy dat
- Hlavní body databáze aplikace Access