Výukový program pro SQL Server - vše, co potřebujete ke zvládnutí Transact-SQL

Tento článek o SQL Server Tutorial je komplexním průvodcem k různým konceptům, syntaxi a příkazům používaným v MS SQL Serveru.

Na dnešním trhu, kde se každý den generuje obrovské množství dat, je velmi důležité pochopit, jak s daty zacházet. SQL Server je integrované prostředí vyvinuté společností Microsoft pro zpracování dat.V tomto článku o kurzu SQL Server se naučíte všechny operace a příkazy, které potřebujete k prozkoumání svých databází.

Pro lepší pochopení jsem blog rozdělil do následujících kategorií:





Příkazy Popis

Příkazy jazyka pro definici dat (DDL)

Tato sada příkazů se používá k definování databáze.

Příkazy jazyka pro manipulaci s daty (DML)



Manipulační příkazy se používají k manipulaci s daty přítomnými v databázi.

Příkazy jazyka pro řízení dat (DCL)

Tato sada příkazů se zabývá oprávněními, právy a dalšími ovládacími prvky databázových systémů.

Transaction Control Language commands (TCL)

Tyto příkazy jsou zvyklé vypořádat se s transakcí databáze.

Kromě příkazů se v tomto článku věnujeme následujícím tématům:



MS SQL Server - Výukový program pro SQL Server - Edureka

  1. Co je to SQL Server?
  2. Nainstalujte SQL Server
  3. Připojte se k serveru SQL pomocí SSMS
  4. Access Database Engine
  5. Architektura serveru SQL
  6. Komentáře v SQL
  7. Datové typy serveru SQL Server
  8. Klíče v databázi
  9. Omezení v databázi
  10. Operátoři
  11. Souhrnné funkce
  12. Uživatelem definované funkce
  13. Vnořené dotazy
  14. Připojí
  15. Smyčky
  16. Uložené procedury
  17. Zpracování výjimek

***POZNÁMKA*** V tomto výukovém programu pro SQL Server budu uvažovat o níže uvedené databázi jakopříklad, který vám ukáže, jak se učit a psátpříkazy.

StudentID Jméno studenta Jméno rodiče Telefonní číslo Adresa Město Země
jedennesnášímAkriti mehra9955339966Brigade Road Block 9HyderabadIndie
2ManasaShourya Sharma9234568762Mayo Road 15KalkataIndie
3AnaySoumya Mishra9876914261Marathalliho dům č. 101BengaluruIndie
4PreetiRohan Sinha9765432234Queens Road 40DillíIndie
5ShanayaAbhinayův agarwal9878969068Oberoi Street 21BombajIndie

Než začneme rozumět různým příkazům používaným na serveru SQL Server, pochopme, co je SQL Server, jeho architektura a jak jej nainstalovat.

Co je to SQL Server?

Microsoft SQL Server je relační Systém pro správu databází . Podporuje Strukturovaný dotazovací jazyk a přichází s vlastní implementací jazyka SQL, kterým je Transact-SQL (T-SQL) . Má integrované prostředí pro zpracování databází SQL, což je .

Klíčové komponenty serveru SQL Server jsou následující:

  • Databázový stroj: Tato součást zpracovává úložiště, rychlé zpracování transakcí a zabezpečení dat.
  • SQL Server - Tato služba slouží ke spuštění, zastavení, pozastavení a pokračování instance MS SQL Serveru.
  • Agent serveru SQL - Služba Server Agent hraje roli plánovače úloh a je spouštěna jakoukoli událostí nebo podle požadavku.
  • Prohlížeč serveru SQL - Tato služba se používá k připojení příchozího požadavku k požadované instanci serveru SQL Server.
  • Fulltextové vyhledávání na serveru SQL Server - Slouží k tomu, aby uživatel mohl spouštět fulltextové dotazy na data znaků v tabulkách SQL.
  • Zapisovač VSS pro SQL Server - Umožňuje zálohování a obnovení datových souborů, když není spuštěn SQL Server.
  • SQL Server Analysis Services (SSAS) - Tato služba se používá k poskytování analýzy dat, dolování dat a schopnosti. SQL Server je také integrován s a R pro pokročilou analýzu dat.
  • SQL Server Reporting Services (SSRS) - Jak název napovídá, tato služba se používá k poskytování funkcí a schopností rozhodování, včetně integrace s .
  • SQL Server Integration Services (SSIS) - Tato služba se používá k provádění operací ETL pro různé typy dat z více zdrojů dat.

Nyní, když víte, co je MS SQL Server, pojďme se posunout vpřed v tomto článku v kurzu SQL Server a pochopit, jak nainstalovat a nastavit SQL Server.

Nainstalujte SQL Server

Při instalaci serveru SQL postupujte podle následujících kroků:

Krok 1: Přejít na oficiální stránku Stažení serveru Microsoft SQL Server , kde najdete možnost instalace SQL Serveru místně nebo na cloudu.

Krok 2: Nyní přejděte dolů a uvidíte dvě možnosti: Vydání pro vývojáře a podniky . Zde budu stahovat Vydání pro vývojáře . Pro stažení stačí kliknout na Stáhnout teď volba. Viz níže.

Krok 3: Po stažení aplikace poklepejte na soubor a zobrazí se následující okno.

Krok 4: Nyní si můžete vybrat jednu ze 3 možností nastavení serveru SQL. Zde si prostě vyberu Základní možnost . Po výběru možnosti typu instalace by na další obrazovce bylo přijmout licenční smlouvu. Chcete-li to provést, klikněte na Akceptovat v následujícím okně.

Krok 5: Dále musíte určit umístění instalace serveru SQL. Poté musíte kliknout na Instalovat.

Jakmile kliknete na Nainstalujte , uvidíte, že se stahují požadované balíčky. Nyní, po dokončení instalace, se zobrazí následující obrazovka:

Zde můžete buď jít vpřed a kliknout na Připojit nyní, nebo můžete přizpůsobit instalaci. Pro vaše lepší pochopení půjdu kupředu a vyberu si Přizpůsobit.

Krok 6: Jakmile kliknete na Přizpůsobit v okně výše se zobrazí následující průvodce. v následujícím okně klikněte na Další.

Krok 7: Poté, co se pravidla nainstalují automaticky, klikněte na další . Viz níže.

Krok 8: Dále musíte zvolit typ instalace. Vyberte tedy Proveďte a nová instalace serveru SQL Server 2017 možnost a poté klikněte na Další.

Krok 9: V průvodci, který se otevře, vyberte vydání: Vývojář. Poté klikněte na další . Viz níže.

Krok 10: Nyní si přečtěte a přijměte licenční smlouvy zaškrtnutím přepínacího tlačítka a poté klikněte na další . Viz níže.

Krok 11: V níže uvedeném průvodci můžete vybrat funkce, které chcete nainstalovat. Můžete také zvolit kořenový adresář instance a poté kliknout na další . Zde si vyberu Služby databázových strojů .

Krok 12: Dále musíte pojmenovat instanci a automaticky se vytvoří ID instance. Zde pojmenuji instanci „edureka“. Poté klikněte na Další.

Krok 13: V průvodci konfigurací serveru klikněte na další .

Krok 14: Nyní musíte povolit režimy ověřování. Zde uvidíte Režim ověřování systému Windows a Smíšený režim . Vyberu smíšený režim. Poté uveďte heslo a poté přidám aktuálního uživatele jako Správce výběrem Přidat aktuálního uživatele volba.

Krok 15: Poté vyberte cestu ke konfiguračnímu souboru a klikněte na Nainstalujte .

Po dokončení instalace se zobrazí následující obrazovka:

Připojte se k serveru SQL pomocí SSMS

Po instalaci serveru SQL je dalším krokem připojení serveru SQL k serveru SQL Server Management Studio. Postupujte podle následujících kroků:

