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 |
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. |
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ů. | |
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:
- Co je to SQL Server?
- Nainstalujte SQL Server
- Připojte se k serveru SQL pomocí SSMS
- Access Database Engine
- Architektura serveru SQL
- Komentáře v SQL
- Datové typy serveru SQL Server
- Klíče v databázi
- Omezení v databázi
- Operátoři
- Souhrnné funkce
- Uživatelem definované funkce
- Vnořené dotazy
- Připojí
- Smyčky
- Uložené procedury
- 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ě |
jeden | nesnáším | Akriti mehra | 9955339966 | Brigade Road Block 9 | Hyderabad | Indie |
2 | Manasa | Shourya Sharma | 9234568762 | Mayo Road 15 | Kalkata | Indie |
3 | Anay | Soumya Mishra | 9876914261 | Marathalliho dům č. 101 | Bengaluru | Indie |
4 | Preeti | Rohan Sinha | 9765432234 | Queens Road 40 | Dillí | Indie |
5 | Shanaya | Abhinayův agarwal | 9878969068 | Oberoi Street 21 | Bombaj | Indie |
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 hodnot | 0 až 255 | |
smallint | Používá se k ukládání celočíselných hodnot | -2 ^ 15 (-32 768) až 2 ^ 15-1 (32 767) | |
bigint | Použí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) | |
int | Používá se k ukládání celočíselných hodnot | -2 ^ 31 (-2 147 483 648) až 2 ^ 31-1 (2 147 483 647) | |
bit | Ukládá celočíselný datový typ, který určuje hodnotu 0, 1 nebo NULL | 0, 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íze | Používá se k ukládání peněžních prostředkůnebo hodnoty měny. | - 214 748,3648 až 214 748 3647 | |
peníze | Použí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ák | Použí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 | datum | Používá se k definování data na serveru SQL Server. | Syntaxe: datum |
malý čas | Použí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ůzky | Použí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 | |
datetimeoffset | Použí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 | |
čas | Používá se k definování denní doby. | Syntaxe: čas | |
Řetězce znaků | char | Používá se k ukládání znaků pevné velikosti. | char[( n )] kde n hodnota se pohybuje od 1 do 8 000 |
varchar | Slouží 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. | |
text | Používá se k ukládání vdata non-Unicode s nastavitelnou délkou | Maximální povolená délka řetězce - 2 ^ 31-1 (2 147 483 647) | |
Řetězce znaků Unicode | nchar | Používá se k ukládání znaků pevné velikosti. | nchar[(n)] kde hodnota n se pohybuje od 1 do 4 000 |
nvarchar | Slouží 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. | |
ntext | Používá se k ukládání dat Unicode s proměnnou délkou | Maximá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élky | binární[( n )] kde n hodnota se pohybuje od 1 do 8 000 |
varbinary | Používá se k ukládání binárních datových typů buď pevné délky | varbinary[( n )], kde se n vale pohybuje od 1 do 8 000 a maximální povolené úložiště je 2 ^ 31-1 bajtů. | |
obraz | Používá se k ukládání binárních dat s proměnnou délkou | 0 - 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. | - | |
hierarchyid | Používá se k reprezentaci pozice v hierarchii. | - | |
unikátní identifikátor | Je 16bajtový GUID. | Syntax:unikátní identifikátor | |
sql_variant | Slouží k ukládání hodnot různých datových typů podporovaných serverem SQL | Syntaxe: sql_variant | |
xml | Používá se k ukládání datového typu XML. | xml ([OBSAH | DOKUMENT] xml_schemacollection) | |
Typy prostorové geometrie | Používá se k reprezentaci dat v euklidovském (plochém) souřadnicovém systému. | - | |
Typy prostorové geografie | Slouží k ukládání elipsoidních (kulatých) dat, jako jsou souřadnice GPS zeměpisné šířky a délky. | - | |
stůl | Slouží 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 |
jeden | nesnáším | 87 |
2 | Manasa | 92 |
4 | Anay | 74 |
Cílová tabulka:
StudentID | Jméno studenta | Známky |
jeden | nesnáším | 87 |
2 | Manasa | 67 |
3 | Saurabh | 55 |
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 |
jeden | nesnáším | 87 |
2 | Manasa | 92 |
4 | Anay | 74 |
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í:
- Aritmetické operátory
- Operátoři přiřazení
- Bitové operátory
- Porovnávací operátoři
- Složené operátory
- Logičtí operátoři
- Provozovatelé řešení rozsahu
- Nastavit operátory
- Operátoři zřetězení řetězců
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]) |
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 |
10 | 10 | Matematika |
2 | jedenáct | Fyzika |
3 | 12 | Chemie |
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 |
jeden | Rohit |
2 | Suhana |
3 | Ashish |
4 | Prerna |
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.Já 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.