Na dzisiejszym rynku, na którym codziennie generowana jest ogromna ilość danych, bardzo ważne jest zrozumienie, jak postępować z danymi. SQL Server to zintegrowane środowisko opracowane przez firmę Microsoft do obsługi danych.W tym artykule na temat samouczka SQL Server nauczysz się wszystkich operacji i poleceń potrzebnych do eksploracji baz danych.
Dla lepszego zrozumienia blog podzieliłem na następujące kategorie:
Polecenia | Opis |
Ten zestaw poleceń służy do definiowania bazy danych. | |
Polecenia języka manipulacji danymi (DML) | Polecenia manipulacji służą do manipulowania danymi znajdującymi się w bazie danych. |
Ten zestaw poleceń dotyczy uprawnień, praw i innych kontroli systemów baz danych. | |
Te polecenia są używane do zajmować się transakcją bazy danych. |
Oprócz poleceń w tym artykule omówiono następujące tematy:
- Co to jest SQL Server?
- Zainstaluj SQL Server
- Połącz się z programem SQL Server za pomocą programu SSMS
- Access Database Engine
- Architektura SQL Server
- Komentarze w języku SQL
- Typy danych programu SQL Server
- Klucze w bazie danych
- Ograniczenia w bazie danych
- Operatorzy
- Funkcje agregujące
- Funkcje zdefiniowane przez użytkownika
- Zagnieżdżone zapytania
- Łączy
- Pętle
- Procedury składowane
- Obsługa wyjątków
***UWAGA*** W tym samouczku dotyczącym SQL Server zamierzam rozważyć poniższą bazę danych jakoprzykład, aby pokazać, jak się uczyć i pisaćpolecenia.
Legitymacja studencka | StudentName | Imię rodzica | Numer telefonu | Adres | Miasto | Kraj |
jeden | Nienawidzę | Akriti mehra | 9955339966 | Blok drogowy Brygady 9 | Hyderabad | Indie |
2 | Manasa | Shourya Sharma | 9234568762 | Mayo Road 15 | Kalkuta | Indie |
3 | Anay | Soumya Mishra | 9876914261 | Marathalli House No 101 | Bengaluru | Indie |
4 | Preeti | Rohan Sinha | 9765432234 | Queens Road 40 | Delhi | Indie |
5 | Shanaya | Abhinay agarwal | 9878969068 | Ulica Oberoi 21 | Bombaj | Indie |
Zanim zaczniemy rozumieć różne polecenia używane w SQL Server, zrozummy, czym jest SQL Server, jego architektura i jak go zainstalować.
Co to jest SQL Server?
Microsoft SQL Server jest relacyjny system zarządzania bazą danych . Obsługuje Strukturalny język zapytań i zawiera własną implementację języka SQL, którym jest Transact-SQL (T-SQL) . Posiada zintegrowane środowisko do obsługi baz danych SQL, jakim jest .
Kluczowe składniki programu SQL Server są następujące:
- Silnik bazy danych: Ten komponent obsługuje przechowywanie, szybkie przetwarzanie transakcji i zabezpieczanie danych.
- SQL Server - Ta usługa służy do uruchamiania, zatrzymywania, wstrzymywania i kontynuowania wystąpienia MS SQL Server.
- Agent programu SQL Server - Usługa Agent serwera pełni rolę harmonogramu zadań i jest wyzwalana przez dowolne zdarzenie lub zgodnie z wymaganiami.
- Przeglądarka SQL Server - Ta usługa służy do łączenia przychodzącego żądania z żądaną instancją programu SQL Server.
- Wyszukiwanie pełnotekstowe programu SQL Server - Służy do umożliwienia użytkownikowi wykonywania zapytań pełnotekstowych na danych znakowych w tabelach SQL.
- Moduł zapisujący VSS programu SQL Server - Umożliwia tworzenie kopii zapasowych i przywracanie plików danych, gdy SQL Server nie działa.
- Usługi SQL Server Analysis Services (SSAS) - Ta usługa służy do analizy danych, eksploracji danych i możliwości. SQL Server jest również zintegrowany z i R do zaawansowanej analizy danych.
- Usługi SQL Server Reporting Services (SSRS) - Jak sama nazwa wskazuje, ta usługa jest używana w celu zapewnienia funkcji i możliwości podejmowania decyzji, w tym integracji z .
- Usługi integracji programu SQL Server (SSIS) - Ta usługa służy do wykonywania operacji ETL dla różnych typów danych z wielu źródeł danych.
Teraz, gdy wiesz, co to jest MS SQL Server, przejdźmy dalej w tym artykule na temat samouczka SQL Server i zrozumiemy, jak zainstalować i skonfigurować SQL Server.
Zainstaluj SQL Server
Wykonaj poniższe czynności, aby zainstalować program SQL Server:
Krok 1: Przejdź do oficjalnej strony Pobieranie programu Microsoft SQL Server , gdzie znajdziesz opcję zainstalowania programu SQL Server lokalnie lub w chmurze.
Krok 2: Teraz przewiń w dół, a zobaczysz dwie opcje: Wersja Developer i Enterprise . Tutaj będę pobierać plik Wersja deweloperska . Aby pobrać, wystarczy kliknąć plik Pobierz teraz opcja. Patrz poniżej.
Krok 3: Po pobraniu aplikacji kliknij dwukrotnie plik, a zobaczysz następujące okno.
Krok 4: Teraz możesz wybrać jedną z 3 opcji konfiguracji SQL Server. Tutaj po prostu wybiorę Opcja podstawowa . Po wybraniu opcji typu instalacji następnym ekranem byłoby zaakceptowanie umowy licencyjnej. Aby to zrobić, kliknij Zaakceptować w następnym oknie.
Krok 5: Następnie musisz określić lokalizację instalacji programu SQL Server. Następnie musisz kliknąć Zainstaluj.
Po kliknięciu zainstalować zobaczysz, że pobierane są wymagane pakiety. Teraz, po zakończeniu instalacji, zobaczysz następujący ekran:
Tutaj możesz przejść dalej i kliknąć Połącz teraz lub dostosować instalację. Dla lepszego zrozumienia pójdę dalej i dokonam wyboru Dostosuj.
Krok 6: Po kliknięciu Dostosuj w powyższym oknie zobaczysz otwierający się następujący kreator. w następnym oknie kliknij Kolejny.
Krok 7: Po automatycznym zainstalowaniu reguł kliknij Kolejny . Patrz poniżej.
Krok 8: Następnie musisz wybrać typ instalacji. Więc wybierz Wykonaj nowa instalacja SQL Server 2017 opcję, a następnie kliknij Kolejny.
Krok 9: W otwartym kreatorze wybierz edycję: Deweloper. Następnie kliknij Kolejny . Patrz poniżej.
Krok 10: Teraz przeczytaj i zaakceptuj umowy licencyjne, zaznaczając przycisk opcji, a następnie kliknij Kolejny . Patrz poniżej.
Krok 11: W poniższym kreatorze możesz wybrać funkcje, które chcesz zainstalować. Możesz także wybrać katalog główny instancji, a następnie kliknąć Kolejny . Tutaj wybiorę Usługi aparatu bazy danych .
Krok 12: Następnie musisz nazwać instancję, a identyfikator instancji zostanie automatycznie utworzony. Tutaj nazwę instancji „edureka”. Następnie kliknij Kolejny.
Krok 13: W kreatorze konfiguracji serwera kliknij Kolejny .
Krok 14: Teraz musisz włączyć tryby uwierzytelniania. Tutaj zobaczysz plik Tryb uwierzytelniania systemu Windows i Tryb mieszany . Wybieram tryb mieszany. Następnie podaj hasło, a następnie dodam bieżącego użytkownika jako Administrator wybierając plik Dodaj bieżącego użytkownika opcja.
Krok 15: Następnie wybierz ścieżkę do pliku konfiguracyjnego i kliknij zainstalować .
Po zakończeniu instalacji zobaczysz następujący ekran:
Połącz się z programem SQL Server za pomocą programu SSMS
Po zainstalowaniu programu SQL Server następnym krokiem jest połączenie programu SQL Server z programem SQL Server Management Studio. Aby to zrobić, wykonaj poniższe czynności:
Krok 1: Wróć do następnego okna i kliknij plik zainstaluj SSMS opcja.
Krok 2: Po kliknięciu tej opcji zostaniesz przekierowany do następną stronę , gdzie musisz wybrać Pobierz SSMS.
Krok 3: Po pobraniu instalacji kliknij dwukrotnie aplikację, a zostanie wyświetlony następujący kreator.
Krok 4: Kliknij Opcja instalacji , w powyższym oknie, a zobaczysz, że instalacja się rozpocznie.
Krok 5: Po zakończeniu instalacji pojawi się okno dialogowe, jak pokazano poniżej.
Po zainstalowaniu programu SSMS następnym krokiem jest uzyskanie dostępu do Silnik bazy danych .
Uzyskiwanie dostępu do aparatu bazy danych
Po otwarciu pliku Studio zarządzania serwerem SQL z menu startowe , otworzy się okno podobne do okna pokazanego na poniższym obrazku.
W tym miejscu podaj nazwę serwera, tryb uwierzytelniania i kliknij Połączyć.
Po kliknięciu Połączyć , zobaczysz następujący ekran.
Cóż, ludzie, w ten sposób instalujesz i konfigurujesz SQL Server. Przechodząc do przodu w tym samouczku dotyczącym SQL Server, pozwól nam zrozumieć różne składniki architektury SQL Server.
Architektura SQL Server
Architektura SQL Server jest następująca:
- serwer & minus Tutaj są instalowane usługi SQL i rezyduje baza danych
- Silnik relacyjny & minus Zawiera parser zapytań, optymalizator i moduł wykonawczy, a wykonanie odbywa się w silniku relacyjnym.
- Parser poleceń & minus Sprawdza składnię zapytania i konwertuje zapytanie na język maszynowy.
- Optimizer & minus Przygotowuje plan wykonania jako wyjście, biorąc dane wejściowe ze statystyk, zapytań i drzewa algebratora.
- Query Executor & minus Jest to miejsce, w którym zapytania są wykonywane krok po kroku
- Silnik pamięci masowej & minus Odpowiada za przechowywanie i odzyskiwanie danych w systemie pamięci masowej, manipulowanie danymi, zarządzanie i blokowanie transakcji.
Teraz, gdy wiesz, jak skonfigurować i zainstalować SQL Server i jego różne składniki, zacznijmy od pisania Serwer. Ale wcześniej pozwolę sobie na omówienie sposobu pisania komentarzy w SQL Server.
Komentarze w SQL Server
Istnieją dwa sposoby komentowania w SQL, tj. Albo użyj s komentarze w linii prostej albo m komentarze ulti-line .
Komentarze jednowierszowe
Komentarze jednowierszowe zaczynają się od dwa myślniki (-). Stąd tekst wymieniony po (-) do końca pojedynczej linii zostanie zignorowany przez kompilator.
Przykład:
- przykład komentarzy w jednym wierszu
Komentarze wielowierszowe
Komentarze wieloliniowe zaczynają się od / * i kończą na * / . Stąd wspomniany tekst / * i * / zostaną zignorowane przez kompilator.
Przykład:
/ * Przykład komentarzy wielowierszowych * /
Teraz w tym artykule dotyczącym samouczka SQL Server zacznijmy od pierwszego zestawu poleceń, tj. Poleceń języka definicji danych.
Polecenia języka definicji danych
W tej części artykułu dowiesz się, jakie polecenia są polecenia, za pomocą których możesz zdefiniować swoją bazę danych. Polecenia są następujące:
STWÓRZ
Ta instrukcja służy do tworzenia tabeli, bazy danych lub widoku.
Instrukcja „CREATE DATABASE”
Ta instrukcja służy do tworzenia bazy danych.
Składnia
UTWÓRZ BAZY DANYCH NazwaBazy danych
Przykład
UTWÓRZ BAZĘ DANYCH Studentów
„ UTWÓRZ TABELĘ „Oświadczenie
Jak sama nazwa wskazuje, ta instrukcja służy do tworzenia tabeli.
Składnia
CREATE TABLE TableName (typ danych Kolumna1, Typ danych Kolumna2, Typ danych Kolumna3, typ danych KolumnaN)
Przykład
CREATE TABLE StudentInfo (StudentID int, StudentName varchar (8000), ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000), City varchar (8000), Country varchar (8000))
UPUSZCZAĆ
Ta instrukcja służy do usuwania istniejącej tabeli, bazy danych lub widoku.
Instrukcja „DROP DATABASE”
Ta instrukcja służy do usuwania istniejącej bazy danych. Pełne informacje obecne w bazie danych zostaną utracone, gdy tylko wykonasz poniższe polecenie.
Składnia
DROP DATABASE DatabaseName
Przykład
DROP DATABASE Studenci
Instrukcja „DROP TABLE”
Ta instrukcja służy do usuwania istniejącej tabeli. Pełne informacje zawarte w tabeli zostaną utracone, gdy tylko wykonasz poniższe polecenie.
Składnia
DROP TABLE TableName
Przykład
DROP TABLE StudentInfo
WIEK
Polecenie ALTER służy do dodawania, usuwania lub modyfikowania kolumn lub ograniczeń w istniejącej tabeli.
„ ALTER TABELA „Oświadczenie
Ta instrukcja służy do dodawania, usuwania i modyfikowania kolumn w istniejącej tabeli.
Instrukcja „ALTER TABLE” z kolumną ADD / DROP
Instrukcja ALTER TABLE jest używana z poleceniem ADD / DROP Column do dodawania i usuwania kolumny.
Składnia
ALTER TABLE TableName ADD ColumnName Typ danych ALTER TABLE TableName DROP COLUMN ColumnName
Przykład
--DODAJ Column BloodGroup: ALTER TABLE StudentInfo DODAJ BloodGroup varchar (8000) --DROP Column BloodGroup: ALTER TABLE StudentInfo DROP COLUMN BloodGroup
Instrukcja „ALTER TABLE” z ALTER COLUMN
Instrukcja ALTER TABLE może być używana z kolumną ALTER do zmiany typu danych istniejącej kolumny w tabeli.
Składnia
ALTER TABLE TableName ALTER COLUMN ColumnName Typ danych
Przykład
- Dodaj kolumnę DOB i zmień typ danych z daty na datę i godzinę. ALTER TABLE StudentInfo DODAJ DOB date ZMIEŃ TABELĘ StudentInfo ZMIEŃ KOLUMNĘ DOB datetime
ŚCIĘTY
To polecenie SQL służy do usuwania informacji znajdujących się w tabeli, ale nie usuwa samej tabeli. Tak więc, jeśli chcesz usunąć informacje obecne w tabeli, a nie usunąć samą tabelę, musisz użyć polecenia TRUNCATE. W przeciwnym razie użyj polecenia DROP.
Składnia
TRUNCATE TABLE TableName
Przykład
TABELA TRUNCATE StudentInfo
PRZEMIANOWAĆ
Ta instrukcja służy do zmiany nazwy jednej lub wielu tabel.
Składnia
sp_rename 'OldTableName', 'NewTableName'
Przykład
sp_rename 'StudentInfo', 'Infostudents'
Przechodząc dalej w tym artykule dotyczącym samouczka SQL Server, pozwól nam zrozumieć różne typy danych obsługiwane przez SQL Server.
Typy danych programu SQL Server
Kategoria typu danych | Nazwa typu danych | Opis | Zakres / składnia |
Dokładne liczby | numeryczny | Służy do przechowywania wartości liczbowych ze stałą dokładnością i skalą | - 10 ^ 38 +1 do 10 ^ 38 - 1. |
tinyint | Służy do przechowywania wartości całkowitych | Od 0 do 255 | |
smallint | Służy do przechowywania wartości całkowitych | Od -2 ^ 15 (-32 768) do 2 ^ 15-1 (32767) | |
bigint | Służy do przechowywania wartości całkowitych | -2 ^ 63 (-9 223 372 036 854 775 808) do 2 ^ 63-1 (9 223 372 036 854 775 807) | |
int | Służy do przechowywania wartości całkowitych | Od -2 ^ 31 (-2 147 483 648) do 2 ^ 31-1 (2 147 483 647) | |
kawałek | Przechowuje dane typu integer, które przekazują wartość 0, 1 lub NULL | 0, 1 lub NULL | |
dziesiętny | Służy do przechowywania wartości liczbowych ze stałą dokładnością i skalą | - 10 ^ 38 +1 do 10 ^ 38 - 1. | |
małe pieniądze | Służy do przechowywania pieniędzylub wartości walutowe. | - 214 748,3648 do 214 748,3647 | |
pieniądze | Służy do przechowywania pieniędzylub wartości walutowe. | -922.337.203.685.477,5808 do 922.337.203.685.477,5807 (-922.337.203.685.477,58 do 922.337.203.685.477,58 dla Informatica. | |
Przybliżone liczby | pływak | Służy do przechowywania zmiennoprzecinkowych danych liczbowych | - 1,79E + 308 do -2,23E-308, 0 i 2,23E-308 do 1,79E + 308 |
real | Służy do przechowywania zmiennoprzecinkowych danych liczbowych | - 3,40E + 38 do -1,18E - 38, 0 i 1,18E - 38 do 3,40E + 38 | |
Data i godzina | data | Służy do definiowania daty w programie SQL Server. | Składnia: data |
smalldatetime | Służy do definiowania daty łączonej z porą dnia, w której czas jest oparty na 24-godzinnym dniu, z sekundami zawsze równymi zero (: 00) i bez ułamków sekund. | Składnia: smalldatetime | |
datetime | Służy do definiowania daty, która jest łączona z godziną dnia z ułamkami sekund na podstawie zegara 24-godzinnego. | Składnia: datetime | |
datetime2 | datetime2 jest rozszerzeniem istniejącego datetime typ, który ma większą domyślną dokładność ułamkową i duży zakres dat. | Składnia: datetime2 | |
datetimeoffset | Służy do definiowania daty połączonej z porą dnia o określonej strefie czasowej. Jest oparty na zegarze 24-godzinnym. | Składnia: datetimeoffset | |
czas | Służy do określenia pory dnia. | Składnia: czas | |
Ciągi znaków | zwęglać | Służy do przechowywania znaków o stałym rozmiarze. | zwęglać[( n )] gdzie wartość n waha się od 1 do 8 000 |
varchar | Służy do przechowywania znaków o zmiennej długości. | varchar [( n | max)], gdzie wartość n waha się od 1 do 8000, a maksymalna dozwolona pojemność to 2 GB. | |
tekst | Używany do przechowywania vdane o zmiennej długości nie w Unicode | Maksymalna dozwolona długość ciągu - 2 ^ 31-1 (2,147,483,647) | |
Ciągi znaków Unicode | nchar | Służy do przechowywania znaków o stałym rozmiarze. | nchar[(n)] gdzie wartość n waha się od 1-4000 |
nvarchar | Służy do przechowywania znaków o zmiennej długości. | varchar [( n | max)], gdzie wartość n waha się od 1 do 4000, a maksymalna dozwolona pojemność to 2 GB. | |
ntext | Służy do przechowywania danych Unicode o zmiennej długości | Maksymalna dozwolona długość ciągu - 2 ^ 30-1 (2,147,483,647) | |
Ciągi binarne | dwójkowy | Służy do przechowywania binarnych typów danych o stałej długości | dwójkowy[( n )] gdzie wartość n waha się od 1 do 8 000 |
varbinary | Służy do przechowywania binarnych typów danych o stałej długości | varbinary[( n )], gdzie wartość n waha się od 1 do 8000, a maksymalna dozwolona wielkość pamięci to 2 ^ 31-1 bajtów. | |
wizerunek | Służy do przechowywania danych binarnych o zmiennej długości | 0 - 2 ^ 31-1 (2 147 483 647) bajtów | |
Inne typy danych | Jest to typ danych dla procedury składowanej lub parametrów OUTPUT zmiennych, które zawierają odwołanie do kursora. | - | |
wierszwersja | Służy do ujawniania automatycznie generowanych, unikalnych liczb binarnych w bazie danych. | - | |
hierarchyid | Używane do przedstawiania pozycji w hierarchii. | - | |
unikalny identyfikator | To 16-bajtowy identyfikator GUID. | Składnia:unikalny identyfikator | |
sql_variant | Służy do przechowywania wartości różnych typów danych obsługiwanych przez SQL Server | Składnia: sql_variant | |
xml | Służy do przechowywania typu danych XML. | xml ([TREŚĆ | DOKUMENT] xml_schemacollection) | |
Typy geometrii przestrzennej | Używany do reprezentowania danych w euklidesowym (płaskim) układzie współrzędnych. | - | |
Typy geografii przestrzennej | Używane do przechowywania danych elipsoidalnych (okrągłej ziemi), takich jak współrzędne geograficzne GPS. | - | |
stół | Służy do przechowywania zestawu wyników do późniejszego przetworzenia | - |
Następnie w tym artykule pozwól nam zrozumieć różne typy kluczy i ograniczeń w bazie danych.
Różne typy kluczy w bazie danych
Poniżej przedstawiono różne typy kluczy używanych w bazie danych:
- Klucz kandydata - Klucz kandydata to zestaw atrybutów, które mogą jednoznacznie identyfikować tabelę. Tabela może mieć więcej niż jeden klucz kandydujący, a spośród wybranych kluczy kandydujących jeden klucz jest wybierany jako klucz podstawowy.
- Super klucz - Zestaw atrybutów może jednoznacznie identyfikować krotkę. Zatem klucze kandydujące, unikalne klucze i klucze podstawowe są super kluczami, ale odwrotnie nie jest prawdą.
- Klucz podstawowy - Klucze podstawowe są używane do jednoznacznego identyfikowania każdej krotki.
- Alternatywny klucz - Klucze alternatywne to te klucze kandydujące, które nie zostały wybrane jako klucz podstawowy.
- Unikalny klucz- Klucze unikatowe są podobne do klucza podstawowego, ale zezwalają na pojedynczą wartość NULL w kolumnie.
- Klucz obcy - Atrybut, który może przyjmować tylko wartości obecne jako wartości innego atrybutu, to klucz obcy do atrybutu, do którego się odnosi.
- Klucz złożony- Klucze złożone to połączenie dwóch lub więcej kolumn, które jednoznacznie identyfikują każdą krotkę.
Ograniczenia używane w bazie danych
Ograniczenia są używane w bazie danych do określenia reguł dla danych przechowywanych w tabeli. Różne typy ograniczenia w SQL są następujące:
NIE JEST ZEREM
Ograniczenie NOT NULL gwarantuje, że kolumna nie może mieć wartości NULL.
Przykład
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 w ALTER TABLE ALTER TABLE StudentsInfo ALTER COLUMN PhoneNumber int NOT NULL
WYJĄTKOWY
To ograniczenie zapewnia, że wszystkie wartości w kolumnie są unikatowe.
Przykład
--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 w wielu kolumnach CREATE TABLE StudentsInfo (StudentID int NOT NULL, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, Miasto varchar (8000), Kraj varchar (8000) CONSTRAINT UC_Student_Info UNIQUE (StudentID, PhoneNumber)) --UNIQUE on ALTER TABLE ALTER TABLE StudentsInfo DODAJ UNIQUE (StudentID) - Aby usunąć UNIKALNE ograniczenie ALTER TABLE StudentsInfo DROP CONSTRAINT UC_Student_Info
CZEK
Ograniczenie CHECK zapewnia, że wszystkie wartości w kolumnie spełniają określony warunek.
Przykład
--CHECK Ograniczenie dotyczące 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 (Kraj = 'Indie')) --CHECK Ograniczenie w wielu kolumnach CREATE TABLE StudentsInfo (StudentID int NOT NULL, StudentName varchar8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, Miasto varchar (8000), Kraj varchar (8000) SPRAWDŹ (Kraj = 'Indie' AND Miasto = 'Hyderabad')) - SPRAWDŹ Ograniczenie w ALTER TABLE ALTER TABLE StudentsInfo DODAJ SPRAWDZANIE (Kraj = 'Indie') - Aby podać name do CHECK Constraint ALTER TABLE StudentsInfo DODAJ OGRANICZENIE CheckConstraintName CHECK (Kraj = 'Indie') - Aby porzucić sprawdzanie ograniczenia ALTER TABLE StudentsInfo DROP CONSTRAINT CheckConstraintName
DOMYŚLNA
Ograniczenie DEFAULT składa się z zestawu wartości domyślnych dla kolumny, gdy nie określono żadnej wartości.
Przykład
--DEFAULT Ograniczenie dotyczące 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 - Aby usunąć domyślne ograniczenie ALTER TABLE StudentsInfo ALTER COLUMN Country DROP defau_Country
INDEKS
Plik Ograniczenie INDEX służy do tworzenia indeksów w tabeli, dzięki którym można bardzo szybko tworzyć i pobierać dane z bazy danych.
Składnia
- Utwórz indeks, w którym dozwolone są zduplikowane wartości. CREATE INDEX IndexName ON TableName (Column1, Column2, ... ColumnN) - Utwórz indeks, w którym zduplikowane wartości są niedozwolone. CREATE UNIQUE INDEX IndexName ON TableName (Column1, Column2, ... KolumnaN)
Przykład
UTWÓRZ INDEKS idex_StudentName ON StudentsInfo (StudentName) - aby usunąć indeks w tabeli DROP INDEX StudentsInfo.idex_StudentName
Przechodząc dalej w tym artykule na temat samouczka SQL Server, przyjrzyjmy się teraz różnym poleceniom języka manipulacji danymi używanymi w Microsoft SQL Server.
Polecenia języka manipulacji danymi
W tej sekcji artykułu zostaną omówione wszystkie polecenia, za pomocą których można manipulować bazą danych. Polecenia są następujące:
- POSŁUGIWAĆ SIĘ
- WŁÓŻ W
- AKTUALIZACJA
- USUNĄĆ
- UDAĆ SIĘ
- WYBIERZ
- SZEŚCIAN
- ROLLUP
- OFFSETOWY
- SPROWADZAĆ
- TOP
- SWORZEŃ
Oprócz tych poleceń istnieją również inne operatory / funkcje manipulacyjne, takie jak:
POSŁUGIWAĆ SIĘ
Ta instrukcja służy do wybierania bazy danych w celu rozpoczęcia wykonywania na niej różnych operacji.
Składnia
UŻYJ DatabaseName
Przykład
UŻYWAJ Uczniów
WŁÓŻ W
Plik Instrukcja INSERT INTO służy do wstawiania nowych rekordów do istniejącej tabeli.
Składnia
INSERT INTO TableName (Column1, Column2, Column3, ..., ColumnN) VALUES (wartość1, wartość2, wartość3, ...) - Jeśli nie chcesz wymieniać nazw kolumn, użyj poniższej składni INSERT INTO TableName VALUES (Wartość1, Wartość2, Wartość3, ...)
Przykład
INSERT INTO StudentsInfo (StudentID, StudentName, ParentName, PhoneNumber, AddressofStudent, City, Country) VALUES ('06', 'Sanjana', 'Kapoor', '9977331199', 'Buffalo Street House No 10', 'Kalkuta', 'Indie ') INSERT INTO StudentsInfo VALUES (' 07 ',' Vishal ',' Mishra ',' 9876509712 ',' Nice Road 15 ',' Pune ',' India ')
AKTUALIZACJA
Instrukcja UPDATE służy do modyfikowania lub aktualizowania rekordów już obecnych w tabeli.
Składnia
UPDATE TableName SET Kolumna1 = Wartość1, Kolumna2 = Wartość2, ... Warunek WHERE
Przykład
UPDATE StudentsInfo SET StudentName = 'Aahana', City = 'Ahmedabad' WHERE StudentID = 1
USUNĄĆ
Instrukcja DELETE służy do usuwania istniejących rekordów w tabeli.
Składnia
DELETE FROM TableName WHERE warunek
Przykład
USUŃ FROM StudentsInfo WHERE StudentName = 'Aahana'
UDAĆ SIĘ
Instrukcja MERGE służy do wykonywania operacji INSERT, UPDATE i DELETE na określonej tabeli, w której znajduje się tabela źródłowa. Patrz poniżej.
Składnia
ŁĄCZENIE TagretTableName KORZYSTANIE Z SourceTableName NA MergeCondition GDY DOPASOWANE TO Update_Statement, GDY NIE DOPASOWANE, TO Wstaw_Statement, JEŚLI NIE DOPASOWANE PRZEZ ŹRÓDŁO, A następnie USUŃ
Przykład
Aby zrozumieć instrukcję MERGE, rozważ poniższe tabele jako tabelę źródłową i tabelę docelową.
Tabela źródłowa:
Legitymacja studencka | StudentName | Znaki |
jeden | Nienawidzę | 87 |
2 | Manasa | 92 |
4 | Anay | 74 |
Tabela docelowa:
Legitymacja studencka | StudentName | Znaki |
jeden | Nienawidzę | 87 |
2 | Manasa | 67 |
3 | Saurabh | 55 |
ŁĄCZENIE SampleTargetTable TARGET PRZY UŻYCIU SampleSourceTable SOURCE ON (TARGET.StudentID = SOURCE.StudentID) WHEN MATCHED AND TARGET.StudentName SOURCE.StudentName OR TARGET.Marks SOURCE.Marks THEN UPDATE SET TARGET.Student.StudentName = SOURGET.Student. JEŚLI NIE DOPASOWANE PRZEZ TARGET TO WSTAW (StudentID, StudentName, Marks) WARTOŚCI (SOURCE.StudentID, SOURCE.StudentName, SOURCE.Marks), GDY NIE DOPASOWANE PRZEZ ŹRÓDŁO, A następnie USUŃ
Wynik
Legitymacja studencka | StudentName | Znaki |
jeden | Nienawidzę | 87 |
2 | Manasa | 92 |
4 | Anay | 74 |
WYBIERZ
Plik Instrukcja SELECT służy do wybierania danych z bazy danych, tabeli lub widoku. Zwrócone dane są przechowywane w tabeli wynikowej o nazwie zestaw wyników .
zastosowania analizy dużych zbiorów danych
Składnia
SELECT Column1, Column2, ... ColumN FROM TableName - (*) służy do wybrania wszystkich z tabeli SELECT * FROM table_name - Aby wybrać liczbę rekordów do zwrócenia, użyj: SELECT TOP 3 * FROM TableName
Przykład
- Aby wybrać kilka kolumn SELECT StudentID, StudentName FROM StudentsInfo - (*) służy do wybrania wszystkich z tabeli SELECT * FROM StudentsInfo - Aby wybrać liczbę rekordów do zwrócenia, użyj: SELECT TOP 3 * FROM StudentsInfo
Możemy również użyć następujących słów kluczowych z instrukcją SELECT:
ODRĘBNY
Słowo kluczowe DISTINCT jest używane z instrukcją SELECT w celu zwrócenia tylko różnych wartości.
Składnia
SELECT DISTINCT Kolumna1, Kolumna2, ... KolumnaN FROM TableName
Przykład
WYBIERZ DISTINCT PhoneNumber FROM StudentsInfo
ZAMÓW PRZEZ
Ta instrukcja służy do sortowania wymaganych wyników w kolejności rosnącej lub malejącej. Domyślnie wyniki są przechowywane w kolejności rosnącej. Jeśli jednak chcesz uzyskać wyniki w porządku malejącym, musisz użyć rozszerzenia DESC słowo kluczowe.
Składnia
SELECT Column1, Column2, ... ColumnN FROM TableName ORDER BY Column1, Column2, ... ASC | DESC
Przykład
- Wybierz wszystkich uczniów z tabeli „StudentsInfo” posortowanej według ParentName: SELECT * FROM StudentsInfo ORDER BY ParentName - Wybierz wszystkich uczniów z tabeli „StudentsInfo” posortowanej malejąco według ParentName: SELECT * FROM StudentsInfo ORDER BY ParentName DESC - Wybierz wszystkich uczniów z tabeli „StudentsInfo” posortowanej według ParentName i StudentName: SELECT * FROM StudentsInfo ORDER BY ParentName, StudentName / * Wybierz wszystkich uczniów z tabeli „StudentsInfo” posortowanych według ParentName w porządku malejącym i StudentName w porządku rosnącym: * / SELECT * FROM StudentsInfo ORDER BY ParentName ASC, StudentName DESC
GRUPUJ WEDŁUG
Ta instrukcja jest używana z funkcje agregujące aby pogrupować zestaw wyników według co najmniej jednej kolumny.
Składnia
SELECT Column1, Column2, ..., ColumnN FROM TableName WHERE Warunek GROUP BY ColumnName (y) ORDER BY ColumnName (y)
Przykład
- Aby wymienić liczbę studentów z każdego miasta. WYBIERZ LICZBĘ (ID studenta), miasto od StudentsInfo GRUPA WEDŁUG MIASTA
ZESTAWY GRUPOWANE
ZESTAWY GRUPOWANIA zostały wprowadzone w SQL Server 2008, używane do generowania zestawu wyników, który może być generowany przez plik UNIA WSZYSTKO wielu prostych klauzul GROUP BY.
Składnia
SELECT ColumnNames (s) FROM TableName GROUP BY GROUPING SETS (ColumnName (s))
Przykład
Wybierz StudentID, StudentName, COUNT (City) z StudentsInfo Group WEDŁUG ZESTAWÓW GRUPOWANIA ((StudentID, StudentName, City), (StudentID), (StudentName), (City))
MAJĄCY
Ta klauzula jest używana w scenariuszu, w którym Słowo kluczowe WHERE nie może być użyty.
Składnia
SELECT ColumnName (s) FROM TableName WHERE Warunek GROUP BY ColumnName (s) HAVING Condition ORDER BY ColumnName (s)
Przykład
WYBIERZ LICZBĘ (StudentID), miasto od StudentsInfo GRUPA WEDŁUG MIASTA Z LICZBĄ (StudentID)> 2 ZAMÓWIENIE WEDŁUG LICZBA (StudentID) DESC
W
Słowo kluczowe INTO może być używane z Instrukcja SELECT kopiować dane z jednej tabeli do drugiej. Cóż, możesz zrozumieć te tabele jako tabele tymczasowe. Tabele tymczasowe są zwykle używane do wykonywania operacji na danych zawartych w tabeli, bez naruszania oryginalnej tabeli.
Składnia
SELECT * INTO NewTable [IN ExternalDB] FROM OldTable Warunek WHERE
Przykład
- Aby utworzyć kopię zapasową tabeli „StudentsInfo” WYBIERZ * INTO StudentsBackup FROM StudentsInfo - Aby wybrać tylko kilka kolumn z StudentsInfo, SELECT StudentName, PhoneNumber INTO StudentsDetails FROM StudentsInfo SELECT * INTO PuneStudents FROM StudentsInfo WHERE City = „Pune”
SZEŚCIAN
CUBE jest rozszerzeniem Klauzula GROUP BY . Pozwala na generowanie sum częściowych dla wszystkich kombinacji kolumn grupujących określonych w klauzuli GROUP BY.
Składnia
SELECT ColumnName (s) FROM TableName GROUP BY CUBE (ColumnName1, ColumnName2, ....., ColumnNameN)
Przykład
SELECT StudentID, COUNT (City) FROM StudentsInfo GROUP BY CUBE (StudentID) ORDER BY StudentID
ROLLUP
ROLLUP jest rozszerzeniem klauzuli GROUP BY. Pozwala to na dołączenie dodatkowych wierszy, które reprezentują sumy częściowe. Są one określane jako wiersze superagregowane wraz z wierszem sumy całkowitej.
Składnia
SELECT ColumnName (s) FROM TableName GROUP BY ROLLUP (ColumnName1, ColumnName2, ....., ColumnNameN)
Przykład
SELECT StudentID, COUNT (City) FROM StudentsInfo GROUP BY ROLLUP (StudentID)
OFFSETOWY
Klauzula OFFSET jest używana z poleceniami SELECT i ORDER BY oświadczenie aby pobrać szereg rekordów. Musi być używany z klauzulą ORDER BY, ponieważ nie może być używany samodzielnie. Ponadto podany zakres musi być równy lub większy od 0. Jeśli podasz wartość ujemną, oznacza to błąd.
Składnia
SELECT ColumnNames) FROM TableName WHERE Warunek ORDER BY ColumnNames (s) OFFSET RowsToSkip ROWS
Przykład
Rozważ nową kolumnę Znaki w StudentsInfo stół.
SELECT StudentName, ParentName FROM StudentsInfo ORDER BY Marks OFFSET 1 ROWS
SPROWADZAĆ
Klauzula FETCH służy do zwracania zestawu liczby wierszy. Musi być używany w połączeniu z klauzulą OFFSET.
Składnia
SELECT ColumnNames) FROM TableName WHERE Warunek ORDER BY ColumnName (s) OFFSET RowsToSkip FETCH NEXT NumberOfRows ROWS ONLY
Przykład
SELECT StudentName, ParentName FROM StudentsInfo KOLEJNOŚĆ WEDŁUG OZNACZENIA PRZESUNIĘCIE 1 RZĘDY POBIERZ TYLKO NASTĘPNE 1 WIERSZE
TOP
Klauzula TOP jest używana z instrukcją SELECT w celu podania liczby rekordów do zwrócenia.
Składnia
SELECT TOP Number ColumnName (s) FROM TableName WHERE Warunek
Przykład
WYBIERZ TOP 3 * Z StudentsInfo
SWORZEŃ
PIVOT służy do obracania wierszy do wartości kolumn i uruchamia agregacje, gdy jest to wymagane, na pozostałych wartościach kolumn.
Składnia
SELECT NonPivoted ColumnName, [First Pivoted ColumnName] AS ColumnName, [Second Pivoted ColumnName] AS ColumnName, [Third Pivoted ColumnName] AS ColumnName, ... [Last Pivoted ColumnName] AS ColumnName FROM (zapytanie SELECT, które generuje dane) AS [alias dla początkowego zapytania] PIVOT ([AggregationFunction] (ColumName) FOR [ColumnName kolumny, której wartości staną się nagłówkami kolumn] IN ([First Pivoted ColumnName], [Second Pivoted ColumnName], [Third Pivoted ColumnName] ... [ostatni kolumna przestawna])) AS [alias tabeli przestawnej]
Przykład
Aby uzyskać szczegółowy przykład, możesz odwołać się do mój artykuł na temat SQL PIVOT i UNPIVOT . Następnie w tym samouczku dotyczącym SQL Server przyjrzyjmy się różnym operatorom obsługiwanym przez Microsoft SQL Server.
Operatorzy
Plik różne typy operatorów obsługiwane przez SQL Server są następujące:
- Operatory arytmetyczne
- Operatory przypisania
- Operatory bitowe
- Operatory porównania
- Operatory złożone
- Operatory logiczne
- Operatorzy rozstrzygania zakresu
- Operatory zbioru
- Operatory konkatenacji łańcuchów
Omówmy każdy z nich jeden po drugim.
Operatory arytmetyczne
Operator | Znaczenie | Składnia |
+ | Dodanie | wyrażenie + wyrażenie |
- | Odejmowanie | wyrażenie - wyrażenie |
* | Mnożenie | wyrażenie * wyrażenie |
/ | Divison | wyrażenie / wyrażenie |
% | Modularny | wyrażenie% wyrażenie |
Operatory przypisania
Operator | Znaczenie | Składnia |
= | Przypisz wartość do zmiennej | zmienna = „wartość” |
Operatory bitowe
Operator | Znaczenie | Składnia |
& (Bitowe AND) | Służy do wykonywania bitowej operacji logicznej AND między dwiema wartościami całkowitymi. | wyrażenie i wyrażenie |
& = (Przypisanie bitowe AND) | Służy do wykonywania bitowej operacji logicznej AND między dwiema wartościami całkowitymi. Ustawia również wartość na wyjściu operacji. | wyrażenie & = wyrażenie |
| (Bitowe LUB) | Służy do wykonywania bitowej operacji logicznej OR między dwiema wartościami całkowitymi, tłumaczonymi na wyrażenia binarne w instrukcjach języka Transact-SQL. | wyrażenie | wyrażenie |
| = (Przypisanie bitowe LUB) | Służy do wykonywania bitowej operacji logicznej OR między dwiema wartościami całkowitymi, tłumaczonymi na wyrażenia binarne w instrukcjach języka Transact-SQL. Ustawia również wartość na wyjściu operacji. | wyrażenie | = wyrażenie |
^ (Wyłączne w bitach LUB) | Służy do wykonywania bitowej operacji wyłącznej OR między dwiema wartościami całkowitymi. | wyrażenie ^ wyrażenie |
^ = (Wyłączność bitowa LUB przypisanie) | Służy do wykonywania bitowej operacji wyłącznej OR między dwiema wartościami całkowitymi. Ustawia również wartość na wyjściu operacji. | wyrażenie ^ = wyrażenie |
~ (Bitowe NIE) | Służy do wykonywania bitowej operacji logicznej NIE na wartości całkowitej. | ~ wyrażenie |
Operatory porównania
Operator | Znaczenie | Składnia |
= | Równy | wyrażenie = wyrażenie |
> | Lepszy niż | wyrażenie> wyrażenie |
< | Mniej niż | wyrażenie |
> = | Większy lub równy | wyrażenie> = wyrażenie |
<= | Mniejszy lub równy | wyrażenie<= expression |
Nie równa się | wyrażenie wyrażenie | |
! = | Nie równa się | wyrażenie! = wyrażenie |
!< | Nie mniej niż | wyrażenie ! |
!> | Nie większe niż | wyrażenie!> wyrażenie |
Operatory złożone
Operator | Znaczenie | Składnia |
+ = | Służy do dodawania wartości do oryginalnej wartości i ustawiania oryginalnej wartości w wyniku. | wyrażenie + = wyrażenie rzutowanie typów w java z przykładem |
- = | Służy do odejmowania wartości od oryginalnej wartości i ustawiania oryginalnej wartości na wynik. | wyrażenie - = wyrażenie |
* = | Służy do mnożenia wartości do oryginalnej wartości i ustawiania oryginalnej wartości na wynik. | wyrażenie * = wyrażenie |
/ = | Służy do dzielenia wartości od wartości oryginalnej i ustawiania oryginalnej wartości na wynik. | wyrażenie / = wyrażenie |
% = | Służy do dzielenia wartości od wartości oryginalnej i ustawiania oryginalnej wartości na wynik. | wyrażenie% = wyrażenie |
& = | Służy do wykonywania bitowej operacji AND i ustawiania oryginalnej wartości na wynik. | wyrażenie & = wyrażenie |
^ = | Służy do wykonywania bitowej operacji wyłącznej OR i ustawiania oryginalnej wartości na wynik. | wyrażenie ^ = wyrażenie |
| = | Służy do wykonywania bitowej operacji LUB i ustawiania oryginalnej wartości na wynik. | wyrażenie | = wyrażenie |
Operatory logiczne
Operator | Znaczenie | Składnia |
WSZYSTKO | Zwraca wartość TRUE, jeśli wszystkie porównania mają wartość TRUE. | scalar_expression! = ALL (podzapytanie) |
I | Zwraca wartość TRUE, jeśli oba wyrażenia mają wartość TRUE. | boolean_expression AND boolean_expression |
KAŻDY | Zwraca PRAWDA, jeśli którekolwiek z porównań ma wartość PRAWDA. | scalar_expression! = {ANY} (podzapytanie) |
POMIĘDZY | Zwraca wartość TRUE, jeśli operand należy do zakresu. | sampleexpression [NIE] MIĘDZY wyrażeniem początkowym a wyrażeniem końcowym |
ISTNIEJE | Zwraca wartość TRUE, jeśli podzapytanie zawiera jakiekolwiek wiersze. | ISTNIEJE (zapytanie podrzędne) |
W | Zwraca TRUE, jeśli operand jest równy jednemu z listy wyrażeń. | test_expression [NIE] W (podzapytanie | wyrażenie [,… n]) |
Zwraca wartość TRUE, jeśli operand pasuje do wzorca. | match_expression [NOT] LIKE wzorzec [ESCAPE escape_character] | |
NIE | Odwraca wartość dowolnego operatora logicznego. | [NIE] boolean_expression |
LUB | Zwraca wartość TRUE, jeśli jedno z wyrażeń logicznych ma wartość TRUE. | boolean_expression LUB boolean_expression |
TROCHĘ przekazywanie argumentów wiersza poleceń w java | Zwraca wartość PRAWDA, jeśli niektóre ze zbioru porównań mają wartość PRAWDA. | scalar_expression<= { SOME} ( subquery ) |
Operatorzy rozstrzygania zakresu
Operator | Znaczenie | Przykład |
:: | Zapewnia dostęp do statycznych elementów członkowskich złożonego typu danych. Złożone typy danych to te typy danych, które zawierają wiele metod i proste typy danych. Złożone typy danych Obejmują one wbudowane typy CLR i niestandardowe typy zdefiniowane przez użytkownika (UDT) SQLCLR. | DECLARE @hid hierarchyid SELECT @hid = hierarchyid :: GetRoot () PRINT @ hid.ToString () |
Operatory zbioru
Istnieją głównie trzy zestawy operacji:UNIA,KRZYŻOWAĆ,MINUS. Możesz zapoznać się z poniższym obrazem, aby zrozumieć operacje na zestawach w języku SQL. Zobacz poniższy obraz:
Operator | Znaczenie | Składnia |
UNIA | Operator UNION służy do łączenia zestawu wyników dwóch lub więcej instrukcji SELECT. | SELECT ColumnName (s) FROM Table1 UNIA SELECT ColumnName (s) FROM Table2 |
KRZYŻOWAĆ | Klauzula INTERSECT służy do łączenia dwóchWYBIERZinstrukcje i zwracają część wspólną zestawów danych obu instrukcji SELECT. | SELECT Kolumna1, Kolumna2…. FROM TableName GDZIE Stan KRZYŻOWAĆ SELECT Kolumna1, Kolumna2…. FROM TableName GDZIE Stan |
Z WYJĄTKIEM | Operator EXCEPT zwraca te krotki, które są zwracane przez pierwszą operację SELECT i nie są zwracane przez drugą operację SELECT. | SELECT ColumnName FROM TableName Z WYJĄTKIEM SELECT ColumnName FROM TableName |
Operatory łańcuchowe
Operator | Znaczenie | Składnia / przykład |
+ (Konkatenacja ciągów znaków) | Łączy dwa lub więcej ciągów binarnych lub znakowych, kolumn lub kombinacji ciągów i nazw kolumn w jedno wyrażenie | wyrażenie + wyrażenie |
+ = (Konkatenacja ciągów znaków) | Służy do łączenia dwóch ciągów i ustawia ciąg na wynik operacji. | wyrażenie + = wyrażenie |
% (Znaki wieloznaczne do dopasowania) | Służy do dopasowywania dowolnego łańcucha zawierającego zero lub więcej znaków. | Przykład: „sample%” |
[] (Symbole wieloznaczne do dopasowania) | Służy do dopasowania pojedynczego znaku w określonym zakresie lub zestawie, który jest określony w nawiasach []. | Przykład: m [n-z]% ” |
[^] (Symbole wieloznaczne do dopasowania) | Służy do dopasowywania pojedynczego znaku, który nie mieści się w zakresie lub jest poza zakresem określonym w nawiasach kwadratowych. | Przykład: „Al [^ a]%” |
_ (Znaki wieloznaczne do dopasowania) | Służy do dopasowania pojedynczego znaku w operacji porównania ciągów | test_expression [NIE] W (podzapytanie | wyrażenie [,… n]) |
Agregat Funkcje
Inny funkcje agregujące obsługiwane przez SQL Server są następujące:
Funkcjonować | Opis | Składnia | Przykład |
SUMA() | Służy do zwracania sumy grupy wartości. | SELECT SUM (ColumnName) FROM TableName | SELECT SUM (Marks) FROM StudentsInfo |
LICZYĆ() | Zwraca liczbę wierszy na podstawie warunku lub bez warunku. | SELECT COUNT (ColumnName) FROM TableName WHERE Warunek | SELECT COUNT (StudentID) FROM StudentsInfo |
ŚR () | Służy do obliczania średniej wartości kolumny liczbowej. | SELECT AVG (ColumnName) FROM TableName | WYBIERZ AVG (znaki) z StudentsInfo |
MIN () | Ta funkcja zwraca minimalną wartość kolumny. | SELECT MIN (ColumnName) FROM TableName | WYBIERZ MIN (punkty) od StudentsInfo |
MAX () | Zwraca maksymalną wartość kolumny. | SELECT MAX (ColumnName) FROM TableName | SELECT MAX (Marks) FROM StudentsInfo |
PIERWSZY() | Służy do zwracania pierwszej wartości kolumny. | SELECT FIRST (ColumnName) FROM TableName | SELECT FIRST (Marks) from StudentsInfo |
OSTATNI, UBIEGŁY, ZESZŁY() | Ta funkcja zwraca ostatnią wartość kolumny. | SELECT LAST (ColumnName) FROM TableName | SELECT LAST (Marks) FROM StudentsInfo |
Funkcje zdefiniowane przez użytkownika
Microsoft SQL Server umożliwia użytkownikom tworzenie funkcji zdefiniowanych przez użytkownika, które są procedurami. Te procedury akceptują parametry, mogą wykonywać proste do złożonych działań i zwracać wynik tej konkretnej czynności jako wartość. W tym przypadku zwracana wartość może być pojedynczą wartością skalarną lub pełnym zestawem wyników.
Możesz użyć funkcji zdefiniowanych przez użytkownika, aby:
- Zezwalaj na programowanie modułowe
- Zmniejsz ruch sieciowy
- Zezwalaj na szybsze wykonywanie zapytań
Istnieją również różne typy funkcji zdefiniowanych przez użytkownika, które można utworzyć. Oni są:
- Funkcje skalarne: Przyzwyczajonyzwracają pojedynczą wartość danych typu zdefiniowanego w klauzuli RETURNS.
- Funkcje wartościowane w tabeli: Przyzwyczajonypowrót astółtyp danych.
- Funkcje systemu: SQL Server zapewnia różnorodne funkcje systemowe do wykonywania różnych operacji.
Cóż, oprócz funkcji zdefiniowanych przez użytkownika, w SQL Server jest kilka wbudowanych funkcji, które mogą być używane do wykonywania różnych zadań. Przechodząc dalej w tym artykule dotyczącym samouczka programu SQL Server, pozwól nam teraz zrozumieć, czym są zapytania zagnieżdżone.
Zagnieżdżone zapytania
Zapytania zagnieżdżone to te zapytania, które mają zapytanie zewnętrzne i podzapytanie wewnętrzne. Zasadniczo podzapytanie to zapytanie zagnieżdżone w innym zapytaniu, takim jak SELECT, INSERT, UPDATE lub DELETE. Zobacz obrazek poniżej:
Następnie w tym samouczku dotyczącym SQL Server, pozwól nam zrozumieć różne typy sprzężeń w SQL.
Łączy
są używane do łączenia krotek z dwóch lub więcej tabel na podstawie powiązanej kolumny między tabelami. Istnieją cztery typy złączeń:
- WEWNĘTRZNE DOŁĄCZ: Zwraca rekordy, które mają zgodne wartości w obu tabelach.
- LEWY DOŁĄCZ: Zwraca rekordy z lewej tabeli, a także te rekordy, które spełniają warunek z prawej tabeli.
- PRAWO DOŁĄCZ: Zwraca rekordy z prawej tabeli, a także te rekordy, które spełniają warunek z lewej tabeli.
- PEŁNE DOŁĄCZ: Zwraca rekordy, które mają dopasowanie w lewej lub prawej tabeli.
Rozważ poniższą tabelę wraz z tabelą StudentsInfo, aby zrozumieć składnię sprzężeń.
SubjectID | Legitymacja studencka | Nazwa przedmiotu |
10 | 10 | Matematyka |
2 | jedenaście | Fizyka |
3 | 12 | Chemia |
WEWNĘTRZNE DOŁĄCZENIE
Składnia
SELECT ColumnName (s) Z tabeli 1 INNER JOIN Table2 ON Table1.ColumnName = Table2.ColumnName
Przykład
SELECT Subjects.SubjectID, StudentsInfo.StudentName FROM Subjects INNER JOIN StudentsInfo ON Subjects.StudentID = StudentsInfo.StudentID
LEFT JOIN
Składnia
SELECT ColumnName (s) Z tabeli 1 LEFT JOIN Table2 ON Table1.ColumnName = Table2.ColumnName
Przykład
SELECT StudentsInfo.StudentName, Subjects.SubjectID FROM StudentsInfo LEFT JOIN Subjects ON StudentsInfo.SubjectID = Subjects.SubjectID ORDER BY StudentsInfo.StudentName
PRAWO DOŁĄCZ
Składnia
SELECT ColumnName (s) Z tabeli 1 RIGHT JOIN Table2 ON Table1.ColumnName = Table2.ColumnName
Przykład
SELECT StudentsInfo.StudentName, Subjects.SubjectID FROM StudentsInfo RIGHT JOIN Subjects ON StudentsInfo.SubjectID = Subjects.SubjectID ORDER BY StudentsInfo.StudentName
PEŁNE DOŁĄCZ
Składnia
SELECT ColumnName (s) Z tabeli 1 FULL OUTER JOIN Table2 ON Table1.ColumnName = Table2.ColumnName
Przykład
SELECT StudentsInfo.StudentName, Subjects.SubjectID FROM StudentsInfo FULL OUTER JOIN Subjects ON StudentsInfo.SubjectID = Subjects.SubjectID ORDER BY StudentsInfo.StudentName
Następnie w tym artykule na temat samouczka SQL Server, pozwól nam zrozumieć różne typy pętli obsługiwane przez SQL Server.
Pętle
Różne polecenia sterowania przepływem są następujące:
Omówmy każdy z nich jeden po drugim.
BEGIN..END
Te słowa kluczowe są używane do umieszczania serii instrukcji SQL. Następnie można wykonać tę grupę instrukcji SQL.
Składnia
BEGIN StatementBlock END
PRZERWA
Ta instrukcja służy do opuszczania bieżącej pętli WHILE. W przypadku, gdy bieżąca pętla WHILE jest zagnieżdżona w innej pętli, wówczas instrukcja BREAK opuszcza tylko bieżącą pętlę, a sterowanie jest przekazywane do następnej instrukcji w bieżącej pętli. Instrukcja BREAK jest zwykle używana wewnątrz instrukcji IF.
Składnia
PRZERWA
KONTYNTYNUJ
Instrukcja CONTINUE służy do ponownego uruchomienia pętli WHILE. Zatem wszelkie instrukcje występujące po słowie kluczowym CONTINUE zostaną zignorowane.
Składnia
KONTYNTYNUJ
Tutaj etykieta jest punktem, po którym rozpoczyna się przetwarzanie, jeśli GOTO jest kierowane do tej konkretnej etykiety.
IŚĆ DO
Służy do zmiany przepływu wykonania do etykiety. Instrukcje zapisane po słowie kluczowym GOTO są pomijane, a przetwarzanie jest kontynuowane na etykiecie.
Składnia
Zdefiniuj etykietę: Label: Alter Wykonanie: GOTO Label
Tutaj etykieta jest punktem, po którym rozpoczyna się przetwarzanie, jeśli GOTO jest kierowane do tej konkretnej etykiety.
JEŚLI INACZEJ
Jak każdy inny język programowania, instrukcja If-else w SQL Server sprawdza warunek i jeśli warunek jest fałszywy, wykonywana jest instrukcja „else”.
Składnia
IF BooleanExpression StatementBlock [ELSE StatementBlock]
POWRÓT
Służy do bezwarunkowego zamykania zapytania lub procedury. Zatem instrukcje zapisane po klauzuli RETURN nie są wykonywane.
Składnia
RETURN [IntegerExpression]
Tutaj zwracana jest wartość całkowita.
POCZEKAJ NA
Przepływ sterujący WAITFOR służy do blokowania wykonywania procedury składowanej, transakcji lub partii do czasu, gdy określona instrukcja zmieni, zwróci co najmniej jeden wiersz lub upłynie określony czas lub przedział czasu.
Składnia
WAITFOR (GetConversionGroupStatement)] [, limit czasu TIMEOUT]
gdzie,
- OPÓŹNIENIE - Okres, który musi minąć
- TimeToPass - P.okres czasu oczekiwania
- CZAS - Theczas uruchomienia procedury składowanej, transakcji lub partii.
- TimeToExecute - Theczas, w którym kończy się instrukcja WAITFOR.
- RecieveStatement - DOważne oświadczenie RECEIVE.
- GetConversionGroupStatement - DOważna instrukcja GET CONVERSATION GROUP.
- Limit czasu TIMEOUT - Określa okres czasu (w milisekundach) oczekiwania na pojawienie się komunikatu w kolejce.
PODCZAS
Ta pętla służy do ustawiania warunku ponownego wykonania określonej instrukcji SQL lub bloku instrukcji SQL. Instrukcje są wykonywane tak długo, jak warunek wymieniony przez użytkownika ma wartość TRUE. Gdy tylko warunek zawiedzie, pętla przestaje działać.
Składnia
WHILE BooleanExpression StatementBlock
Skoro już znacie polecenia DML, przejdźmy do następnej sekcjiw tym artykule na temat SQL Tutorial, czyli poleceń DCL.
Polecenia języka sterowania danymi (DCL)
Ta sekcja samouczka SQL Server daje wyobrażenie o poleceniach, za pomocą których są używane do wymuszania bezpieczeństwa bazy danych w środowiskach wielu użytkowników. Polecenia są następujące:
DOTACJA
Polecenie GRANT służy do zapewnienia dostępu lub uprawnień do bazy danych i jej obiektów użytkownikom.
Składnia
GRANT PrivilegeName ON ObjectName TO RoleName [Z opcją GRANT]
gdzie,
- PrivilegeName - Czy przywilej / prawo / dostęp przyznane użytkownikowi.
- ObjectName - Nazwa obiektu bazy danych, np. TABLE / VIEW / STORED PROC.
- Nazwa Użytkownika - Nazwa użytkownika, któremu nadano dostęp / prawa / przywileje.
- PUBLICZNY - Aby przyznać prawa dostępu wszystkim użytkownikom.
- RoleName - nazwa zestawu uprawnień zgrupowanych razem.
- Z opcją dotacji - Aby dać użytkownikowi dostęp do nadania innym użytkownikom uprawnień.
Przykład
- Aby przyznać uprawnienie SELECT do tabeli StudentsInfo użytkownikowi1 GRANT SELECT ON StudentsInfo TO user1
UNIEWAŻNIĆ
Polecenie REVOKE służy do odebrania użytkownikowi uprawnień dostępu nadanych za pomocą polecenia GRANT.
Składnia
ODWOŁAĆ PrivilegeName ON ObjectName FROM PUBLIC
Przykład
- Aby cofnąć przyznane uprawnienie od użytkownika 1 ODWOŁAJ WYBÓR ON StudentsInfo TO user1
Przechodząc dalej w tym samouczku dotyczącym SQL Server, pozwól nam zrozumieć, jak tworzyć i używać procedur składowanych.
Procedury składowane
Procedury składowane to jednostki wielokrotnego użytku, które hermetyzują określoną logikę biznesową aplikacji. Jest to więc grupa instrukcji SQL i logiki, kompilowanych i przechowywanych razem w celu wykonania określonego zadania.
Składnia
CREATE [OR REPLACE] PROCEDURE nazwa_procedury [(nazwa_parametru [IN | OUT | IN OUT] typ [])] IS BEGIN [sekcja_deklaracji] sekcja_wykonawcza // instrukcja SQL używana w procedurze składowanej END GO
Przykład
- Utwórz procedurę, która zwróci imię i nazwisko ucznia, gdy StudentId zostanie podany jako parametr wejściowy procedury składowanej Create PROCEDURE GetStudentName (@StudentId INT, --Input parameter, @StudName VARCHAR (50) OUT --Output parameter, AS BEGIN SELECT @StudName = StudentName FROM StudentsInfo WHERE StudentID = @ StudentId END
Kroki do wykonania:
- Zadeklaruj @StudName jako nvarchar (50)
- EXEC GetStudentName 01, wyjście @StudName
- SELECT @StudName
Powyższa procedura zwraca nazwisko konkretnego ucznia,o przekazaniu uczniom identyfikatora jako wkładu. Następnie w tym samouczku dotyczącym SQL Server zapoznajmy się z poleceniami języka sterowania transakcjami.
Polecenia języka sterowania transakcjami (TCL)
Ta sekcja samouczka SQL Server daje wgląd w polecenia używane do zarządzania transakcjami w bazie danych.Polecenia są następujące:
POPEŁNIĆ
Polecenie COMMIT służy do zapisania transakcji w bazie danych.
Składnia
POPEŁNIĆ
ROLLBACK
Polecenie ROLLBACK służy do przywracania bazy danych do ostatniego zatwierdzonego stanu.
Składnia
ROLLBACK
UWAGA: Używając ROLLBACK z SAVEPOINT, możesz bezpośrednio przeskoczyć do punktu zapisu w trwającej transakcji. Składnia: ROLLBACK TO SavepointName
PUNKT ZAPISU
Komenda SAVEPOINT służy do tymczasowego składowania transakcji. Więc jeśli chcesz cofnąć się do dowolnego punktu, możesz zapisać ten punkt jako „SAVEPOINT”.
Składnia
SAVEPOINT SAVEPOINTNAME
Rozważ poniższą tabelę, aby zrozumieć działanie transakcji w bazie danych.
Legitymacja studencka | StudentName |
jeden | Rohit |
2 | Suhana |
3 | Ashish |
4 | Prerna |
Teraz użyj poniższego zrozumienie transakcji w bazie danych.
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
W dalszej części tego artykułu poświęconego samouczkowi SQL Server dowiemy się, jak obsługiwać wyjątki w języku Transact-SQL.
Obsługa wyjątków
Istnieją dwa typy wyjątków, tj. Wyjątki zdefiniowane przez system i wyjątki zdefiniowane przez użytkownika. Jak sama nazwa wskazuje, obsługa wyjątków to proces, za pomocą którego użytkownik może obsłużyć wygenerowane wyjątki. Aby obsłużyć wyjątki, musisz zrozumieć następujące instrukcje kontroli przepływu:
RZUCAĆ
Ta klauzula służy do zgłaszania wyjątku i przenoszenia wykonania do bloku CATCH konstrukcji TRY… CATCH.
Składnia
THROW [ErrorNumber, @localvariable, State] []
gdzie,
- ErrorNumber - DOstała lub zmienna, która reprezentuje wyjątek.
- Wiadomość - DOzmienna lub ciąg opisujący wyjątek.
- Stan -Stała lub zmienna z zakresu od 0 do 255 wskazująca stan, który ma zostać skojarzony z komunikatem.
THROW 51000, 'Rekord nie istnieje.', 1
PRÓBUJ ZŁAPAĆ
Służy do implementacji obsługi wyjątków w języku Transact-SQL. Grupa instrukcji może być zawarta w bloku TRY. W przypadku wystąpienia błędu w bloku TRY kontrola jest przekazywana do innej grupy instrukcji, które są zawarte w bloku CATCH.
Składnia
Instrukcja BEGIN TRYBlock END TRY BEGIN CATCH [StatementBlock] END CATCH []
BEGIN TRY SELECT * FROM StudentsInfo END TRY BEGIN CATCH SELECT ERROR_NUMBER () AS ErNum, ERROR_MESSAGE () AS ErMsg END CATCH
W W ten sposób dochodzimy do końca tego artykułu o samouczku dotyczącym SQL Server. Mam nadzieję, że podobał Ci się ten artykuł na temat samouczka SQL Server dla początkujących.ja Jeśli chcesz uzyskać ustrukturyzowane szkolenie dotyczące MySQL, sprawdź nasze który obejmuje szkolenie na żywo prowadzone przez instruktora i rzeczywiste doświadczenie projektowe. To szkolenie pomoże Ci dogłębnie zrozumieć MySQL i osiągnąć mistrzostwo w tym temacie. Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy w „ Samouczek dotyczący programu SQL Server ”I skontaktuję się z Tobą.