Krok 1: Vraťte se zpět do následujícího okna a klikněte na ikonu nainstalovat SSMS volba.

Krok 2: Jakmile na tuto možnost kliknete, budete přesměrováni na stránku následující stránka , kde si musíte vybrat Stáhněte si SSMS.

Krok 3: Po stažení instalace poklepejte na aplikaci a zobrazí se následující průvodce.

Krok 4: Klikněte na Možnost instalace , ve výše uvedeném okně a uvidíte, že instalace začne.

Krok 5: Po dokončení instalace se zobrazí dialogové okno, jak je uvedeno níže.

Po instalaci SSMS je dalším krokem přístup k Databázový stroj .

Přístup k databázovému stroji

Když otevřete Studio pro správu serveru SQL z nabídka Start , otevře se okno podobné oknu zobrazenému na obrázku níže.

Zde uveďte název serveru, režim ověřování a klikněte na Připojit.

Po kliknutí na Připojit , uvidíte následující obrazovku.

Lidi, takhle instalujete a nastavujete SQL Server. Nyní v tomto tutoriálu pro SQL Server přejdeme kupředu, pojďme pochopit různé komponenty architektury serveru SQL.

Architektura serveru SQL

Architektura serveru SQL je následující:

  • Server & minus Toto je místo, kde jsou nainstalovány služby SQL a je umístěna databáze
  • Relační engine & minus Obsahuje analyzátor dotazů, optimalizátor a vykonavatele a provádění probíhá v relačním modulu.
  • Parser příkazů & minus Zkontroluje syntaxi dotazu a převede dotaz na jazyk stroje.
  • Optimalizátor & minus Připraví plán provádění jako výstup tím, že jako vstup vezme statistiky, dotaz a strom Algebrator.
  • Exekuce dotazu & minus Toto je místo, kde se dotazy provádějí krok za krokem
  • Storage Engine & minus To je zodpovědné za ukládání a načítání dat v úložném systému, manipulaci s daty, správu a zamykání transakcí.

Nyní, když víte, jak nastavit a nainstalovat SQL Server a jeho různé součásti, pojďme začít psát Server. Ale předtím mi dovolte vysvětlit, jak psát komentáře na serveru SQL Server.

Komentáře na serveru SQL Server

Existují dva způsoby, jak můžete komentovat v SQL, tj. Buď použít s in-line komentáře nebo m ultrafialové komentáře .

Jednořádkové komentáře

Jednořádkové komentáře začínají na dvě pomlčky (-). Text uvedený za (-), až do konce jednoho řádku, bude tedy kompilátorem ignorován.

Příklad:

- Příklad komentářů k jednotlivým řádkům

Víceřádkové komentáře

Víceřádkové komentáře začínají znakem / * a končí znakem * / . Proto je text zmíněn mezi / * a * / bude kompilátorem ignorován.

Příklad:

/ * Příklad pro víceřádkové komentáře * /

Nyní v tomto článku o kurzu SQL Server začněme s první sadou příkazů, tj. Příkazy Data Definition Language.

Příkazy jazyka pro definici dat

Tato část článku vám poskytne představu o příkazech, pomocí kterých můžete definovat svou databázi. Příkazy jsou následující:

VYTVOŘIT

Toto prohlášení se používá k vytvoření tabulky, databáze nebo pohledu.

Prohlášení „VYTVOŘIT DATABÁZE“

Tento příkaz se používá k vytvoření databáze.

Syntax

VYTVOŘIT DATABÁZE Název databáze

Příklad

VYTVOŘIT DATABÁZE Studenti

VYTVOŘIT TABULKU ' Prohlášení

Jak název napovídá, tento příkaz se používá k vytvoření tabulky.

Syntax

VYTVOŘIT TABULKU Název_tabulky (datový typ sloupce 1, datový typ sloupce 2, datový typ sloupce 3, .... datový typ sloupce N)

Příklad

CREATE TABLE StudentInfo (StudentID int, StudentName varchar (8000), ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000), City varchar (8000), Country varchar (8000))

POKLES

Toto prohlášení se používá k zrušení existující tabulky, databáze nebo zobrazení.

Prohlášení „DROP DATABASE“

Tento příkaz se používá k odstranění existující databáze. Úplné informace obsažené v databázi budou ztraceny, jakmile provedete níže uvedený příkaz.

Syntax

DROP DATABASE DatabaseName

Příklad

DROP DATABASE Studenti

Prohlášení „DROP TABLE“

Tento příkaz se používá k zrušení existující tabulky. Úplné informace v tabulce budou ztraceny, jakmile provedete níže uvedený příkaz.

Syntax

DROP TABLE TableName

Příklad

DROP TABLE StudentInfo

STÁŘÍ

Příkaz ALTER se používá k přidání, odstranění nebo úpravě sloupců nebo omezení v existující tabulce.

ZMĚNIT TABULKU ' Prohlášení

Tento příkaz se používá k přidávání, mazání a úpravám sloupců v již existující tabulce.

Prohlášení „ALTER TABLE“ se sloupcem ADD / DROP COLUMN

Příkaz ALTER TABLE se používá s příkazem ADD / DROP Column k přidání a odstranění sloupce.

Syntax

ALTER TABLE TableName ADD ColumnName Datatype ALTER TABLE TableName DROP COLUMN ColumnName

Příklad

--AdD Column BloodGroup: ALTER TABLE StudentInfo ADD BloodGroup varchar (8000) --DROP Column BloodGroup: ALTER TABLE StudentInfo DROP COLUMN BloodGroup

Prohlášení „ALTER TABLE“ s ALTER COLUMN

Příkaz ALTER TABLE lze použít se sloupcem ALTER ke změně datového typu existujícího sloupce v tabulce.

Syntax

ALTER TABLE TableName ALTER COLUMN Název sloupce Datový typ

Příklad

--Přidejte sloupec DOB a změňte datový typ od data k datetime. ALTER TABLE StudentInfo ADD DOB date ALTER TABLE StudentInfo ALTER COLUMN DOB datetime

Zkrátit

Tento příkaz SQL se používá k odstranění informací obsažených v tabulce, ale neodstraní samotnou tabulku. Pokud tedy chcete odstranit informace obsažené v tabulce a nikoli samotnou tabulku, musíte použít příkaz TRUNCATE. Jinak použijte příkaz DROP.

Syntax

Zkrátit tabulku TableName

Příklad

ZKRÁTIT TABULKU StudentInfo

PŘEJMENOVAT

Tento příkaz se používá k přejmenování jedné nebo více tabulek.

Syntax

sp_rename 'OldTableName', 'NewTableName'

Příklad

sp_rename 'StudentInfo', 'Infostudents'

Pohybující se v tomto článku na kurzu SQL Serveru, pojďme pochopit různé datové typy podporované serverem SQL.

Datové typy serveru SQL Server

