Auf dem heutigen Markt, auf dem täglich eine riesige Datenmenge generiert wird, ist es sehr wichtig zu verstehen, wie mit Daten umgegangen wird. SQL Server ist eine integrierte Umgebung, die von Microsoft für den Umgang mit Daten entwickelt wurde.In diesem Artikel im SQL Server-Lernprogramm lernen Sie alle Vorgänge und Befehle kennen, die Sie zum Durchsuchen Ihrer Datenbanken benötigen.
Zum besseren Verständnis habe ich den Blog in folgende Kategorien unterteilt:
Befehle | Beschreibung |
Dieser Befehlssatz wird zum Definieren einer Datenbank verwendet. | |
Data Manipulation Language-Befehle (DML) | Die Manipulationsbefehle werden verwendet, um die in der Datenbank vorhandenen Daten zu manipulieren. |
Diese Befehle befassen sich mit den Berechtigungen, Rechten und anderen Steuerelementen der Datenbanksysteme. | |
Diese Befehle werden verwendet, um befassen sich mit der Transaktion der Datenbank. |
Abgesehen von den Befehlen werden in diesem Artikel die folgenden Themen behandelt:
- Was ist SQL Server?
- Installieren Sie SQL Server
- Stellen Sie über SSMS eine Verbindung zu SQL Server her
- Zugriff auf das Datenbankmodul
- SQL Server-Architektur
- Kommentare in SQL
- SQL Server-Datentypen
- Schlüssel in der Datenbank
- Einschränkungen in der Datenbank
- Betreiber
- Aggregierte Funktionen
- Benutzerdefinierte Funktionen
- Verschachtelte Abfragen
- Tritt bei
- Schleifen
- Gespeicherte Prozeduren
- Ausnahmebehandlung
***HINWEIS*** In diesem SQL Server-Lernprogramm werde ich die folgende Datenbank als betrachtenEin Beispiel, um Ihnen zu zeigen, wie man lernt und schreibtBefehle.
Studenten ID | Name des Studenten | Elternname | Telefonnummer | Adresse | Stadt | Land |
ein | ich hasse | Akriti Mehra | 9955339966 | Brigade Road Block 9 | Hyderabad | Indien |
2 | Manasa | Shourya Sharma | 9234568762 | Mayo Road 15 | Kolkata | Indien |
3 | Anay | Soumya Mishra | 9876914261 | Marathalli Haus Nr. 101 | Bengaluru | Indien |
4 | Preeti | Rohan Sinha | 9765432234 | Queens Road 40 | Delhi | Indien |
5 | Shanaya | Abhinay Agarwal | 9878969068 | Oberoi Straße 21 | Mumbai | Indien |
Bevor wir uns mit den verschiedenen in SQL Server verwendeten Befehlen befassen, sollten wir uns mit SQL Server, seiner Architektur und der Installation vertraut machen.
Was ist SQL Server?
Microsoft SQL Server ist relational Datenbankverwaltungssystem . Es unterstützt die Strukturierte Abfragesprache und kommt mit einer eigenen Implementierung der SQL-Sprache, die die ist Transact-SQL (T-SQL) . Es verfügt über eine integrierte Umgebung für den Umgang mit SQL-Datenbanken .
Die wichtigsten Komponenten von SQL Server sind:
- Datenbankmodul: Diese Komponente übernimmt die Speicherung, die schnelle Transaktionsverarbeitung und das Sichern von Daten.
- SQL Server - Dieser Dienst wird zum Starten, Stoppen, Anhalten und Fortsetzen der Instanz von MS SQL Server verwendet.
- SQL Server Agent - Der Server Agent-Dienst spielt die Rolle des Taskplaners und wird durch ein Ereignis oder gemäß den Anforderungen ausgelöst.
- SQL Server Browser - Dieser Dienst wird verwendet, um die eingehende Anforderung mit der gewünschten SQL Server-Instanz zu verbinden.
- SQL Server-Volltextsuche - Wird verwendet, damit der Benutzer Volltextabfragen für die Zeichendaten in SQL-Tabellen ausführen kann.
- SQL Server VSS Writer - - Ermöglicht das Sichern und Wiederherstellen von Datendateien, wenn der SQL Server nicht ausgeführt wird.
- SQL Server Analysis Services (SSAS) - Dieser Service wird zur Datenanalyse, zum Data Mining und zur Datenanalyse verwendet Fähigkeiten. Der SQL Server ist ebenfalls in integriert und R. für erweiterte Datenanalyse.
- SQL Server Reporting Services (SSRS) - Wie der Name schon sagt, wird dieser Service verwendet, um Funktionen und Entscheidungsmöglichkeiten einschließlich der Integration mit bereitzustellen .
- SQL Server Integration Services (SSIS) - - Dieser Dienst wird verwendet, um die ETL-Operationen für verschiedene Datentypen aus mehreren Datenquellen auszuführen.
Nachdem Sie nun wissen, was MS SQL Server ist, lassen Sie uns in diesem Artikel im SQL Server-Lernprogramm fortfahren und verstehen, wie der SQL Server installiert und eingerichtet wird.
Installieren Sie SQL Server
Führen Sie die folgenden Schritte aus, um SQL Server zu installieren:
Schritt 1: Gehen Sie zur offiziellen Seite von Microsoft SQL Server herunterladen Hier finden Sie die Option, SQL Server entweder lokal oder in der Cloud zu installieren.
Schritt 2: Scrollen Sie jetzt nach unten und Sie sehen zwei Optionen: Developer & Enterprise Edition . Hier werde ich die herunterladen Entwickler-Ausgabe . Zum Herunterladen müssen Sie nur auf klicken jetzt downloaden Möglichkeit. Siehe unten.
Schritt 3: Doppelklicken Sie nach dem Herunterladen der Anwendung auf die Datei. Das folgende Fenster wird angezeigt.
Schritt 4: Jetzt können Sie eine der drei Optionen zum Einrichten von SQL Server auswählen. Hier werde ich nur die wählen Grundoption . Bei Auswahl der Option Installationstyp besteht der nächste Bildschirm darin, die Lizenzvereinbarung zu akzeptieren. Klicken Sie dazu auf Akzeptieren im folgenden Fenster.
Schritt 5: Als Nächstes müssen Sie den Installationsort für SQL Server angeben. Dann müssen Sie auf Installieren klicken.
Sobald Sie auf klicken Installieren werden Sie sehen, dass die erforderlichen Pakete heruntergeladen werden. Nach Abschluss der Installation wird der folgende Bildschirm angezeigt:
Hier können Sie entweder vorwärts gehen und auf Jetzt verbinden klicken oder die Installation anpassen. Zum besseren Verständnis werde ich vorwärts gehen und wählen Anpassen.
Schritt 6: Sobald Sie auf klicken Anpassen Im obigen Fenster wird der folgende Assistent geöffnet. Klicken Sie im folgenden Fenster auf Nächster.
Schritt 7: Nachdem die Regeln automatisch installiert wurden, klicken Sie auf Nächster . Siehe unten.
Schritt 8: Als nächstes müssen Sie den Installationstyp auswählen. Wählen Sie also die Führen Sie a Neuinstallation von SQL Server 2017 Option und klicken Sie dann auf Nächster.
Schritt 9: Wählen Sie im sich öffnenden Assistenten die Edition aus: Entwickler. Klicken Sie dann auf Nächster . Siehe unten.
Schritt 10: Lesen und akzeptieren Sie nun die Lizenzvereinbarungen, indem Sie das Optionsfeld einchecken und dann auf klicken Nächster . Siehe unten.
Schritt 11: Im folgenden Assistenten können Sie die Funktionen auswählen, die Sie installieren möchten. Sie können auch das Stammverzeichnis der Instanz auswählen und dann auf klicken Nächster . Hier werde ich die wählen Database Engine Services .
Schritt 12: Als nächstes müssen Sie die Instanz benennen und automatisch wird die Instanz-ID erstellt. Hier werde ich die Instanz 'edureka' nennen. Klicken Sie dann auf Nächster.
So initialisieren Sie eine Klasse in Python
Schritt 13: Klicken Sie im Serverkonfigurations-Assistenten auf Nächster .
Schritt 14: Jetzt müssen Sie die Authentifizierungsmodi aktivieren. Hier sehen Sie die Windows-Authentifizierungsmodus und Mischform . Ich werde den gemischten Modus wählen. Erwähnen Sie dann das Passwort und ich werde den aktuellen Benutzer als hinzufügen Administrator durch Auswahl der Aktuellen Benutzer hinzufügen Möglichkeit.
Schritt 15: Wählen Sie dann den Pfad der Konfigurationsdatei und klicken Sie auf Installieren .
Nach Abschluss der Installation wird der folgende Bildschirm angezeigt:
Stellen Sie über SSMS eine Verbindung zu SQL Server her
Nach der Installation von SQL Server müssen Sie als Nächstes den SQL Server mit dem SQL Server Management Studio verbinden. Führen Sie dazu die folgenden Schritte aus:
Schritt 1: Gehen Sie zurück zum folgenden Fenster und klicken Sie auf Installieren Sie SSMS Möglichkeit.
Schritt 2: Sobald Sie auf diese Option klicken, werden Sie zu weitergeleitet folgende Seite , wo du wählen musst Laden Sie SSMS herunter.
Schritt 3: Doppelklicken Sie nach dem Herunterladen des Setups auf die Anwendung. Der folgende Assistent wird geöffnet.
Schritt 4: Klicke auf Installationsoption Im obigen Fenster sehen Sie, dass die Installation beginnt.
Schritt 5: Nach Abschluss der Installation wird ein Dialogfeld angezeigt, wie unten gezeigt.
Nachdem Sie das SSMS installiert haben, müssen Sie als Nächstes auf das SSMS zugreifen Datenbankmodul .
Zugriff auf das Datenbankmodul
Wenn Sie die öffnen SQL Server Management Studio von dem Startmenü wird ein Fenster geöffnet, das dem im Bild unten gezeigten Fenster ähnelt.
Erwähnen Sie hier den Servernamen und den Authentifizierungsmodus und klicken Sie auf Verbinden.
Nachdem Sie auf geklickt haben Verbinden wird der folgende Bildschirm angezeigt.
Nun Leute, so installieren und richten Sie den SQL Server ein. Lassen Sie uns nun in diesem SQL Server-Lernprogramm die verschiedenen Komponenten der Architektur von SQL Server verstehen.
SQL Server-Architektur
Die Architektur von SQL Server lautet wie folgt:
- Server & minus Hier werden die SQL-Dienste installiert und die Datenbank befindet sich
- Relationale Engine & minus Enthält den Abfrageparser, den Optimierer und den Executor. Die Ausführung erfolgt in der relationalen Engine.
- Befehlsparser & minus Überprüft die Syntax der Abfrage und konvertiert die Abfrage in die Maschinensprache.
- Optimierer & minus Bereitet den Ausführungsplan als Ausgabe vor, indem Statistiken, Abfragen und der Algebratorbaum als Eingabe verwendet werden.
- Query Executor & minus Dies ist der Ort, an dem Abfragen Schritt für Schritt ausgeführt werden
- Speicher-Engine & minus Dies ist verantwortlich für das Speichern und Abrufen von Daten auf dem Speichersystem, die Manipulation von Daten, das Verwalten und Sperren von Transaktionen.
Nachdem Sie nun wissen, wie Sie SQL Server und seine verschiedenen Komponenten einrichten und installieren, können Sie mit dem Schreiben beginnen Server. Lassen Sie mich jedoch zuvor erläutern, wie Sie Kommentare in SQL Server schreiben.
Kommentare in SQL Server
Es gibt zwei Möglichkeiten, wie Sie in SQL Kommentare abgeben können, d. H. s Einzeilige Kommentare oder der m ulti-line Kommentare .
Einzeilige Kommentare
Die einzeiligen Kommentare beginnen mit zwei Bindestriche (-). Daher wird der nach (-) erwähnte Text bis zum Ende einer einzelnen Zeile vom Compiler ignoriert.
Beispiel:
- Beispiel für einzeilige Kommentare
Mehrzeilige Kommentare
Die mehrzeiligen Kommentare beginnen mit / * und enden mit * / . Daher der zwischen / * und * / wird vom Compiler ignoriert.
Beispiel:
/ * Beispiel für mehrzeilige Kommentare * /
Beginnen wir nun in diesem Artikel im SQL Server-Lernprogramm mit dem ersten Befehlssatz, d. H. Befehlen für die Datendefinitionssprache.
Befehle für die Datendefinitionssprache
In diesem Abschnitt des Artikels erhalten Sie eine Vorstellung von den Befehlen, mit deren Hilfe Sie Ihre Datenbank definieren können. Die Befehle lauten wie folgt:
ERSTELLEN
Diese Anweisung wird zum Erstellen einer Tabelle, Datenbank oder Ansicht verwendet.
Die Anweisung 'CREATE DATABASE'
Diese Anweisung wird zum Erstellen einer Datenbank verwendet.
Syntax
CREATE DATABASE DatabaseName
Beispiel
DATENBANK ERSTELLEN Studenten
Das ' TABELLE ERSTELLEN ' Erklärung
Wie der Name schon sagt, wird diese Anweisung zum Erstellen einer Tabelle verwendet.
Syntax
CREATE TABLE TableName (Datentyp Spalte1, Datentyp Spalte2, Datentyp Spalte3, .... Datentyp SpalteN)
Beispiel
TABELLE ERSTELLEN StudentInfo (StudentID int, StudentName varchar (8000), ParentName varchar (8000), PhoneNumber int, Adresse des Studenten varchar (8000), City varchar (8000), Country varchar (8000))
FALLEN
Diese Anweisung wird verwendet, um eine vorhandene Tabelle, Datenbank oder Ansicht zu löschen.
Die Anweisung 'DROP DATABASE'
Diese Anweisung wird verwendet, um eine vorhandene Datenbank zu löschen. Die vollständigen Informationen in der Datenbank gehen verloren, sobald Sie den folgenden Befehl ausführen.
Syntax
DROP DATABASE DatabaseName
Beispiel
DROP DATABASE Studenten
Die Anweisung 'DROP TABLE'
Diese Anweisung wird verwendet, um eine vorhandene Tabelle zu löschen. Die vollständigen Informationen in der Tabelle gehen verloren, sobald Sie den folgenden Befehl ausführen.
Syntax
DROP TABLE TableName
Beispiel
DROP TABLE StudentInfo
ALTER
Mit dem Befehl ALTER können Sie Spalten oder Einschränkungen in einer vorhandenen Tabelle hinzufügen, löschen oder ändern.
Das ' ALTER TABLE ' Erklärung
Diese Anweisung wird zum Hinzufügen, Löschen und Ändern von Spalten in einer bereits vorhandenen Tabelle verwendet.
Die Anweisung 'ALTER TABLE' mit ADD / DROP COLUMN
Die Anweisung ALTER TABLE wird mit dem Befehl ADD / DROP Column verwendet, um eine Spalte hinzuzufügen und zu löschen.
Syntax
ALTER TABLE Tabellenname ADD Spaltenname Datentyp ALTER TABELLE Tabellenname DROP COLUMN Spaltenname
Beispiel
- ADD Column BloodGroup: ALTER TABLE StudentInfo ADD BloodGroup varchar (8000) --DROP Column BloodGroup: ALTER TABLE StudentInfo DROP COLUMN BloodGroup
Die Anweisung 'ALTER TABLE' mit ALTER COLUMN
Die Anweisung ALTER TABLE kann mit der Spalte ALTER verwendet werden, um den Datentyp einer vorhandenen Spalte in einer Tabelle zu ändern.
Syntax
ALTER TABLE TableName ALTER COLUMN ColumnName Datentyp
Beispiel
- Fügen Sie eine Spalte DOB hinzu und ändern Sie den Datentyp von Datum zu Datum / Uhrzeit. ALTER TABLE StudentInfo ADD DOB-Datum ALTER TABLE StudentInfo ALTER COLUMN DOB Datum / Uhrzeit
KÜRZEN
Dieser SQL-Befehl wird verwendet, um die in der Tabelle vorhandenen Informationen zu löschen, löscht jedoch nicht die Tabelle selbst. Wenn Sie also die in der Tabelle enthaltenen Informationen löschen möchten und nicht die Tabelle selbst löschen möchten, müssen Sie den Befehl TRUNCATE verwenden. Verwenden Sie andernfalls den Befehl DROP.
Syntax
TRUNCATE TABLE Tabellenname
Beispiel
TRUNCATE TABLE StudentInfo
UMBENENNEN
Diese Anweisung wird verwendet, um eine oder mehrere Tabellen umzubenennen.
Syntax
sp_rename 'OldTableName', 'NewTableName'
Beispiel
sp_rename 'StudentInfo', 'Infostudents'
Lassen Sie uns in diesem Artikel zum SQL Server-Lernprogramm die verschiedenen von SQL Server unterstützten Datentypen verstehen.
SQL Server-Datentypen
Datentypkategorie | Datentypname | Beschreibung | Bereich / Syntax |
Genaue Zahlen | numerisch | Dient zum Speichern numerischer Werte mit fester Genauigkeit und Skalierungsnummern | - 10 ^ 38 +1 bis 10 ^ 38 - 1. |
tinyint | Wird zum Speichern von Ganzzahlwerten verwendet | 0 bis 255 | |
smallint | Wird zum Speichern von Ganzzahlwerten verwendet | -2 ^ 15 (-32.768) bis 2 ^ 15-1 (32.767) | |
Bigint | Wird zum Speichern von Ganzzahlwerten verwendet | -2 ^ 63 (-9,223,372,036,854,775,808) bis 2 ^ 63-1 (9,223,372,036,854,775,807) | |
int | Wird zum Speichern von Ganzzahlwerten verwendet | -2 ^ 31 (-2,147,483,648) bis 2 ^ 31-1 (2,147,483,647) | |
Bit | Speichert einen ganzzahligen Datentyp mit einem Wert von 0, 1 oder NULL | 0, 1 oder NULL | |
Dezimal | Dient zum Speichern numerischer Werte mit fester Genauigkeit und Skalierungsnummern | - 10 ^ 38 +1 bis 10 ^ 38 - 1. | |
Kleingeld | Wird zum Speichern von Geld verwendetoder Währungswerte. | - 214.748,3648 bis 214.748,3647 | |
Geld | Wird zum Speichern von Geld verwendetoder Währungswerte. | -922.337.203.685.477.5808 bis 922.337.203.685.477.5807 (-922.337.203.685.477.58 bis 922.337.203.685.477,58 für Informatica. | |
Ungefähre Zahlen | schweben | Wird zum Speichern von numerischen Gleitkommadaten verwendet | - 1,79E + 308 bis -2,23E-308, 0 und 2,23E-308 bis 1,79E + 308 |
echt | Wird zum Speichern von numerischen Gleitkommadaten verwendet | - 3,40E + 38 bis -1,18E - 38, 0 und 1,18E - 38 bis 3,40E + 38 | |
Datum (und Uhrzeit | Datum | Wird verwendet, um ein Datum in SQL Server zu definieren. | Syntax: Datum |
kleine Zeit | Wird verwendet, um ein Datum zu definieren, das mit einer Tageszeit kombiniert wird, wobei die Uhrzeit auf einem 24-Stunden-Tag basiert, wobei die Sekunden immer Null (: 00) und keine Sekundenbruchteile sind. | Syntax: smalldatetime | |
Terminzeit | Wird verwendet, um ein Datum zu definieren, das mit einer Tageszeit mit gebrochenen Sekunden basierend auf einer 24-Stunden-Uhr kombiniert wird. | Syntax: datetime | |
datetime2 | datetime2 ist als Erweiterung des Bestehenden Terminzeit Typ mit einer größeren Standard-Bruchgenauigkeit und einem großen Datumsbereich. | Syntax: datetime2 | |
datetimeoffset | Wird verwendet, um ein Datum zu definieren, das mit einer Tageszeit kombiniert wird, die über eine Zeitzonenerkennung verfügt. Es basiert auf einer 24-Stunden-Uhr. | Syntax: datetimeoffset | |
Zeit | Wird verwendet, um eine Tageszeit zu definieren. | Syntax: Zeit | |
Zeichenketten | verkohlen | Wird zum Speichern von Zeichen mit fester Größe verwendet. | verkohlen[( n )] wobei der n-Wert zwischen 1 und 8.000 variiert |
varchar | Wird zum Speichern von Zeichen variabler Länge verwendet. | varchar [( n | max)] wobei der n-Wert zwischen 1 und 8000 variiert und der maximal zulässige Speicher 2 GB beträgt. | |
Text | Wird zum Speichern von v verwendetNicht-Unicode-Daten mit variabler Länge | Maximal zulässige Zeichenfolgenlänge - 2 ^ 31-1 (2.147.483.647) | |
Unicode-Zeichenfolgen | nchar | Wird zum Speichern von Zeichen mit fester Größe verwendet. | nchar[(n)] wobei der n-Wert zwischen 1 und 4000 variiert |
nvarchar | Wird zum Speichern von Zeichen variabler Länge verwendet. | varchar [( n | max)] wobei der n-Wert zwischen 1 und 4000 variiert und der maximal zulässige Speicher 2 GB beträgt. | |
ntext | Wird zum Speichern von Unicode-Daten variabler Länge verwendet | Maximal zulässige Zeichenfolgenlänge - 2 ^ 30-1 (2.147.483.647) | |
Binäre Zeichenfolgen | binär | Wird zum Speichern von Binärdatentypen mit fester Länge verwendet | binär[( n )] wobei der n-Wert zwischen 1 und 8.000 variiert |
varbinary | Wird zum Speichern von Binärdatentypen mit fester Länge verwendet | varbinary[( n )] wobei das n-Tal von 1-8000 variiert und der maximal zulässige Speicher 2 ^ 31-1 Bytes beträgt. | |
Bild | Wird zum Speichern von Binärdaten variabler Länge verwendet | 0 - 2 ^ 31-1 (2.147.483.647) Bytes | |
Andere Datentypen | Dies ist ein Datentyp für OUTPUT-Parameter für gespeicherte Prozeduren oder Variablen, die einen Verweis auf einen Cursor enthalten. | - - | |
Zeilenversion | Wird verwendet, um automatisch generierte, eindeutige Binärzahlen in einer Datenbank verfügbar zu machen. | - - | |
Hierarchie-ID | Wird verwendet, um die Position in einer Hierarchie darzustellen. | - - | |
eindeutige Kennung | Ist eine 16-Byte-GUID. | Syntax:eindeutige Kennung | |
sql_variant | Dient zum Speichern der Werte verschiedener von SQL Server unterstützter Datentypen | Syntax: sql_variant | |
xml | Wird zum Speichern des XML-Datentyps verwendet. | xml ([INHALT | DOKUMENT] xml_schemacollection) | |
Raumgeometrietypen | Wird verwendet, um Daten in einem euklidischen (flachen) Koordinatensystem darzustellen. | - - | |
Raumgeographietypen | Dient zum Speichern von ellipsoiden Daten (rund um die Erde), z. B. GPS-Breiten- und Längengradkoordinaten. | - - | |
Tabelle | Wird verwendet, um eine Ergebnismenge für die spätere Verarbeitung zu speichern | - - |
Lassen Sie uns als Nächstes in diesem Artikel die verschiedenen Arten von Schlüsseln und Einschränkungen in der Datenbank verstehen.
Verschiedene Arten von Schlüsseln in der Datenbank
Im Folgenden sind die verschiedenen Arten von Schlüsseln aufgeführt, die in der Datenbank verwendet werden:
- Kandidatenschlüssel - Der Kandidatenschlüssel besteht aus einer Reihe von Attributen, mit denen eine Tabelle eindeutig identifiziert werden kann. Eine Tabelle kann mehr als einen Kandidatenschlüssel enthalten. Aus den ausgewählten Kandidatenschlüsseln wird ein Schlüssel als Primärschlüssel ausgewählt.
- Super Key - Der Satz von Attributen kann ein Tupel eindeutig identifizieren. Kandidatenschlüssel, eindeutige Schlüssel und Primärschlüssel sind also Superschlüssel, aber umgekehrt ist dies nicht der Fall.
- Primärschlüssel - Primärschlüssel werden verwendet, um jedes Tupel eindeutig zu identifizieren.
- Alternativer Schlüssel - Alternative Schlüssel sind die Kandidatenschlüssel, die nicht als Primärschlüssel ausgewählt wurden.
- Einzigartiger Schlüssel- - Eindeutige Schlüssel ähneln dem Primärschlüssel, erlauben jedoch einen einzelnen NULL-Wert in der Spalte.
- Unbekannter Schlüssel - Ein Attribut, das nur die vorhandenen Werte als Werte eines anderen Attributs annehmen kann, ist das Unbekannter Schlüssel auf das Attribut, auf das es sich bezieht.
- Zusammengesetzter Schlüssel- - Zusammengesetzte Schlüssel sind eine Kombination aus zwei oder mehr Spalten, die jedes Tupel eindeutig identifizieren.
In der Datenbank verwendete Einschränkungen
In einer Datenbank werden Einschränkungen verwendet, um die Regeln für in einer Tabelle gespeicherte Daten anzugeben. Die verschiedenen Arten von Einschränkungen in SQL sind wie folgt:
NICHT NULL
Die NOT NULL-Einschränkung stellt sicher, dass eine Spalte keinen NULL-Wert haben kann.
Beispiel
TABELLE ERSTELLEN 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 auf ALTER TABLE ALTER TABLE StudentsInfo ALTER COLUMN PhoneNumber int NOT NULL
EINZIGARTIG
Diese Einschränkung stellt sicher, dass alle Werte in einer Spalte eindeutig sind.
Beispiel
--UNIQUE on Create Table CREATE TABLE StudentsInfo (StudentID int NICHT NULL EINZIGARTIG, StudentName varchar (8000) NICHT NULL, ParentName varchar (8000), PhoneNumber int, Adresse des Studenten varchar (8000) NOT NULL, Stadt varchar (8000), Land varchar ( 8000)) - EINZIGARTIG in mehreren Spalten TABELLE ERSTELLEN StudentsInfo (StudentID int NICHT NULL, StudentName varchar (8000) NICHT NULL, ParentName varchar (8000), Telefonnummer int, AddressofStudent varchar (8000) NICHT NULL, Stadt varchar (8000), Land varchar (8000) CONSTRAINT UC_Student_Info UNIQUE (StudentID, PhoneNumber)) --UNIQUE auf ALTER TABLE ALTER TABLE StudentsInfo ADD UNIQUE (StudentID) - Zum Löschen einer UNIQUE-Einschränkung ALTER TABLE StudentsInfo DROP CONSTRAINT UC_Student_Ino
PRÜFEN
Die CHECK-Einschränkung stellt sicher, dass alle Werte in einer Spalte eine bestimmte Bedingung erfüllen.
Beispiel
--CHECK Constraint on CREATE TABLE CREATE TABLE StudentsInfo (StudentID int NICHT NULL, StudentName varchar (8000) NICHT NULL, ParentName varchar (8000), PhoneNumber int, Adresse des Studenten varchar (8000) NOT NULL, Stadt varchar (8000), Land varchar ( 8000) CHECK (Country = 'India')) --CHECK Einschränkung für mehrere Spalten CREATE TABLE StudentsInfo (StudentID int NICHT NULL, StudentName varchar8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, Stadt varchar (8000), Land varchar (8000) CHECK (Land = 'Indien' UND Stadt = 'Hyderabad')) --CHECK Einschränkung für ALTER TABLE ALTER TABLE StudentsInfo ADD CHECK (Land = 'Indien') - Um a zu geben Name der CHECK-Einschränkung ALTER TABLE StudentsInfo ADD CONSTRAINT CheckConstraintName CHECK (Country = 'India') - Zum Löschen einer CHECK Constraint ALTER TABLE StudentsInfo DROP CONSTRAINT CheckConstraintName
STANDARD
Die DEFAULT-Einschränkung besteht aus einer Reihe von Standardwerten für eine Spalte, wenn kein Wert angegeben ist.
Beispiel
--DEFAULT Einschränkung für CREATE TABLE CREATE TABLE StudentsInfo (StudentID int, StudentName varchar (8000) NICHT NULL, ParentName varchar (8000), PhoneNumber int, Adresse des Studenten varchar (8000) NOT NULL, Stadt varchar (8000), Land varchar (8000) STANDARD 'Indien') - STANDARD-Einschränkung für ALTER TABLE ALTER TABLE StudentsInfo ADD CONSTRAINT defau_Country DEFAULT 'India' FOR Country - Zum Löschen der Standardbeschränkung ALTER TABLE StudentsInfo ALTER COLUMN Country DROP defau_Country
INDEX
Das INDEX-Einschränkung wird verwendet, um Indizes in der Tabelle zu erstellen, mit denen Sie sehr schnell Daten aus der Datenbank erstellen und abrufen können.
Syntax
--Erstellen Sie einen Index, in dem doppelte Werte zulässig sind. CREATE INDEX IndexName ON TableName (Spalte1, Spalte2, ... ColumnN) --Erstellen Sie einen Index, in dem doppelte Werte nicht zulässig sind. CREATE UNIQUE INDEX IndexName ON TableName (Spalte1, Spalte2, ... SpalteN)
Beispiel
CREATE INDEX idex_StudentName ON StudentsInfo (StudentName) - Zum Löschen eines Index in einer Tabelle DROP INDEX StudentsInfo.idex_StudentName
Lassen Sie uns in diesem Artikel zum SQL Server-Lernprogramm die verschiedenen in Microsoft SQL Server verwendeten Befehle für die Datenmanipulationssprache verstehen.
Befehle für die Datenmanipulationssprache
Dieser Abschnitt des Artikels behandelt alle Befehle, mit denen Sie die Datenbank bearbeiten können. Die Befehle lauten wie folgt:
Neben diesen Befehlen gibt es auch andere manipulative Operatoren / Funktionen wie:
VERWENDEN
Diese Anweisung wird verwendet, um die Datenbank auszuwählen, mit der verschiedene Vorgänge ausgeführt werden sollen.
Syntax
USE DatabaseName
Beispiel
BENUTZEN Sie Studenten
EINFÜGEN IN
Das INSERT INTO-Anweisung wird verwendet, um neue Datensätze in eine vorhandene Tabelle einzufügen.
Syntax
INSERT INTO TableName (Spalte1, Spalte2, Spalte3, ..., SpalteN) VALUES (Wert1, Wert2, Wert3, ...) - Wenn Sie die Spaltennamen nicht erwähnen möchten, verwenden Sie die folgende Syntax INSERT INTO TableName VALUES (Wert1, Wert2, Wert3, ...)
Beispiel
INSERT IN StudentsInfo (StudentID, StudentName, ParentName, Telefonnummer, Adresse des Studenten, Stadt, Land) VALUES ('06', 'Sanjana', 'Kapoor', '9977331199', 'Buffalo Street House Nr. 10', 'Kolkata', 'India ') INSERT IN StudentsInfo VALUES (' 07 ',' Vishal ',' Mishra ',' 9876509712 ',' Nice Road 15 ',' Pune ',' India ')
AKTUALISIEREN
Die UPDATE-Anweisung wird verwendet, um die bereits in der Tabelle vorhandenen Datensätze zu ändern oder zu aktualisieren.
Syntax
UPDATE TableName SET Column1 = Value1, Column2 = Value2, ... WHERE Bedingung
Beispiel
UPDATE StudentsInfo SET StudentName = 'Aahana', City = 'Ahmedabad' WHERE StudentID = 1
LÖSCHEN
Die DELETE-Anweisung wird verwendet, um die vorhandenen Datensätze in einer Tabelle zu löschen.
Syntax
DELETE FROM TableName WHERE Bedingung
Beispiel
DELETE FROM StudentsInfo WHERE StudentName = 'Aahana'
GEHEN
Die MERGE-Anweisung wird verwendet, um die Operationen INSERT, UPDATE und DELETE für eine bestimmte Tabelle auszuführen, in der die Quelltabelle bereitgestellt wird. Siehe unten.
Syntax
MERGE TagretTableName USING SourceTableName ON MergeCondition, wenn es übereinstimmt, dann Update_Statement, wenn es nicht übereinstimmt, dann Insert_Statement, wenn es nicht mit der Quelle übereinstimmt, dann löschen
Beispiel
Um die MERGE-Anweisung zu verstehen, betrachten Sie die folgenden Tabellen als Quelltabelle und Zieltabelle.
Quellentabelle:
Studenten ID | Name des Studenten | Markierungen |
ein | ich hasse | 87 |
2 | Manasa | 92 |
4 | Anay | 74 |
Zieltabelle:
Studenten ID | Name des Studenten | Markierungen |
ein | ich hasse | 87 |
2 | Manasa | 67 |
3 | Saurabh | 55 |
MERGE SampleTargetTable TARGET USING SampleSourceTable SOURCE ON (TARGET.StudentID = SOURCE.StudentID), WENN MATCHED AND TARGET.StudentName Wenn nicht mit dem Ziel übereinstimmen, dann fügen Sie (StudentID, StudentName, Marks) Werte (SOURCE.StudentID, SOURCE.StudentName, SOURCE.Marks) ein, wenn Sie nicht mit der Quelle übereinstimmen, dann löschen Sie
Ausgabe
Studenten ID | Name des Studenten | Markierungen |
ein | ich hasse | 87 |
2 | Manasa | 92 |
4 | Anay | 74 |
WÄHLEN
Das SELECT-Anweisung wird verwendet, um Daten aus einer Datenbank, Tabelle oder Ansicht auszuwählen. Die zurückgegebenen Daten werden in einer Ergebnistabelle namens the gespeichert Ergebnismenge .
Syntax
SELECT Column1, Column2, ... ColumN FROM TableName - (*) wird verwendet, um alle aus der Tabelle auszuwählen. SELECT * FROM table_name - Um die Anzahl der zurückzugebenden Datensätze auszuwählen, verwenden Sie: SELECT TOP 3 * FROM TableName
Beispiel
- Um einige Spalten auszuwählen SELECT StudentID, StudentName FROM StudentsInfo - (*) wird verwendet, um alle aus der Tabelle auszuwählen. SELECT * FROM StudentsInfo - Um die Anzahl der zurückzugebenden Datensätze auszuwählen, verwenden Sie: SELECT TOP 3 * FROM StudentsInfo
Wir können auch die folgenden Schlüsselwörter mit der SELECT-Anweisung verwenden:
UNTERSCHEIDLICH
Das Schlüsselwort DISTINCT wird mit der Anweisung SELECT verwendet, um nur unterschiedliche Werte zurückzugeben.
Syntax
SELECT DISTINCT Column1, Column2, ... ColumnN FROM TableName
Beispiel
SELECT DISTINCT PhoneNumber FROM StudentsInfo
SORTIEREN NACH
Diese Anweisung wird verwendet, um die erforderlichen Ergebnisse entweder in aufsteigender oder absteigender Reihenfolge zu sortieren. Standardmäßig werden die Ergebnisse in aufsteigender Reihenfolge gespeichert. Wenn Sie die Ergebnisse jedoch in absteigender Reihenfolge erhalten möchten, müssen Sie die verwenden DESC Stichwort.
Syntax
SELECT Column1, Column2, ... ColumnN FROM TableName ORDER BY Column1, Column2, ... ASC | DESC
Beispiel
- Wählen Sie alle Schüler aus der Tabelle 'StudentsInfo' aus, sortiert nach ParentName: SELECT * FROM StudentsInfo ORDER BY ParentName - Wählen Sie alle Schüler aus der Tabelle 'StudentsInfo' aus, sortiert nach ParentName in absteigender Reihenfolge: SELECT * FROM StudentsInfo ORDER BY ParentName DESC - Wählen Sie alle Schüler aus der Tabelle 'StudentsInfo' aus, sortiert nach ParentName und StudentName: SELECT * FROM StudentsInfo ORDER BY ParentName, StudentName / * Wählen Sie alle Schüler aus der Tabelle 'StudentsInfo' aus, sortiert nach ParentName in absteigender Reihenfolge und StudentName in aufsteigender Reihenfolge: * / SELECT * FROM StudentsInfo ORDER BY ParentName ASC, StudentName DESC
GRUPPIERE NACH
Diese Anweisung wird mit dem verwendet Aggregatfunktionen um die Ergebnismenge nach einer oder mehreren Spalten zu gruppieren.
Syntax
SELECT Column1, Column2, ..., ColumnN FROM TableName WHERE Bedingung GROUP BY ColumnName (s) ORDER BY ColumnName (s)
Beispiel
- Um die Anzahl der Studenten aus jeder Stadt aufzulisten. SELECT COUNT (StudentID), Stadt FROM StudentsInfo GROUP BY City
GRUPPENSÄTZE
GROUPING SETS wurden in SQL Server 2008 eingeführt, um eine Ergebnismenge zu generieren, die von a generiert werden kann UNION ALL der mehreren einfachen GROUP BY-Klauseln.
Syntax
SELECT ColumnNames (s) FROM TableName GROUP BY GROUPING SETS (ColumnName (s))
Beispiel
SELECT StudentID, StudentName, COUNT (Stadt) aus der StudentsInfo-Gruppe NACH GRUPPIERUNGSSÄTZEN ((StudentID, StudentName, Stadt), (StudentID), (StudentName), (Stadt))
HABEN
Diese Klausel wird in dem Szenario verwendet, in dem die WO Schlüsselwort kann nicht verwendet werden.
Syntax
SELECT ColumnName (s) FROM TableName WHERE Bedingung GROUP BY ColumnName (s) mit Bedingung ORDER BY ColumnName (s)
Beispiel
SELECT COUNT (StudentID), Stadt FROM StudentsInfo GRUPPE NACH STADT MIT COUNT (StudentID)> 2 ORDER BY COUNT (StudentID) DESC
IN
Das Schlüsselwort INTO kann mit dem Schlüsselwort verwendet werden SELECT-Anweisung um Daten von einer Tabelle in eine andere zu kopieren. Nun, Sie können diese Tabellen als temporäre Tabellen verstehen. Die temporären Tabellen werden im Allgemeinen verwendet, um Manipulationen an in der Tabelle vorhandenen Daten durchzuführen, ohne die ursprüngliche Tabelle zu stören.
Syntax
SELECT * INTO NewTable [IN ExternalDB] FROM OldTable WHERE Bedingung
Beispiel
- So erstellen Sie eine Sicherungskopie der Tabelle 'StudentsInfo' SELECT * INTO StudentsBackup FROM StudentsInfo - Um nur wenige Spalten aus StudentsInfo auszuwählen SELECT StudentName, PhoneNumber INTO StudentsDetails FROM StudentsInfo SELECT * INTO PuneStudents FROM StudentsInfo WHERE City = 'Pune'
WÜRFEL
CUBE ist eine Erweiterung des GROUP BY-Klausel . Hiermit können Sie die Zwischensummen für alle Kombinationen der in der GROUP BY-Klausel angegebenen Gruppierungsspalten generieren.
Syntax
SELECT ColumnName (s) FROM TableName GROUP BY CUBE (ColumnName1, ColumnName2, ....., ColumnNameN)
Beispiel
SELECT StudentID, COUNT (Stadt) FROM StudentsInfo GROUP BY CUBE (StudentID) ORDER BY StudentID
AUFROLLEN
ROLLUP ist eine Erweiterung der GROUP BY-Klausel. Auf diese Weise können Sie die zusätzlichen Zeilen einfügen, die die Zwischensummen darstellen. Diese werden zusammen mit der Gesamtsummenzeile als überaggregierte Zeilen bezeichnet.
Syntax
SELECT ColumnName (s) FROM TableName GROUP BY ROLLUP (ColumnName1, ColumnName2, ....., ColumnNameN)
Beispiel
SELECT StudentID, COUNT (Stadt) FROM StudentsInfo GROUP BY ROLLUP (StudentID)
OFFSET
Die OFFSET-Klausel wird mit SELECT und verwendet ORDER BY-Anweisung um eine Reihe von Datensätzen abzurufen. Es muss mit der ORDER BY-Klausel verwendet werden, da es nicht alleine verwendet werden kann. Außerdem muss der von Ihnen erwähnte Bereich gleich oder größer als 0 sein. Wenn Sie einen negativen Wert erwähnen, wird ein Fehler angezeigt.
Syntax
SELECT ColumnNames) FROM TableName WHERE Bedingung ORDER BY ColumnName (s) OFFSET RowsToSkip ROWS
Beispiel
Betrachten Sie eine neue Spalte Markierungen in dem StudentsInfo Tabelle.
SELECT StudentName, ParentName FROM StudentsInfo ORDER BY Marks OFFSET 1 ROWS
HOLEN
Die FETCH-Klausel wird verwendet, um eine Reihe von Zeilen zurückzugeben. Es muss in Verbindung mit der OFFSET-Klausel verwendet werden.
Syntax
SELECT ColumnNames) FROM TableName WHERE Bedingung ORDER BY ColumnName (s) OFFSET RowsToSkip FETCH NEXT NumberOfRows NUR REIHEN
Beispiel
SELECT StudentName, ParentName FROM StudentsInfo ORDER BY Marks OFFSET 1 ROWS NUR NÄCHSTE 1 ROWS FETCH
OBEN
Die TOP-Klausel wird zusammen mit der SELECT-Anweisung verwendet, um die Anzahl der zurückzugebenden Datensätze anzugeben.
Syntax
SELECT TOP Number ColumnName (s) FROM TableName WHERE Bedingung
Beispiel
SELECT TOP 3 * FROM StudentsInfo
PIVOT
PIVOT wird verwendet, um die Zeilen auf Spaltenwerte zu drehen und bei Bedarf Aggregationen für die verbleibenden Spaltenwerte auszuführen.
Syntax
SELECT NonPivoted ColumnName, [First Pivoted ColumnName] AS ColumnName, [Second Pivoted ColumnName] AS ColumnName, [Third Pivoted ColumnName] AS ColumnName, ... [Last Pivoted ColumnName] AS ColumnName FROM (SELECT-Abfrage, die die Daten erzeugt) AS [Alias für die erste Abfrage] PIVOT ([AggregationFunction] (ColumName) FOR [ColumnName der Spalte, deren Werte zu Spaltenüberschriften werden] IN ([First Pivoted ColumnName], [Second Pivoted ColumnName], [Third Pivoted ColumnName] ... [last Pivot-Spalte])) AS [Alias für die Pivot-Tabelle]
Beispiel
Ein detailliertes Beispiel finden Sie unter Mein Artikel über SQL PIVOT und UNPIVOT . Lassen Sie uns als Nächstes in diesem SQL Server-Lernprogramm die verschiedenen von Microsoft SQL Server unterstützten Operatoren untersuchen.
Betreiber
Das verschiedene Arten von Operatoren Von SQL Server werden folgende unterstützt:
- Rechenzeichen
- Zuweisungsoperatoren
- Bitweise Operatoren
- Vergleichsoperatoren
- Zusammengesetzte Operatoren
- Logische Operatoren
- Scope Resolution-Operatoren
- Operatoren einstellen
- String-Verkettungsoperatoren
Lassen Sie uns jeden einzelnen einzeln besprechen.
Rechenzeichen
Operator | Bedeutung | Syntax |
+ | Zusatz | Ausdruck + Ausdruck |
- - | Subtraktion | Ausdruck - Ausdruck |
* * | Multiplikation | Ausdruck * Ausdruck |
/. | Teilung | Ausdruck / Ausdruck |
%. | Modulös | Ausdruck% Ausdruck |
Zuweisungsoperatoren
Operator | Bedeutung | Syntax |
= | Weisen Sie einer Variablen einen Wert zu | Variable = 'Wert' |
Bitweise Operatoren
Operator | Bedeutung | Syntax |
& (Bitweises UND) | Wird verwendet, um eine bitweise logische UND-Verknüpfung zwischen zwei ganzzahligen Werten auszuführen. | Ausdruck & Ausdruck |
& = (Bitweise UND Zuweisung) | Wird verwendet, um eine bitweise logische UND-Verknüpfung zwischen zwei ganzzahligen Werten auszuführen. Außerdem wird ein Wert für die Ausgabe der Operation festgelegt. | Ausdruck & = Ausdruck |
| (Bitweises ODER) | Wird verwendet, um eine bitweise logische ODER-Verknüpfung zwischen zwei ganzzahligen Werten auszuführen, die in binäre Ausdrücke in Transact-SQL-Anweisungen übersetzt wurden. | Ausdruck | Ausdruck |
| = (Bitweise ODER Zuweisung) | Wird verwendet, um eine bitweise logische ODER-Verknüpfung zwischen zwei ganzzahligen Werten auszuführen, die in binäre Ausdrücke in Transact-SQL-Anweisungen übersetzt wurden. Außerdem wird ein Wert für die Ausgabe der Operation festgelegt. | Ausdruck | = Ausdruck |
^ (Bitweises exklusives ODER) | Wird verwendet, um eine bitweise exklusive ODER-Operation zwischen zwei ganzzahligen Werten auszuführen. | Ausdruck ^ Ausdruck |
^ = (Bitweise exklusive ODER-Zuordnung) | Wird verwendet, um eine bitweise exklusive ODER-Operation zwischen zwei ganzzahligen Werten auszuführen. Außerdem wird ein Wert für die Ausgabe der Operation festgelegt. | Ausdruck ^ = Ausdruck |
~ (Bitweise NICHT) | Wird verwendet, um eine bitweise logische NICHT-Operation für einen ganzzahligen Wert auszuführen. | ~ Ausdruck |
Vergleichsoperatoren
Operator | Bedeutung | Syntax |
= | Gleich | Ausdruck = Ausdruck |
> | Größer als | Ausdruck> Ausdruck |
< | Weniger als | Ausdruck |
> = | Größer als oder gleich wie | Ausdruck> = Ausdruck |
<= | Weniger als oder gleich | Ausdruck<= expression |
Nicht gleichzusetzen mit | Ausdruck Ausdruck | |
! = | Nicht gleichzusetzen mit | Ausdruck! = Ausdruck |
!< Was ist eine Java-Idee? | Nicht weniger als | Ausdruck ! |
!> | Nicht größer als | Ausdruck!> Ausdruck |
Zusammengesetzte Operatoren
Operator | Bedeutung | Syntax |
+ = | Wird verwendet, um dem ursprünglichen Wert einen Wert hinzuzufügen und den ursprünglichen Wert auf das Ergebnis zu setzen. | Ausdruck + = Ausdruck |
- = | Wird verwendet, um einen Wert vom ursprünglichen Wert zu subtrahieren und den ursprünglichen Wert auf das Ergebnis zu setzen. | Ausdruck - = Ausdruck |
* = | Wird verwendet, um den Wert mit dem ursprünglichen Wert zu multiplizieren und den ursprünglichen Wert auf das Ergebnis zu setzen. | Ausdruck * = Ausdruck |
/ = | Wird verwendet, um einen Wert vom ursprünglichen Wert zu trennen und den ursprünglichen Wert auf das Ergebnis zu setzen. | Ausdruck / = Ausdruck |
% = | Wird verwendet, um einen Wert vom ursprünglichen Wert zu trennen und den ursprünglichen Wert auf das Ergebnis zu setzen. | Ausdruck% = Ausdruck |
& = | Wird verwendet, um eine bitweise UND-Operation auszuführen und den ursprünglichen Wert auf das Ergebnis zu setzen. | Ausdruck & = Ausdruck |
^ = | Wird verwendet, um eine bitweise exklusive ODER-Verknüpfung auszuführen und den ursprünglichen Wert auf das Ergebnis zu setzen. | Ausdruck ^ = Ausdruck |
| = | Wird verwendet, um eine bitweise ODER-Verknüpfung auszuführen und den ursprünglichen Wert auf das Ergebnis zu setzen. | Ausdruck | = Ausdruck |
Logische Operatoren
Operator | Bedeutung | Syntax |
ALLE | Gibt TRUE zurück, wenn alle Vergleiche TRUE sind. | scalar_expression! = ALL (Unterabfrage) |
UND | Gibt TRUE zurück, wenn beide Ausdrücke TRUE sind. | boolean_expression AND boolean_expression |
IRGENDEIN | Gibt TRUE zurück, wenn einer der Vergleiche TRUE ist. | scalar_expression! = {ANY} (Unterabfrage) |
ZWISCHEN | Gibt TRUE zurück, wenn sich ein Operand innerhalb eines Bereichs befindet. | Beispielausdruck [NICHT] ZWISCHEN Beginexpression UND Endexpression |
EXISTIERT | Gibt TRUE zurück, wenn eine Unterabfrage Zeilen enthält. | EXISTS (Unterabfrage) |
IM | Gibt TRUE zurück, wenn ein Operand einem Ausdruck in einer Liste von Ausdrücken entspricht. | test_expression [NOT] IN (Unterabfrage | Ausdruck [,… n]) |
Gibt TRUE zurück, wenn ein Operand mit einem Muster übereinstimmt. Was ist Char in Java | match_expression [NOT] LIKE pattern [ESCAPE Escape_Charakter] | |
NICHT | Kehrt den Wert eines booleschen Operators um. | [NICHT] boolean_expression |
ODER | Gibt TRUE zurück, wenn einer der booleschen Ausdrücke TRUE ist. | boolean_expression ODER boolean_expression |
ETWAS | Gibt TRUE zurück, wenn einige Vergleiche TRUE sind. | scalar_expression<= { SOME} ( subquery ) |
Scope Resolution-Operatoren
Operator | Bedeutung | Beispiel |
:: :: | Bietet Zugriff auf statische Elemente eines zusammengesetzten Datentyps. Zusammengesetzte Datentypen sind solche Datentypen, die mehrere Methoden und einfache Datentypen enthalten. Zusammengesetzte Datentypen Dazu gehören die integrierten CLR-Typen und benutzerdefinierte benutzerdefinierte SQLCLR-Typen (UDTs). | DECLARE @hid hierarchyid SELECT @hid = hierarchyid :: GetRoot () PRINT @ hid.ToString () |
Operatoren einstellen
Es gibt hauptsächlich drei festgelegte Operationen:UNION,SICH SCHNEIDEN,MINUS. Sie können sich auf das Bild unten beziehen, um die festgelegten Operationen in SQL zu verstehen. Siehe folgendes Bild:
Operator | Bedeutung | Syntax |
UNION | Der UNION-Operator wird verwendet, um die Ergebnismenge von zwei oder mehr SELECT-Anweisungen zu kombinieren. | SELECT ColumnName (s) FROM Table1 UNION SELECT ColumnName (s) FROM Table2 |
SICH SCHNEIDEN | Die INTERSECT-Klausel wird verwendet, um zwei zu kombinierenWÄHLENAnweisungen und geben den Schnittpunkt der Datensätze der beiden SELECT-Anweisungen zurück. | SELECT Spalte1, Spalte2…. FROM TableName WO Zustand SICH SCHNEIDEN SELECT Spalte1, Spalte2…. FROM TableName WO Zustand |
AUSSER | Der EXCEPT-Operator gibt die Tupel zurück, die von der ersten SELECT-Operation zurückgegeben werden und von der zweiten SELECT-Operation nicht zurückgegeben werden. | SELECT ColumnName FROM TableName AUSSER SELECT ColumnName FROM TableName |
String-Operatoren
Operator | Bedeutung | Syntax / Beispiel |
+ (String-Verkettung) | Verkettet zwei oder mehr Binär- oder Zeichenfolgen, Spalten oder eine Kombination aus Zeichenfolgen und Spaltennamen zu einem einzigen Ausdruck | Ausdruck + Ausdruck |
+ = (String-Verkettung) | Wird verwendet, um zwei Zeichenfolgen zu verketten und die Zeichenfolge auf das Ergebnis der Operation festzulegen. | Ausdruck + = Ausdruck |
% (Übereinstimmende Platzhalterzeichen) | Wird verwendet, um eine Zeichenfolge mit null oder mehr Zeichen abzugleichen. | Beispiel: 'sample%' |
[] (Übereinstimmende Platzhalterzeichen) | Wird verwendet, um ein einzelnes Zeichen innerhalb des angegebenen Bereichs oder Satzes abzugleichen, der in Klammern [] angegeben ist. | Beispiel: m [n-z]% ’ |
[^] (Übereinstimmende Platzhalterzeichen) | Wird verwendet, um ein einzelnes Zeichen abzugleichen, das nicht innerhalb des in den eckigen Klammern angegebenen Bereichs oder Satzes liegt. | Beispiel: 'Al [^ a]%' |
_ (Übereinstimmende Platzhalterzeichen) | Wird verwendet, um ein einzelnes Zeichen in einer Zeichenfolgenvergleichsoperation abzugleichen | test_expression [NOT] IN (Unterabfrage | Ausdruck [,… n]) |
Aggregat Funktionen
Der Unterschied Aggregatfunktionen Von SQL Server werden folgende unterstützt:
Funktion | Beschreibung | Syntax | Beispiel |
SUMME() | Wird verwendet, um die Summe einer Gruppe von Werten zurückzugeben. | SELECT SUM (ColumnName) FROM TableName | SELECT SUM (Marks) FROM StudentsInfo |
ANZAHL() | Gibt die Anzahl der Zeilen entweder basierend auf einer Bedingung oder ohne Bedingung zurück. | SELECT COUNT (ColumnName) FROM TableName WHERE Bedingung | SELECT COUNT (StudentID) FROM StudentsInfo |
AVG () | Wird verwendet, um den Durchschnittswert einer numerischen Spalte zu berechnen. | SELECT AVG (ColumnName) FROM TableName | SELECT AVG (Marks) FROM StudentsInfo |
MINDEST () | Diese Funktion gibt den Mindestwert einer Spalte zurück. | SELECT MIN (ColumnName) FROM TableName | SELECT MIN (Marks) FROM StudentsInfo |
MAX () | Gibt einen Maximalwert einer Spalte zurück. | SELECT MAX (ColumnName) FROM TableName | SELECT MAX (Marks) FROM StudentsInfo |
ZUERST() | Wird verwendet, um den ersten Wert der Spalte zurückzugeben. | SELECT FIRST (ColumnName) FROM TableName | WÄHLEN SIE ZUERST (Noten) AUS StudentsInfo |
LETZTE() | Diese Funktion gibt den letzten Wert der Spalte zurück. | SELECT LAST (ColumnName) FROM TableName | LETZTE (Markierungen) AUS StudentsInfo AUSWÄHLEN |
Benutzerdefinierte Funktionen
Mit Microsoft SQL Server können Benutzer benutzerdefinierte Funktionen erstellen, bei denen es sich um Routinen handelt. Diese Routinen akzeptieren Parameter, können einfache bis komplexe Aktionen ausführen und das Ergebnis dieser bestimmten Aktion als Wert zurückgeben. Hier kann der zurückgegebene Wert entweder ein einzelner Skalarwert oder eine vollständige Ergebnismenge sein.
Sie können benutzerdefinierte Funktionen verwenden, um:
- Modulare Programmierung zulassen
- Reduzieren Sie den Netzwerkverkehr
- Ermöglichen Sie eine schnellere Ausführung von Abfragen
Es gibt auch verschiedene Arten von benutzerdefinierten Funktionen, die Sie erstellen können. Sie sind:
- Skalarfunktionen: Gewöhnt anGibt einen einzelnen Datenwert des in der RETURNS-Klausel definierten Typs zurück.
- Tabellenwertfunktionen: Gewöhnt anRückgabe aTabelleDatentyp.
- Systemfunktionen: Der SQL Server bietet eine Vielzahl von Systemfunktionen, um verschiedene Vorgänge auszuführen.
Abgesehen von den benutzerdefinierten Funktionen gibt es in SQL Server eine Reihe integrierter Funktionen, mit denen eine Vielzahl von Aufgaben ausgeführt werden können. Lassen Sie uns in diesem Artikel zum SQL Server-Lernprogramm nun verstehen, was verschachtelte Abfragen sind.
Verschachtelte Abfragen
Verschachtelte Abfragen sind solche Abfragen, die eine äußere Abfrage und eine innere Unterabfrage haben. Die Unterabfrage ist also im Grunde eine Abfrage, die in einer anderen Abfrage wie SELECT, INSERT, UPDATE oder DELETE verschachtelt ist. Siehe Bild unten:
Lassen Sie uns als Nächstes in diesem SQL Server-Lernprogramm die verschiedenen Arten von Verknüpfungen in SQL verstehen.
Tritt bei
werden verwendet, um Tupel aus zwei oder mehr Tabellen basierend auf einer zugehörigen Spalte zwischen den Tabellen zu kombinieren. Es gibt vier Arten von Verknüpfungen:
- INNER JOIN: Gibt Datensätze zurück, deren Tabellen in beiden Tabellen übereinstimmen.
- LINKS BEITRETEN: Gibt Datensätze aus der linken Tabelle sowie Datensätze zurück, die die Bedingung aus der rechten Tabelle erfüllen.
- RICHTIG BEITRETEN: Gibt Datensätze aus der rechten Tabelle sowie Datensätze zurück, die die Bedingung aus der linken Tabelle erfüllen.
- FULL JOIN: Gibt Datensätze zurück, die entweder in der linken oder in der rechten Tabelle übereinstimmen.
Betrachten Sie die folgende Tabelle zusammen mit der StudentsInfo-Tabelle, um die Syntax von Joins zu verstehen.
SubjectID | Studenten ID | Subjekt Name |
10 | 10 | Mathe |
2 | elf | Physik |
3 | 12 | Chemie |
INNER JOIN
Syntax
SELECT ColumnName (s) AUS Tabelle1 INNER JOIN Table2 ON Table1.ColumnName = Table2.ColumnName
Beispiel
SELECT Subjects.SubjectID, StudentsInfo.StudentName FROM Subjects INNER JOIN StudentsInfo ON Subjects.StudentID = StudentsInfo.StudentID
LINKS BEITRETEN
Syntax
SELECT ColumnName (s) AUS Tabelle1 LEFT JOIN Table2 ON Table1.ColumnName = Table2.ColumnName
Beispiel
SELECT StudentsInfo.StudentName, Subjects.SubjectID FROM StudentsInfo LEFT JOIN Subjects ON StudentsInfo.SubjectID = Subjects.SubjectID ORDER BY StudentsInfo.StudentName
RICHTIG BEITRETEN
Syntax
SELECT ColumnName (s) AUS Tabelle1 RIGHT JOIN Table2 ON Table1.ColumnName = Table2.ColumnName
Beispiel
SELECT StudentsInfo.StudentName, Subjects.SubjectID FROM StudentsInfo RIGHT JOIN Subjects ON StudentsInfo.SubjectID = Subjects.SubjectID ORDER BY StudentsInfo.StudentName
VOLLSTÄNDIG BEITRETEN
Syntax
SELECT ColumnName (s) AUS Tabelle1 FULL OUTER JOIN Table2 ON Table1.ColumnName = Table2.ColumnName
Beispiel
SELECT StudentsInfo.StudentName, Subjects.SubjectID FROM StudentsInfo FULL OUTER JOIN Subjects ON StudentsInfo.SubjectID = Subjects.SubjectID ORDER BY StudentsInfo.StudentName
Lassen Sie uns als Nächstes in diesem Artikel zum SQL Server-Lernprogramm die verschiedenen Arten von Schleifen verstehen, die von SQL Server unterstützt werden.
Schleifen
Die verschiedenen Flusssteuerungsbefehle lauten wie folgt:
Lassen Sie uns jeden einzelnen einzeln besprechen.
BEGIN..END
Diese Schlüsselwörter werden verwendet, um eine Reihe von SQL-Anweisungen einzuschließen. Diese Gruppe von SQL-Anweisungen kann dann ausgeführt werden.
Syntax
BEGIN StatementBlock END
BRECHEN
Diese Anweisung wird verwendet, um die aktuelle WHILE-Schleife zu verlassen. Wenn die aktuelle WHILE-Schleife in einer anderen Schleife verschachtelt ist, verlässt die BREAK-Anweisung nur die aktuelle Schleife und die Steuerung wird an die nächste Anweisung in der aktuellen Schleife weitergeleitet. Die BREAK-Anweisung wird im Allgemeinen in einer IF-Anweisung verwendet.
Syntax
BRECHEN
FORTSETZEN
Die CONTINUE-Anweisung wird verwendet, um eine WHILE-Schleife neu zu starten. Anweisungen nach dem Schlüsselwort CONTINUE werden daher ignoriert.
Syntax
FORTSETZEN
Hier ist Label der Punkt, nach dem die Verarbeitung beginnt, wenn ein GOTO auf dieses bestimmte Label ausgerichtet ist.
GEHE ZU
Wird verwendet, um den Ausführungsfluss zu einem Label zu ändern. Die nach dem Schlüsselwort GOTO geschriebenen Anweisungen werden übersprungen und die Verarbeitung am Label fortgesetzt.
Syntax
Label definieren: Label: Ändern Ausführung: GOTO Label
Hier ist Label der Punkt, nach dem die Verarbeitung beginnt, wenn ein GOTO auf dieses bestimmte Label ausgerichtet ist.
ANSONSTEN
Wie jede andere Programmiersprache testet die If-else-Anweisung in SQL Server die Bedingung. Wenn die Bedingung falsch ist, wird die else-Anweisung ausgeführt.
Syntax
IF BooleanExpression StatementBlock [ELSE StatementBlock]
RÜCKKEHR
Wird verwendet, um eine Abfrage oder Prozedur bedingungslos zu beenden. Daher werden die Anweisungen, die nach der RETURN-Klausel geschrieben werden, nicht ausgeführt.
Syntax
RETURN [IntegerExpression]
Hier wird ein ganzzahliger Wert zurückgegeben.
WARTEN AUF
Der WAITFOR-Steuerungsfluss wird verwendet, um die Ausführung einer gespeicherten Prozedur, Transaktion oder eines Stapels zu blockieren, bis eine bestimmte Anweisung geändert wird, mindestens eine Zeile zurückgegeben wird oder eine bestimmte Zeit oder ein bestimmtes Zeitintervall verstrichen ist.
Syntax
WAITFOR (GetConversionGroupStatement)] [, TIMEOUT-Zeitüberschreitung]
wo,
- VERZÖGERN - Zeitraum, der vergehen muss
- TimeToPass - P.Wartezeit
- ZEIT - DasZeitpunkt, zu dem die gespeicherte Prozedur, Transaktion oder der Stapel ausgeführt wird.
- TimeToExecute - DasZeitpunkt, zu dem die WAITFOR-Anweisung beendet wird.
- RecieveStatement - ZUgültige RECEIVE-Anweisung.
- GetConversionGroupStatement - ZUgültige Anweisung GET CONVERSATION GROUP.
- Zeitüberschreitung - - Gibt den Zeitraum in Millisekunden an, in dem auf das Eintreffen einer Nachricht in der Warteschlange gewartet werden soll.
WÄHREND
Diese Schleife wird verwendet, um eine Bedingung für die wiederholte Ausführung einer bestimmten SQL-Anweisung oder eines SQL-Anweisungsblocks festzulegen. Die Anweisungen werden ausgeführt, solange die vom Benutzer angegebene Bedingung TRUE ist. Sobald die Bedingung fehlschlägt, wird die Ausführung der Schleife beendet.
Syntax
WHILE BooleanExpression StatementBlock
Nachdem Sie die DML-Befehle kennen, fahren wir mit unserem nächsten Abschnitt fortin diesem Artikel über SQL Tutorial, d. h. die DCL-Befehle.
Data Control Language Commands (DCL)
In diesem Abschnitt des SQL Server-Lernprogramms erhalten Sie eine Vorstellung von dem Befehl, mit dem die Datenbanksicherheit in Datenbankumgebungen mit mehreren Benutzern erzwungen wird. Die Befehle lauten wie folgt:
GEWÄHREN
Der Befehl GRANT wird verwendet, um den Benutzern Zugriff oder Berechtigungen auf die Datenbank und ihre Objekte bereitzustellen.
Syntax
GRANT PrivilegeName ON ObjectName TO RoleName [MIT GRANT OPTION]
wo,
- Berechtigungsname - Wird dem Benutzer das Privileg / Recht / der Zugriff gewährt?
- Objektname - Name eines Datenbankobjekts wie TABLE / VIEW / STORED PROC.
- Nutzername - Name des Benutzers, dem der Zugriff / die Rechte / die Berechtigungen erteilt wurden.
- ÖFFENTLICHKEIT - Um allen Benutzern Zugriffsrechte zu gewähren.
- Rollenname - Der Name einer Reihe von Berechtigungen, die zusammen gruppiert sind.
- MIT GEWÄHRUNGSOPTION - Dem Benutzer Zugriff gewähren, um anderen Benutzern Rechte zu gewähren.
Beispiel
- Um Benutzer1 die SELECT-Berechtigung für die StudentsInfo-Tabelle zu erteilen. GRANT SELECT ON StudentsInfo TO user1
WIDERRUFEN
Mit dem Befehl REVOKE werden die mit dem Befehl GRANT erteilten Zugriffsrechte des Benutzers entzogen.
Syntax
REVOKE PrivilegeName ON ObjectName FROM PUBLIC
Beispiel
- Um die erteilte Berechtigung von Benutzer1 zu widerrufen, REVOKE SELECT ON StudentsInfo TO Benutzer1
In diesem SQL Server-Lernprogramm erfahren Sie, wie Sie gespeicherte Prozeduren erstellen und verwenden.
Gespeicherte Prozeduren
Gespeicherte Prozeduren sind wiederverwendbare Einheiten, die eine bestimmte Geschäftslogik der Anwendung kapseln. Es handelt sich also um eine Gruppe von SQL-Anweisungen und -Logik, die zusammen kompiliert und gespeichert werden, um eine bestimmte Aufgabe auszuführen.
Syntax
CREATE [OR REPLACE] PROCEDURE Prozedurname [(Parametername [IN | OUT | IN OUT] Typ [])] IS BEGIN [Deklarationsabschnitt] ausführbarer Abschnitt // SQL-Anweisung, die in der gespeicherten Prozedur END GO verwendet wird
Beispiel
--Erstellen Sie eine Prozedur, die einen Schülernamen zurückgibt, wenn die StudentId als Eingabeparameter für die gespeicherte Prozedur angegeben wird. Create PROCEDURE GetStudentName (@StudentId INT, --Input-Parameter, @StudName VARCHAR (50) OUT --Output-Parameter, AS BEGIN SELECT @StudName = StudentName FROM StudentsInfo WHERE StudentID = @ StudentId END
Auszuführende Schritte:
- Deklarieren Sie @StudName als nvarchar (50)
- EXEC GetStudentName 01, @StudName-Ausgabe
- SELECT @StudName
Das obige Verfahren gibt den Namen eines bestimmten Schülers zurück.auf die Eingabe dieser Studenten ID als Eingabe. Lassen Sie uns als Nächstes in diesem SQL Server-Lernprogramm die Befehle für die Transaktionssteuerungssprache verstehen.
Transaction Control Language Commands (TCL)
In diesem Abschnitt des SQL Server-Lernprogramms erhalten Sie einen Einblick in die Befehle, mit denen Transaktionen in der Datenbank verwaltet werden.Die Befehle lauten wie folgt:
VERPFLICHTEN
Mit dem Befehl COMMIT wird die Transaktion in der Datenbank gespeichert.
Syntax
VERPFLICHTEN
ROLLBACK
Mit dem Befehl ROLLBACK wird die Datenbank auf den zuletzt festgeschriebenen Status zurückgesetzt.
Syntax
ROLLBACK
HINWEIS: Wenn Sie ROLLBACK mit SAVEPOINT verwenden, können Sie in einer laufenden Transaktion direkt zu einem Sicherungspunkt springen. Syntax: ROLLBACK TO SavepointName
SPEICHERPUNKT
Mit dem Befehl SAVEPOINT wird eine Transaktion vorübergehend gespeichert. Wenn Sie also zu einem beliebigen Punkt zurücksetzen möchten, können Sie diesen Punkt als 'SAVEPOINT' speichern.
Syntax
SAVEPOINT SAVEPOINTNAME
Betrachten Sie die folgende Tabelle, um die Funktionsweise von Transaktionen in der Datenbank zu verstehen.
Studenten ID | Name des Studenten |
ein | Rohit |
2 | Suhana |
3 | Ashish |
4 | Prerna |
Verwenden Sie nun das Folgende um die Transaktionen in der Datenbank zu verstehen.
INSERT IN StudentTable VALUES (5, 'Avinash') COMMIT UPDATE StudentTable SET name = 'Akash' WHERE id = '5' SAVEPOINT S1 INSERT IN StudentTable VALUES (6, 'Sanjana') SAVEPOINT S2 INSERT IN StudentTable VALUES (7, 'Sanjay ') SAVEPOINT S3 INSERT IN StudentTable VALUES (8,' Veena ') SAVEPOINT S4 SELECT * FROM StudentTable
Im nächsten Abschnitt zum SQL Server-Lernprogramm erfahren Sie, wie Sie mit Ausnahmen in Transact-SQL umgehen.
Ausnahmebehandlung
Es gibt zwei Arten von Ausnahmen, nämlich die systemdefinierten Ausnahmen und die benutzerdefinierten Ausnahmen. Wie der Name schon sagt, ist die Ausnahmebehandlung ein Prozess, mit dem ein Benutzer die generierten Ausnahmen behandeln kann. Um Ausnahmen zu behandeln, müssen Sie die folgenden Kontrollflussanweisungen verstehen:
WERFEN
Diese Klausel wird verwendet, um eine Ausnahme auszulösen und die Ausführung an einen CATCH-Block eines TRY… CATCH-Konstrukts zu übertragen.
Syntax
THROW [ErrorNumber, @localvariable, State] []
wo,
- Fehlernummer - ZUKonstante oder Variable, die die Ausnahme darstellt.
- Botschaft - ZUVariable oder Zeichenfolge, die die Ausnahme beschreibt.
- Zustand - -Eine Konstante oder Variable zwischen 0 und 255, die den Status angibt, der der Nachricht zugeordnet werden soll.
THROW 51000, 'Datensatz existiert nicht.', 1
TRY..CATCH
Wird verwendet, um die Ausnahmebehandlung in Transact-SQL zu implementieren. Eine Gruppe von Anweisungen kann in den TRY-Block eingeschlossen werden. Wenn im TRY-Block ein Fehler auftritt, wird die Steuerung an eine andere Gruppe von Anweisungen übergeben, die in einem CATCH-Block enthalten sind.
Syntax
BEGIN TRY StatementBlock 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
IM Damit kommen wir zum Ende dieses Artikels über das SQL Server-Lernprogramm. Ich hoffe, Ihnen hat das Lesen dieses Artikels im SQL Server-Lernprogramm für Anfänger gefallen.ich Wenn Sie eine strukturierte Schulung zu MySQL erhalten möchten, lesen Sie unsere Dies beinhaltet ein von Lehrern geführtes Live-Training und praktische Projekterfahrung. Diese Schulung hilft Ihnen dabei, MySQL gründlich zu verstehen und das Thema zu beherrschen. Hast du eine Frage an uns? Bitte erwähnen Sie es in den Kommentaren von ” SQL Server-Lernprogramm Und ich werde mich bei Ihnen melden.