Kategorie datových typů Název datového typu Popis Rozsah / syntaxe
Přesná numerika číselnýPoužívá se k ukládání číselných hodnot a má pevnou přesnost a měřítko čísel- 10 ^ 38 +1 až 10 ^ 38-1.
maličkýPoužívá se k ukládání celočíselných hodnot0 až 255
smallintPoužívá se k ukládání celočíselných hodnot-2 ^ 15 (-32 768) až 2 ^ 15-1 (32 767)
bigintPoužívá se k ukládání celočíselných hodnot-2 ^ 63 (-9 223 372 036 854 775 808) až 2 ^ 63-1 (9 223 372 036 854 775 807)
intPoužívá se k ukládání celočíselných hodnot-2 ^ 31 (-2 147 483 648) až 2 ^ 31-1 (2 147 483 647)
bitUkládá celočíselný datový typ, který určuje hodnotu 0, 1 nebo NULL0, 1 nebo NULL
desetinnýPoužívá se k ukládání číselných hodnot a má pevnou přesnost a měřítko čísel- 10 ^ 38 +1 až 10 ^ 38-1.
malé penízePoužívá se k ukládání peněžních prostředkůnebo hodnoty měny.- 214 748,3648 až 214 748 3647
penízePoužívá se k ukládání peněžních prostředkůnebo hodnoty měny.-922 337 203 685 477 5808 až 922 337 203 685 477 5807 (-922 337 203 685 477,58
na 922 337 203 685 477,58 pro společnost Informatica.
Přibližná numerika plovákPoužívá se k ukládání číselných dat s plovoucí desetinnou čárkou- 1,79E + 308 až -2,23E-308, 0 a 2,23E-308 až 1,79E + 308
nemovitýPoužívá se k ukládání číselných dat s plovoucí desetinnou čárkou- 3,40E + 38 až -1,18E - 38, 0 a 1,18E - 38 až 3,40E + 38
Datum a čas datumPoužívá se k definování data na serveru SQL Server.Syntaxe: datum
malý časPoužívá se k definování data, které je kombinováno s denní dobou, kdy je čas založen na 24hodinovém dni, se sekundami vždy nula (: 00) a bez zlomkových sekund.Syntaxe: smalldatetime
čas schůzkyPoužívá se k definování data, které je kombinováno s časem dne a zlomky sekund na základě 24hodinového času.Syntaxe: datetime
datetime2 datetime2 je jako rozšíření existujícího čas schůzky typ, který má větší výchozí zlomkovou přesnost, větší časové období.Syntaxe: datetime2
datetimeoffsetPoužívá se k definování data kombinovaného s časem dne, který má povědomí o časovém pásmu. Je založen na 24hodinových hodinách.Syntaxe: datetimeoffset
časPoužívá se k definování denní doby.Syntaxe: čas
Řetězce znaků charPoužívá se k ukládání znaků pevné velikosti.char[( n )] kde n hodnota se pohybuje od 1 do 8 000
varcharSlouží k ukládání znaků s proměnnou délkou.varchar [( n | max)], kde hodnota n se pohybuje od 1 do 8 000 a maximální povolené úložiště je 2 GB.
textPoužívá se k ukládání vdata non-Unicode s nastavitelnou délkouMaximální povolená délka řetězce - 2 ^ 31-1 (2 147 483 647)
Řetězce znaků Unicode ncharPoužívá se k ukládání znaků pevné velikosti.nchar[(n)] kde hodnota n se pohybuje od 1 do 4 000
nvarcharSlouží k ukládání znaků s proměnnou délkou.varchar [( n | max)] kde hodnota n se pohybuje od 1 do 4 000 a maximální povolené úložiště je 2 GB.
ntextPoužívá se k ukládání dat Unicode s proměnnou délkouMaximální povolená délka řetězce - 2 ^ 30-1 (2,147,483,647)
Binární řetězce binárníPoužívá se k ukládání binárních datových typů buď pevné délkybinární[( n )] kde n hodnota se pohybuje od 1 do 8 000
varbinaryPoužívá se k ukládání binárních datových typů buď pevné délkyvarbinary[( n )], kde se n vale pohybuje od 1 do 8 000 a maximální povolené úložiště je 2 ^ 31-1 bajtů.
obrazPoužívá se k ukládání binárních dat s proměnnou délkou0 - 2 ^ 31-1 (2 147 483 647) bajtů
Další datové typy Jedná se o datový typ pro uložené procedury nebo proměnné OUTPUT parametry, které obsahují odkaz na kurzor.-
řada řádkůPoužívá se k vystavení automaticky generovaných jedinečných binárních čísel v databázi.-
hierarchyidPoužívá se k reprezentaci pozice v hierarchii.-
unikátní identifikátorJe 16bajtový GUID.Syntax:unikátní identifikátor
sql_variantSlouží k ukládání hodnot různých datových typů podporovaných serverem SQLSyntaxe: sql_variant
xmlPoužívá se k ukládání datového typu XML.

xml ([OBSAH | DOKUMENT] xml_schemacollection)

Typy prostorové geometriePoužívá se k reprezentaci dat v euklidovském (plochém) souřadnicovém systému.-
Typy prostorové geografieSlouží k ukládání elipsoidních (kulatých) dat, jako jsou souřadnice GPS zeměpisné šířky a délky.-
stůlSlouží k uložení sady výsledků pro pozdější zpracování-

Dále v tomto článku pochopíme různé typy klíčů a omezení v databázi.

Různé typy klíčů v databázi

Následují různé typy klíčů používaných v databázi:

  • Klíč kandidáta - Kandidátský klíč je sada atributů, které mohou jednoznačně identifikovat tabulku. Tabulka může mít více než jeden klíč kandidáta a ze zvolených klíčů kandidáta je jeden klíč vybrán jako primární klíč.
  • Super klíč - Sada atributů může jednoznačně identifikovat n-tici. Kandidátské klíče, jedinečné klíče a primární klíče jsou tedy superklíče, ale naopak to není pravda.
  • Primární klíč - Primární klíče se používají k jedinečné identifikaci každé n-tice.
  • Alternativní klíč - Alternativní klíče jsou ty kandidátské klíče, které nejsou vybrány jako primární klíč.
  • Unikátní klíč- Jedinečné klíče jsou podobné primárnímu klíči, ale umožňují ve sloupci jednu hodnotu NULL.
  • Cizí klíč - Atribut, který může mít pouze hodnoty přítomné jako hodnoty nějakého jiného atributu, je cizí klíč na atribut, ke kterému se vztahuje.
  • Složený klíč- Složené klíče jsou kombinací dvou nebo více sloupců, které jedinečně identifikují každou n-tici.

Omezení použitá v databázi

Omezení se používají v databázi k určení pravidel pro data uložená v tabulce. Různé typy omezení v SQL jsou následující:

NENULOVÝ

Omezení NOT NULL zajišťuje, že sloupec nemůže mít hodnotu NULL.

Příklad

CREATE TABLE StudentsInfo (StudentID int NOT NULL, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar (8000)) --NOT NULL na ALTER TABLE ALTER TABLE StudentsInfo ALTER COLUMN PhoneNumber int NOT NULL

UNIKÁTNÍ

Toto omezení zajišťuje, že všechny hodnoty ve sloupci jsou jedinečné.

Příklad

--UNIQUE on Create Table CREATE TABLE StudentsInfo (StudentID int NOT NULL UNIQUE, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar ( 8000)) --UNIQUE on Multiple Columns CREATE TABLE StudentsInfo (StudentID int NOT NULL, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar (8000) CONSTRAINT UC_Student_Info UNIQUE (StudentID, PhoneNumber)) - UNIQUE na ALTER TABLE ALTER TABLE StudentsInfo ADD UNIQUE (StudentID) - Chcete-li zrušit UNIQUE omezení ALTER TABLE StudentsInfo DROP CONSTRAINT UC_Student_Info

ŠEK

Omezení CHECK zajišťuje, že všechny hodnoty ve sloupci splňují konkrétní podmínku.

Příklad

--CHECK Constraint on CREATE TABLE CREATE TABLE StudentsInfo (StudentID int NOT NULL, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar ( 8000) CHECK (Country = 'India')) --CHECK Constraint on multiple columns CREATE TABLE StudentsInfo (StudentID int NOT NULL, StudentName varchar8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, Město varchar (8000), Země varchar (8000) KONTROLA (Země = 'Indie' A Město = 'Hyderabad')) --KONTROLA Omezení na ALTER TABLE ALTER TABLE StudentsInfo PŘIDAT KONTROLU (Country = 'Indie') --Dat name to CHECK Constraint ALTER TABLE StudentsInfo ADD CONSTRAINT CheckConstraintName CHECK (Country = 'India') --To drop a CHECK Constraint ALTER TABLE StudentsInfo DROP CONSTRAINT CheckConstraintName

VÝCHOZÍ

Omezení DEFAULT sestává ze sady výchozích hodnot pro sloupec, pokud není zadána žádná hodnota.

Příklad

--DEFAULT Omezení na CREATE TABLE CREATE TABLE StudentsInfo (StudentID int, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar (8000) DEFAULT 'India') - DEFAULT Constraint on ALTER TABLE ALTER TABLE StudentsInfo ADD CONSTRAINT defau_Country DEFAULT 'India' FOR Country --Tro drop the Default Constraint ALTER TABLE StudentsInfo ALTER COLUMN Country DROP defau_Country

INDEX

The Omezení INDEX se používá k vytvoření indexů v tabulce, pomocí kterých můžete velmi rychle vytvářet a načítat data z databáze.

Syntax

--Vytvořte index, kde jsou povoleny duplicitní hodnoty CREATE INDEX IndexName ON TableName (Column1, Column2, ... ColumnN) --Create an Index where duplicate values ​​are not allowed CREATE UNIQUE INDEX IndexName ON TableName (Column1, Column2, ... SloupecN)

Příklad

VYTVOŘIT INDEX idex_StudentName ON StudentsInfo (StudentName) - Odstranění indexu v tabulce DROP INDEX StudentsInfo.idex_StudentName

V dalším postupu v tomto článku o kurzu SQL Server pojďme nyní pochopit různé příkazy jazyka manipulace s daty používané v Microsoft SQL Serveru.

Příkazy jazyka pro manipulaci s daty

Tato část článku se bude věnovat všem příkazům, pomocí kterých můžete manipulovat s databází. Příkazy jsou následující:

Kromě těchto příkazů existují i ​​další manipulativní operátory / funkce, jako například:

POUŽITÍ

Tento příkaz se používá k výběru databáze, která s ní začne provádět různé operace.

Syntax

příklady tříd a objektů pythonu
USE DatabaseName

Příklad

POUŽÍVEJTE studenty

VLOŽ DO

The Prohlášení INSERT INTO se používá k vložení nových záznamů do existující tabulky.

Syntax

INSERT INTO TableName (Column1, Column2, Column3, ..., ColumnN) VALUES (value1, value2, value3, ...) - Pokud nechcete zmínit názvy sloupců, použijte níže uvedenou syntaxi INSERT INTO TableName VALUES (Hodnota1, Hodnota2, Hodnota3, ...)

Příklad

INSERT INTO StudentsInfo (StudentID, StudentName, ParentName, PhoneNumber, AddressofStudent, City, Country) VALUES ('06', 'Sanjana', 'Kapoor', '9977331199', 'Buffalo Street House No 10', 'Kolkata', 'India ') INSERT INTO StudentsInfo VALUES (' 07 ',' Vishal ',' Mishra ',' 9876509712 ',' Nice Road 15 ',' Pune ',' India ')

AKTUALIZACE

Příkaz UPDATE se používá k úpravě nebo aktualizaci záznamů, které jsou již v tabulce.

Syntax

UPDATE TableName SET Sloupec1 = hodnota1, sloupec2 = hodnota2, ... KDE podmínka

Příklad

UPDATE StudentsInfo SET StudentName = 'Aahana', City = 'Ahmedabad' WHERE StudentID = 1

VYMAZAT

Příkaz DELETE se používá k odstranění existujících záznamů v tabulce.

Syntax

DELETE FROM TableName WHERE Podmínka

Příklad

ODSTRANIT Z StudentsInfo WHERE StudentName = 'Aahana'

JÍT

Příkaz SLOUČENÍ se používá k provedení operací INSERT, UPDATE a DELETE na konkrétní tabulce, kde je poskytnuta zdrojová tabulka. Viz níže.

Syntax

SLOUČIT TagretTableName POUŽITÍ SourceTableName ON MergeCondition KDYŽ SE SPLŇUJE POTOM Update_Statement KDYŽ SE NESHODUJE PAK Insert_Statement KDYŽ SE NESHODUJE ZDROJ POTOM SMAZAT

Příklad

Abychom porozuměli výrazu SLOUČENÍ, zvažte následující tabulky jako zdrojovou a cílovou.

Zdrojová tabulka:

StudentID Jméno studenta Známky
jedennesnáším87
2Manasa92
4Anay74

Cílová tabulka:

StudentID Jméno studenta Známky
jedennesnáším87
2Manasa67
3Saurabh55
SLOUČIT CÍL SampleTargetTable POUŽITÍ ZDROJE SampleSourceTable ZAPNUTO (TARGET.StudentID = SOURCE.StudentID) PŘI SROVNÁNÍ A CÍLU.StudentName SOURCE.StudentName NEBO TARGET.Marks SOURCE.Marks THEN UPDATE SET TARGET.Student = KDYŽ NENÍ SOUVISEJÍCÍ S CÍLEM, POTOM VLOŽTE (StudentID, StudentName, Značky) HODNOTY (SOURCE.StudentID, SOURCE.StudentName, SOURCE.Marks) KDY SE NEDODRŽÍ ZDROJ POTÉ

Výstup

StudentID Jméno studenta Známky
jedennesnáším87
2Manasa92
4Anay74

VYBRAT

The Příkaz SELECT se používá k výběru dat z databáze, tabulky nebo pohledu. Vrácená data jsou uložena ve výsledkové tabulce, která se nazývá sada výsledků .

Syntax

SELECT Column1, Column2, ... ColumN FROM TableName - (*) is used to select all from the table SELECT * FROM table_name - To select the number of records to return use: SELECT TOP 3 * FROM TableName

Příklad

- Chcete-li vybrat několik sloupců SELECT StudentID, StudentName FROM StudentsInfo - (*) se používá k výběru všech z tabulky SELECT * FROM StudentsInfo - Chcete-li vybrat počet záznamů, které chcete vrátit, použijte: SELECT TOP 3 * FROM StudentsInfo

S příkazem SELECT můžeme také použít následující klíčová slova:

ODLIŠNÝ

Klíčové slovo DISTINCT se používá s příkazem SELECT k vrácení pouze různých hodnot.

Syntax

VYBERTE DISTINCT Sloupec1, Sloupec2, ... SloupecN OD TABULKY

Příklad

VYBERTE DISTINCT telefonní číslo OD StudentsInfo

SEŘADIT PODLE

Tento příkaz se používá k řazení požadovaných výsledků ve vzestupném nebo sestupném pořadí. Ve výchozím nastavení jsou výsledky uloženy vzestupně. Pokud však chcete získat výsledky v sestupném pořadí, musíte použít POP klíčové slovo.

Syntax

VYBERTE Sloupec1, Sloupec2, ... SloupecN OD Název_tabulky OBJEDNAT PODLE Sloupce1, Sloupce2, ... ASC | DESC

Příklad

- Vyberte všechny studenty z tabulky „StudentsInfo“ seřazené podle názvu rodiče: SELECT * FROM StudentsInfo ORDER BY ParentName - Vyberte všechny studenty z tabulky „StudentsInfo“ seřazené podle názvu rodiče v sestupném pořadí: SELECT * FROM StudentsInfo OBJEDNAT PODLE názvu rodiče DESC - Vyberte všechny studenty z tabulky 'StudentsInfo' seřazené podle ParentName a StudentName: SELECT * FROM StudentsInfo OBJEDNAT PODLE ParentName, StudentName / * Vyberte všechny studenty z tabulky 'StudentsInfo' seřazené podle ParentName v sestupném pořadí a StudentName ve vzestupném pořadí: * / SELECT * FROM StudentsInfo OBJEDNAT PODLE ParentName ASC, StudentName DESC

SKUPINA VYTVOŘENÁ

Toto prohlášení se používá s agregační funkce seskupit sadu výsledků podle jednoho nebo více sloupců.

Syntax

VYBERTE Sloupec1, Sloupec2, ..., Sloupec N OD Název_tabulky KDE Podmínka SKUPINU PODLE Název_sloupce OBJEDNAT PODLE Název_sloupce

Příklad

- Chcete-li uvést počet studentů z každého města. VYBERTE POČET (StudentID), město FROM StudentsInfo SKUPINA PODLE města

SKUPINOVÉ SADY

SKUPINOVÉ SADY byly zavedeny na serveru SQL Server 2008 a slouží k vygenerování sady výsledků, kterou lze vygenerovat pomocí UNION ALL několika jednoduchých klauzulí GROUP BY.

Syntax

VYBERTE Názvy sloupců ZE Název_skupiny SKUPINA PODLE SKUPINOVÝCH SAD (Název_sloupce)

Příklad

VYBERTE StudentID, StudentName, COUNT (město) ze skupiny StudentsInfo PODLE SKUPINOVÝCH SAD ((StudentID, StudentName, City), (StudentID), (StudentName), (City))

MÁM

Tato klauzule se používá ve scénáři, kde WHERE klíčové slovo nelze použít.

Syntax

VYBERTE Názvy sloupců Z TABULKY KDE Podmínka SKUPINA PODLE Názvy sloupců MÁ podmínku OBJEDNAT PODLE Názvy sloupců

Příklad

VYBERTE POČET (StudentID), město FROM StudentsInfo SKUPINA PODLE MĚSTA MÁ POČET (StudentID)> 2 OBJEDNÁVÁNÍ POČETEM (StudentID) DESC

DO

Klíčové slovo INTO lze použít s Příkaz SELECT kopírovat data z jedné tabulky do druhé. Tyto tabulky můžete chápat jako dočasné tabulky. Dočasné tabulky se obecně používají k provádění manipulace s daty přítomnými v tabulce, aniž by došlo k narušení původní tabulky.

Syntax

SELECT * INTO NewTable [IN ExternalDB] FROM OldTable WHERE Condition

Příklad

- Chcete-li vytvořit zálohu tabulky 'StudentsInfo' SELECT * INTO StudentsBackup FROM StudentsInfo - Chcete-li vybrat pouze několik sloupců z StudentsInfo SELECT StudentName, PhoneNumber INTO StudentsDetails FROM StudentsInfo SELECT * INTO PuneStudents FROM StudentsInfo WHERE City = 'Pune'

KRYCHLE

CUBE je nadstavbou Klauzule GROUP BY . Umožňuje generovat mezisoučty pro všechny kombinace seskupovacích sloupců uvedených v klauzuli GROUP BY.

Syntax

VYBERTE NázevSloupce Z SKUPINY TableName SKUPINA PODLE KOSTKY (NázevSloupce1, NázevSloupce2, ....., NázevSloupceN)

Příklad

VYBERTE ID studenta, POČET (město) FROM StudentsInfo SKUPINA PODLE KOSTKY (ID studenta) OBJEDNÁVKA PODLE ID studenta

SROLOVAT

ROLLUP je rozšíření klauzule GROUP BY. To vám umožní zahrnout další řádky, které představují mezisoučty. Ty se označují jako superagregované řádky spolu s řádkem celkového součtu.

Syntax

VYBERTE Názvy sloupců ZE SKUPINY TableName PODLE ROLLUP (NázevSloupce1, NázevSloupce2, ....., NázevSloupceN)

Příklad

VYBERTE ID studenta, POČET (město) ZE SKUPINY StudentInfo PODLE SKUPINY (ID studenta)

OFFSET

Klauzule OFFSET se používá s příkazy SELECT a Prohlášení ORDER BY k načtení řady záznamů. Musí být použit s klauzulí ORDER BY, protože ji nelze použít samostatně. Rozsah, který uvedete, musí být roven nebo větší než 0. Pokud uvedete zápornou hodnotu, zobrazí se chyba.

Syntax

VYBRAT Názvy sloupců) Z TABULKY KDE Podmínka OBJEDNAT PODLE Názvů sloupců OFFSET ŘádkyToSkip ŘÁDKY

Příklad

Zvažte nový sloupec Známky v StudentiInfo stůl.

VYBRAT StudentName, ParentName FROM StudentsInfo OBJEDNAT PODLE ZNAČEK OFFSET 1 ŘAD

VYNÉST

Klauzule FETCH se používá k vrácení sady několika řádků. Musí být použit ve spojení s klauzulí OFFSET.

Syntax

VYBRAT Názvy sloupců) Z TABULKY KDE Podmínka OBJEDNAT PODLE Názvů sloupců OFFSET RowsToSkip FETCH NEXT NumberOfRows POUZE ŘADY

Příklad

VYBRAT StudentName, ParentName FROM StudentsInfo OBJEDNAT PODLE ZNAČEK OFFSET 1 ŘADY ZÍSKEJTE DALŠÍ 1 ŘADY

HORNÍ

Klauzule TOP se používá s příkazem SELECT k uvedení počtu záznamů, které se mají vrátit.

Syntax

VYBRAT NAHORU Číslo Číslo Název sloupce (sloupců) Z Název tabulky KDE Podmínka

Příklad

VYBERTE NEJLEPŠÍ 3 * OD StudentsInfo

PIVOT

PIVOT se používá k otočení řádků na hodnoty sloupců a v případě potřeby spustí agregace zbývajících hodnot sloupců.

Syntax

VYBERTE NonPivoted ColumnName, [First Pivoted ColumnName] AS ColumnName, [Second Pivoted ColumnName] AS ColumnName, [Third Pivoted ColumnName] AS ColumnName, ... [Last Pivoted ColumnName] AS ColumnName FROM (SELECT query which produce the data) AS [alias pro počáteční dotaz] PIVOT ([AggregationFunction] (ColumName) FOR [ColumnName sloupce, jehož hodnoty se stanou hlavičkami sloupců] IN ([First Pivoted ColumnName], [Second Pivoted ColumnName], [Third Pivoted ColumnName] ... [last otočený sloupec])) AS [alias pro kontingenční tabulku]

Příklad

Podrobný příklad najdete v článku můj článek o SQL PIVOT a UNPIVOT . Dále v tomto výukovém programu pro SQL Server se podívejme na různé operátory podporované Microsoft SQL Serverem.

Operátoři

The různé typy operátorů podporované serverem SQL jsou následující:

Pojďme diskutovat o každém z nich jeden po druhém.

Aritmetické operátory

Operátor Význam Syntax

+

Přidání

výraz + výraz

-

Odčítání

výraz - výraz

*

Násobení

výraz * výraz

/

Divison

výraz / výraz

%

Modulární

výraz% výraz

Operátoři přiřazení

Operátor Význam Syntax

=

Přiřaďte hodnotu proměnné

proměnná = „hodnota“

Bitové operátory

Operátor Význam Syntax

& (Bitové AND)

Používá se k provedení bitové logické operace AND mezi dvěma celočíselnými hodnotami.

výraz a výraz

& = (Bitové a přiřazení)

Používá se k provedení bitové logické operace AND mezi dvěma celočíselnými hodnotami. Rovněž nastavuje hodnotu výstupu operace.

výraz & = výraz

| (Bitové NEBO)

Používá se k provedení bitové logické operace NEBO mezi dvěma celočíselnými hodnotami, které jsou přeloženy do binárních výrazů v rámci příkazů Transact-SQL.

výraz | výraz

| = (Bitové nebo přiřazení)

Používá se k provedení bitové logické operace NEBO mezi dvěma celočíselnými hodnotami, které jsou přeloženy do binárních výrazů v rámci příkazů Transact-SQL. Rovněž nastavuje hodnotu výstupu operace.

výraz | = výraz

^ (Bitový exkluzivní OR)

Používá se k provedení bitové exkluzivní operace OR mezi dvěma celočíselnými hodnotami.

výraz ^ výraz

^ = (Bitové exkluzivní NEBO přiřazení)

Používá se k provedení bitové exkluzivní operace OR mezi dvěma celočíselnými hodnotami. Rovněž nastavuje hodnotu výstupu operace.

výraz ^ = výraz

~ (Bitové NOT)

Používá se k provedení bitové logické operace NOT na celočíselnou hodnotu.

~ výraz

Porovnávací operátoři

Operátor Význam Syntax

=

Rovná

výraz = výraz

>

Větší než

výraz> výraz

<

Méně než

výraz

> =

Větší nebo rovno

výraz> = výraz

výchozí hodnota pro char v java

<=

Méně než nebo rovno

výraz<= expression

Nerovná se

výraz výraz

! =

Nerovná se

výraz! = výraz

!<

Ne méně než

výraz!

!>

Ne větší než

výraz!> výraz

Složené operátory

Operátor Význam Syntax

+ =

Slouží k přidání hodnoty k původní hodnotě a nastavení původní hodnoty k výsledku.

výraz + = výraz

- =

Slouží k odečtení hodnoty od původní hodnoty a nastavení původní hodnoty k výsledku.

výraz - = výraz

* =

Používá se k vynásobení hodnoty na původní hodnotu a nastavení původní hodnoty na výsledek.

výraz * = výraz

/ =

Slouží k rozdělení hodnoty od původní hodnoty a nastavení původní hodnoty na výsledek.

výraz / = výraz

% =

Slouží k rozdělení hodnoty od původní hodnoty a nastavení původní hodnoty na výsledek.

výraz% = výraz

& =

Používá se k provedení bitové operace AND a nastavení původní hodnoty na výsledek.

výraz & = výraz

^ =

Používá se k provedení bitové exkluzivní operace OR a nastavení původní hodnoty na výsledek.

výraz ^ = výraz

| =

Používá se k provedení bitové operace NEBO a nastavení původní hodnoty na výsledek.

výraz | = výraz

Logičtí operátoři

Operátor Význam Syntax

VŠECHNO

Vrátí TRUE, pokud jsou všechny sady srovnání TRUE.

scalar_expression! = ALL (poddotaz)

A

Vrátí TRUE, pokud jsou oba výrazy TRUE.

boolean_expression AND boolean_expression

ŽÁDNÝ

Vrátí TRUE, pokud je některá ze sady srovnání TRUE.

skalární_výraz! = {ANY} (poddotaz)

MEZI

Vrátí TRUE, pokud je operand v rozsahu.

sampleexpression [NOT] MEZI beginexpresí a endexpresí

EXISTUJE

Vrátí PRAVDA, pokud poddotaz obsahuje nějaké řádky.

EXISTUJE (dílčí dotaz)

V

Vrátí hodnotu TRUE, pokud se operand rovná jednomu ze seznamu výrazů.

test_expression [NOT] IN (poddotaz | výraz [,… n])

JAKO

Vrátí TRUE, pokud operand odpovídá vzoru.

match_expression [NOT] LIKE pattern [ESCAPE escape_character]

NE

Obrátí hodnotu libovolného booleovského operátoru.

[NOT] boolean_expression

NEBO

Vrátí TRUE, pokud je některý z booleovských výrazů TRUE.

boolean_expression NEBO boolean_expression

NĚJAKÝ

Vrátí TRUE, pokud je některá sada srovnání TRUE.

skalární_výraz<= { SOME} ( subquery )

Provozovatelé řešení rozsahu

Operátor Význam Příklad

::

Poskytuje přístup ke statickým členům složeného datového typu. Složené datové typy jsou ty datové typy, které obsahují více metod a jednoduché datové typy. Složené datové typy Patří sem vestavěné typy CLR a vlastní SQLCLR typy definované uživatelem (UDT).

DECLARE @hid hierarchyid SELECT @hid = hierarchyid :: GetRoot () PRINT @ hid.ToString ()

Nastavit operátory

Existují hlavně tři nastavené operace:SVAZ,PROSÍT,MÍNUS. Na obrázku níže můžete porozumět nastaveným operacím v SQL. Viz následující obrázek:

Operátor Význam Syntax

SVAZ

Operátor UNION se používá ke kombinaci sady výsledků dvou nebo více příkazů SELECT.

VYBERTE Názvy sloupců z tabulky1
SVAZ
VYBERTE Názvy sloupců z tabulky2

PROSÍT

Klauzule INTERSECT se používá ke kombinaci dvouVYBRATpříkazy a vrátí průnik datových sad obou příkazů SELECT.

VYBERTE Sloupec1, Sloupec2….
FROM TableName
KDE Podmínka
PROSÍT
VYBERTE Sloupec1, Sloupec2….
FROM TableName
KDE Podmínka

AŽ NA

Operátor EXCEPT vrátí ty n-tice, které jsou vráceny první operací SELECT a nejsou vráceny druhou operací SELECT.

VYBERTE NázevSloupce
FROM TableName
AŽ NA
VYBERTE NázevSloupce
FROM TableName

Řetězcoví operátoři

Operátor Význam Syntaxe / příklad

+ (Zřetězení řetězců)

Zřetězí dva nebo více binárních nebo znakových řetězců, sloupců nebo kombinace řetězců a názvů sloupců do jednoho výrazu

výraz + výraz

+ = (Řetězcové zřetězení)

Používá se k zřetězení dvou řetězců a nastavení řetězce na výsledek operace.

výraz + = výraz

% (Odpovídající zástupné znaky)

Slouží k porovnání libovolného řetězce s nulovým nebo více znaky.

Příklad: ‘sample%’

[] (Zástupné znaky se shodují)

Slouží k přiřazení jednoho znaku v zadaném rozsahu nebo sadě, která je uvedena v závorkách [].

Příklad: m [n-z]% “

[^] (Zástupné znaky se shodují)

Slouží k přiřazení jednoho znaku, který není v rozsahu nebo sadě uvedené v hranatých závorkách.

Příklad: „Al [^ a]%“

_ (Zástupné znaky odpovídající)

Slouží k porovnání jednoho znaku v operaci porovnání řetězců

test_expression [NOT] IN (poddotaz | výraz [,… n])

Agregát Funkce

Odlišný agregační funkce podporované serverem SQL jsou následující:

Funkce Popis Syntax Příklad

SOUČET()

Slouží k vrácení součtu skupiny hodnot.

VYBERTE SUM (ColumnName) Z TableName

VYBERTE SOUČET (značky) Z StudentsInfo

POČET()

Vrátí počet řádků buď na základě podmínky, nebo bez podmínky.

VYBERTE POČET (ColumnName) Z TableName WHERE Podmínka

VYBERTE POČET (ID studenta) Z StudentsInfo

AVG ()

Slouží k výpočtu průměrné hodnoty číselného sloupce.

VYBERTE AVG (ColumnName) Z TableName

VYBERTE AVG (značky) Z StudentsInfo

MIN ()

Tato funkce vrací minimální hodnotu sloupce.

VYBERTE MIN (ColumnName) Z TableName

VYBERTE MIN (známky) Z StudentsInfo

MAX ()

Vrátí maximální hodnotu sloupce.

VYBERTE MAX (NázevSloupce) Z NázevTabulky

VYBERTE MAX (známky) Z StudentsInfo

ZA PRVÉ()

Slouží k vrácení první hodnoty sloupce.

VYBERTE PRVNÍ (ColumnName) Z TableName

VYBERTE PRVNÍ (známky) Z StudentsInfo

POSLEDNÍ()

Tato funkce vrací poslední hodnotu sloupce.

VYBERTE POSLEDNÍ (ColumnName) Z TableName

VYBERTE POSLEDNÍ (značky) Z StudentsInfo

Uživatelem definované funkce

Microsoft SQL Server umožňuje uživatelům vytvářet uživatelsky definované funkce, které jsou rutinami. Tyto rutiny přijímají parametry, mohou provádět jednoduché až složité akce a vracet výsledek této konkrétní akce jako hodnotu. Zde může být vrácená hodnota buď jedinou skalární hodnotou, nebo kompletní sadou výsledků.

Uživatelsky definované funkce můžete použít k:

  • Povolit modulární programování
  • Snižte síťový provoz
  • Umožněte rychlejší provádění dotazů

Existují také různé typy uživatelsky definovaných funkcí, které můžete vytvořit. Oni jsou:

  • Skalární funkce: Zvyklývrátit jednu datovou hodnotu typu definovaného v klauzuli RETURNS.
  • Funkce s tabulkovými hodnotami: Zvyklývrátit astůldatový typ.
  • Funkce systému: SQL Server poskytuje různé systémové funkce k provádění různých operací.

Kromě uživatelsky definovaných funkcí existuje na serveru SQL Server spousta vestavěných funkcí, které lze použít k provádění různých úkolů. Pohybující se v tomto článku na kurzu SQL Serveru pojďme nyní porozumět tomu, co jsou vnořené dotazy.

Vnořené dotazy

Vnořené dotazy jsou ty dotazy, které mají vnější dotaz a vnitřní poddotaz. V podstatě je tedy poddotaz dotaz, který je vnořený do jiného dotazu, jako je SELECT, INSERT, UPDATE nebo DELETE. Viz obrázek níže:

Dále v tomto kurzu SQL Serveru pojďme pochopit různé typy spojení v SQL.

Připojí

se používají ke kombinování n-tic ze dvou nebo více tabulek na základě souvisejícího sloupce mezi tabulkami. Existují čtyři typy spojení:

  • VNITŘNÍ SPOJENÍ: Vrátí záznamy, které mají shodné hodnoty v obou tabulkách.
  • LEFT JOIN: Vrátí záznamy z levé tabulky a také ty záznamy, které splňují podmínku z pravé tabulky.
  • SPRÁVNÉ PŘIPOJENÍ: Vrátí záznamy z pravé tabulky a také ty záznamy, které splňují podmínku z levé tabulky.
  • FULL JOIN: Vrátí záznamy, které mají shodu v levé nebo pravé tabulce.

Zvažte následující tabulku spolu s tabulkou StudentsInfo, abyste pochopili syntaxi spojení.

ID subjektu StudentID Název subjektu
1010Matematika
2jedenáctFyzika
312Chemie

VNITŘNÍ SPOJENÍ

Syntax

VYBERTE Názvy sloupců Z tabulky 1 VNITŘNÍ PŘIPOJENÍ Table2 ON Table1.ColumnName = Table2.ColumnName

Příklad

VYBERTE Předměty.SubjectID, StudentsInfo.StudentName Z OBJEDNÁVEK VNITŘNÍ PŘIPOJTE se StudentInfo ON Předměty.StudentID = StudentsInfo.StudentID

VLEVO SE PŘIPOJTE

Syntax

VYBERTE Názvy sloupců Z tabulky 1 LEFT JOIN Table2 ON Table1.ColumnName = Table2.ColumnName

Příklad

VÝBĚR StudentsInfo.StudentName, Subjekty.SubjectID FROM StudentsInfo VLEVO PŘIPOJTE se Předměty ON StudentsInfo.SubjectID = Předměty.SubjectID OBJEDNÁVKA podle StudentsInfo.StudentName

SPRÁVNĚ SE PŘIPOJTE

Syntax

VYBERTE Názvy sloupců Z tabulky 1 SPRÁVNÉ PŘIPOJENÍ Table2 ON Table1.ColumnName = Table2.ColumnName

Příklad

VYBERTE studentyInfo.StudentName, Subjekty.SubjectID FROM StudentsInfo SPRÁVNĚ PŘIPOJTE se Předměty NA StudentsInfo.SubjectID = Subjekty.SubjectID OBJEDNAT PODLE StudentsInfo.StudentName

FULL JOIN

Syntax

VYBERTE Názvy sloupců Z tabulky 1 FULL OUTER JOIN Table2 ON Table1.ColumnName = Table2.ColumnName

Příklad

VÝBĚR StudentsInfo.StudentName, Subjekty.SubjectID FROM StudentsInfo PLNÉ VNĚJŠÍ PŘIPOJENÍ Předměty ON StudentsInfo.SubjectID = Předměty.SubjectID OBJEDNÁVKA podle StudentsInfo.StudentName

Dále v tomto článku o kurzu SQL Serveru pojďme pochopit různé typy smyček podporovaných serverem SQL.

Smyčky

Různé příkazy řízení toku jsou následující:

Pojďme diskutovat o každém z nich jeden po druhém.

ZAČNĚTE ... KONEC

Tato klíčová slova se používají k uzavření řady příkazů SQL. Poté lze provést tuto skupinu příkazů SQL.

Syntax

ZAČÍNAT StatementBlock END

PŘESTÁVKA

Tento příkaz se používá k ukončení aktuální smyčky WHILE. V případě, že je aktuální smyčka WHILE vnořena do jiné smyčky, pak příkaz BREAK ukončí pouze aktuální smyčku a ovládací prvek se předá dalšímu příkazu v aktuální smyčce. Příkaz BREAK se obecně používá uvnitř příkazu IF.

Syntax

PŘESTÁVKA

POKRAČOVAT

Příkaz POKRAČOVAT se používá k restartování smyčky WHILE. Jakékoli výroky za klíčovým slovem POKRAČOVAT budou ignorovány.

Syntax

POKRAČOVAT

Zde je štítek bod, po kterém začne zpracování, pokud je GOTO zaměřeno na tento konkrétní štítek.

JÍT DO

Používá se ke změně toku provedení na štítek. Příkazy napsané za klíčovým slovem GOTO jsou přeskočeny a zpracování pokračuje na štítku.

Syntax

Definujte štítek: Štítek: Změnit provedení: Štítek GOTO

Zde je štítek bod, po kterém začne zpracování, pokud je GOTO zaměřeno na tento konkrétní štítek.

POKUD ... JINÉ

Stejně jako jakýkoli jiný programovací jazyk příkaz If-else na serveru SQL Server testuje podmínku a pokud je podmínka nepravdivá, provede se příkaz ‚else '.

Syntax

IF BooleanExpression StatementBlock [ELSE StatementBlock]

VRÁTIT SE

Používá se k bezpodmínečnému ukončení z dotazu nebo procedury. Příkazy, které jsou zapsány po klauzuli RETURN, se tedy neprovádějí.

Syntax

NÁVRAT [IntegerExpression]

Zde se vrátí celočíselná hodnota.

ČEKAT NA

Tok řízení WAITFOR se používá k blokování provádění uložené procedury, transakce nebo dávky, dokud se konkrétní příkaz nezmění, nevrátí alespoň jeden řádek nebo neuplyne určený čas nebo časový interval.

Syntax

WAITFOR (GetConversionGroupStatement)] [, TIMEOUT časový limit]

kde,

  • ZPOŽDĚNÍ - Časové období, které musí uplynout
  • TimeToPass - Pdoba čekání
  • ČAS - Thečas, kdy běží uložená procedura, transakce nebo dávka.
  • TimeToExecute - Thečas, kdy skončí příkaz WAITFOR.
  • Přijmout prohlášení - TOplatné prohlášení RECEIVE.
  • GetConversionGroupStatement - TOplatné prohlášení GET CONVERSATION GROUP.
  • Časový limit TIMEOUT - Určuje časové období v milisekundách, po které se má čekat na doručení zprávy do fronty.

ZATÍMCO

Tato smyčka se používá k nastavení podmínky pro opakované provádění konkrétního příkazu SQL nebo bloku příkazu SQL. Příkazy se provádějí, pokud je podmínka uvedená uživatelem TRUE. Jakmile podmínka selže, smyčka se zastaví.

Syntax

WHILE BooleanExpression StatementBlock

Nyní, když víte, DML příkazy, pojďme se podívat na naši další sekciv tomto článku o výukovém programu SQL, tj. příkazech DCL.

Příkazy jazyka pro řízení dat (DCL)

Tato část kurzu serveru SQL Server vám poskytne představu o příkazu, jehož prostřednictvím se používají k vynucení zabezpečení databáze v prostředí více uživatelů databáze. Příkazy jsou následující:

GRANT

Příkaz GRANT se používá k poskytnutí přístupu nebo oprávnění k databázi a jejím objektům uživatelům.

Syntax

UDĚLIT PrivilegeName ON ObjectName TO RoleName [S MOŽNOSTÍ GRANTU]

kde,

  • Název oprávnění - Je uživateli uděleno oprávnění / právo / přístup.
  • ObjectName - Název databázového objektu, jako je TABLE / VIEW / STORED PROC.
  • Uživatelské jméno - Jméno uživatele, kterému byl udělen přístup / práva / oprávnění.
  • VEŘEJNOST - Udělit přístupová práva všem uživatelům.
  • RoleName - Název sady oprávnění seskupených dohromady.
  • S MOŽNOSTÍ GRANTU - Poskytnout uživateli přístup k udělení dalších práv uživatelům.

Příklad

- Udělit oprávnění SELECT tabulce StudentsInfo uživateli1 GRANT VÝBĚR NA studentyInfo TO1

ZRUŠIT

Příkaz REVOKE se používá k odebrání přístupových oprávnění uživatele udělených pomocí příkazu GRANT.

Syntax

ODSTRÁNIT PrivilegeName NA ObjectName Z VEŘEJNOSTI

Příklad

- Odvolání uděleného oprávnění od uživatele1 ZRUŠIT VÝBĚR NA StudentsInfo TO user1

V tomto výukovém programu pro SQL Server přejdeme k tomu, jak vytvořit a používat uložené procedury.

Uložené procedury

Uložené procedury jsou opakovaně použitelné jednotky, které zapouzdřují konkrétní obchodní logiku aplikace. Jedná se tedy o skupinu příkazů a logiky SQL, které jsou kompilovány a ukládány společně za účelem provedení konkrétního úkolu.

Syntax

VYTVOŘIT [NEBO VYMĚNIT] POSTUP postup_název [(název_parametru [IN | OUT | IN OUT] typ [])] ZAČÍNÁ [deklarace_sekce] spustitelný_sekce // Příkaz SQL použitý v uložené proceduře END GO

Příklad

--Create a procedure that will return a student name when the StudentId is given as the input parameter to the stored procedure Create PROCEDURE GetStudentName (@StudentId INT, --Input parameter, @StudName VARCHAR (50) OUT --Output parameter, AS BEGIN SELECT @StudName = StudentName FROM StudentsInfo WHERE StudentID = @ StudentId END

Kroky k provedení:

      • Deklarovat @StudName jako nvarchar (50)
      • EXEC GetStudentName 01, výstup @StudName
      • SELECT @StudName

Výše uvedený postup vrací jméno konkrétního studenta,na tom, že těmto studentům přidáte id. Dále v tomto výukovém programu pro SQL Server, pojďme pochopit příkazy jazyka řízení transakcí.

Transaction Control Language Commands (TCL)

Tato část kurzu SQL Serveru vám poskytne přehled o příkazech, které se používají ke správě transakcí v databázi.Příkazy jsou následující:

SPÁCHAT

Příkaz COMMIT se používá k uložení transakce do databáze.

Syntax

SPÁCHAT

ROLLBACK

Příkaz ROLLBACK se používá k obnovení databáze do posledního potvrzeného stavu.

Syntax

ROLLBACK

POZNÁMKA: Pokud použijete ROLLBACK s SAVEPOINT, můžete v probíhající transakci přímo přeskočit na bod uložení. Syntaxe: ROLLBACK TO SavepointName

SAVEPOINT

Příkaz SAVEPOINT se používá k dočasnému uložení transakce. Pokud si tedy přejete vrátit se k jakémukoli bodu, můžete tento bod uložit jako „SAVEPOINT“.

Syntax

předat hodnotu předat odkaz java
SAVEPOINT SAVEPOINTNAME

Následující tabulka vám pomůže porozumět fungování transakcí v databázi.

StudentID Jméno studenta
jedenRohit
2Suhana
3Ashish
4Prerna

Nyní použijte níže porozumět transakcím v databázi.

INSERT INTO StudentTable VALUES (5, 'Avinash') COMMIT UPDATE StudentTable SET name = 'Akash' WHERE id = '5' SAVEPOINT S1 INSERT INTO StudentTable VALUES (6, 'Sanjana') SAVEPOINT S2 INSERT INTO StudentTable VALUES (7, 'Sanjay ') SAVEPOINT S3 INSERT INTO StudentTable VALUES (8,' Veena ') SAVEPOINT S4 SELECT * FROM StudentTable

Dále v tomto článku v kurzu SQL Serveru necháme pochopit, jak zpracovat výjimky v Transact-SQL.

Zpracování výjimek

Existují dva typy výjimek, tj. Systémově definované výjimky a uživatelem definované výjimky. Jak název napovídá, zpracování výjimek je proces, jehož prostřednictvím může uživatel zpracovat generované výjimky. Chcete-li zpracovat výjimky, musíte pochopit následující příkazy toku řízení:

HÁZET

Tato klauzule se používá k vyvolání výjimky a přenosu výkonu do bloku CATCH konstrukce TRY… CATCH.

Syntax

THROW [ErrorNumber, @localvariable, State] []

kde,

  • Číslo chyby - TOkonstanta nebo proměnná, která představuje výjimku.
  • Zpráva - TOproměnná nebo řetězec, který popisuje výjimku.
  • Stát -Konstanta nebo proměnná mezi 0 a 255, která označuje stav, který se má ke zprávě přidružit.
THROW 51000, 'Record does not exist.', 1

ZKUS CHYTIT

Používá se k implementaci zpracování výjimek v Transact-SQL. V bloku TRY lze uzavřít skupinu příkazů. V případě, že v bloku TRY dojde k chybě, je řízení předáno jiné skupině příkazů, které jsou uzavřeny v bloku CATCH.

Syntax

ZAČNĚTE VYZKOUŠAT StatementBlock KONEC ZKOUŠEJTE ZAČÍNAT CATCH [StatementBlock] KONIEC ZÍSKAT []
ZAČNĚTE VYZKOUŠET VÝBĚR * ZE StudentsInfo ZKUSTE VYZKOUŠEJTE ZVOLTE VÝBĚR CHYBY ERROR_NUMBER () JAKO ErNum, ERROR_MESSAGE () JAKO ErMsg KONEC ÚLOH

V Tímto se dostáváme na konec tohoto článku v kurzu SQL Server. Doufám, že se vám líbilo čtení tohoto článku o SQL Server Tutorial pro začátečníky. Pokud si přejete získat strukturované školení o MySQL, podívejte se na naše který přichází s živým tréninkem vedeným instruktorem a zkušenostmi z reálného projektu. Toto školení vám pomůže porozumět MySQL do hloubky a pomůže vám dosáhnout zvládnutí předmětu. Máte na nás dotaz? Uveďte to prosím v sekci komentářů na stránce ” Výukový program pro SQL Server „A ozvu se vám.