Database
 sql >> Datenbank >  >> RDS >> Database

Arten von SQL-Befehlen

Die Structured Query Language wird verwendet, um mit strukturierten Daten umzugehen. Die in Form von Tabellen gespeicherten Daten sind strukturierte Daten. Diese SQL-Befehle speichern Datensätze oder Daten in der Tabelle und werden auch verwendet, um die Datensätze aus den gespeicherten Tabellen abzurufen. Es gibt vier Arten von strukturierten Abfragesprachenbefehlen:

  1. Befehle der Datendefinitionssprache.
  2. Sprachbefehle zur Datenmanipulation.
  3. Befehle der Data Control-Sprache.
  4. Sprachbefehle für die Transaktionssteuerung.

Befehle der Datendefinitionssprache

DDL ist eine Abkürzung für Data Definition Language. Befehle der Datendefinitionssprache werden verwendet, um mit der Struktur umzugehen, d. h. der Tabelle oder Relation, in der unsere Aufzeichnungen oder Daten gespeichert sind. Befehle der Datendefinitionssprache werden verwendet, um die Tabelle zu erstellen, zu löschen und zu ändern. Befehle der Datendefinitionssprache sind:

  1. CREATE-Befehl.
  2. ALTER-Befehl.
  3. DROP-Befehl.
  4. TRUNCATE-Befehl.

CREATE-Befehle: In der strukturierten Abfragesprache speichern wir Daten in der Tabelle, und um eine neue Tabelle oder Datenbank zu erstellen, verwenden wir den CREATE-Befehl der Data Definition Language Commands. Unten ist die Syntax zum Erstellen einer Datenbank:

CREATE DATABASE DATABASE_NAME;

Zum Beispiel

  • Schreiben Sie eine Abfrage, um eine neue Datenbank zu erstellen, gefolgt vom Datenbanknamen Company.
CREATE DATABASE COMPANY;	

Um zu überprüfen, ob eine Datenbankgesellschaft erstellt wurde, verwenden wir die folgende Abfrage:

SHOW DATABASES; 
Datenbank
Unternehmen
Mitarbeiter
Informationsschema
mysql
leistungsschema
phpmyadmin

Das obige Ergebnis besagt, dass wir das Unternehmen erfolgreich erstellt haben Datenbank.

  • Schreiben Sie eine Abfrage, um eine neue Tabelle zu erstellen:

Wir werden eine neue Tabelle mit Mitarbeitern innerhalb des Unternehmens erstellen Datenbank. Wir müssen Unternehmensdatenbank auswählen.

CREATE TABLE TABLE_NAME(COLUMN_NAME1 DATATYPE(COLUMN SIZE), COLUMN_NAME2 DATATYPE (COLUMN SIZE),COLUMN_NAME3 DATATYPE (COLUMN SIZE));

Um die Unternehmensdatenbank auszuwählen, verwenden wir die folgende Abfrage:

USE COMPANY;

Jetzt wählen wir Unternehmen als Datenbank aus; Wir werden die Abfrage CREATE TABLE ausführen, um eine Tabelle zu erstellen:

CREATE TABLE EMPLOYEES (EMPLOYEE INT PRIMARY KEY, FIRST_NAME VARCHAR (20), LAST_NAME VARCHAR (20), SALARY INT, CITY VARCHAR (20) );

Wir haben den Tabellennamen Mitarbeiter erstellt mit CREATE TABLE-Abfrage.

Um zu überprüfen, ob die Tabelle Employees erstellt wurde, verwenden wir die folgende Abfrage:

SHOW TABLES;
Tabellen_im_Unternehmen
Mitarbeiter

Das obige Ergebnis besagt, dass wir die Tabelle „Mitarbeiter“ erfolgreich erstellt haben.

Wir erstellen eine weitere Tabelle mit CREATE TABLE.

CREATE TABLE DEPARTMENT (DEPARTMENT INT PRIMARY KEY, DEPARTMENT_NAME VARCHAR (20));

Wir haben den Tabellennamen „Abteilung“ mit der CREATE TABLE-Abfrage erstellt.

Um zu überprüfen, ob die Tabelle Department erstellt wurde, verwenden wir die folgende Abfrage:

SHOW TABLES;  
Tabellen_im_Unternehmen
Mitarbeiter der Abteilung

Das obige Ergebnis besagt, dass wir die Tabelle „Mitarbeiter“ erfolgreich erstellt haben.

ALTER-Befehl: In der Structured Query Language verwenden wir immer dann den ALTER-Befehl des Data Definition Language-Befehls, wenn wir das Tabellenschema oder die Tabellenstruktur ändern möchten. Der ALTER-Befehl wird verwendet, um das Tabellenschema zu ändern, indem eine neue Spalte hinzugefügt, eine vorhandene Spalte aus der Tabelle gelöscht wird usw. Unten ist die Syntax des ALTER-Befehls zum Hinzufügen einer neuen Spalte:

ALTER TABLE TABLE_NAME ADD COLUMN_NAME DATATYPE (COLUMN SIZE);

Syntax des ALTER-Befehls zum Entfernen einer vorhandenen Spalte:

ALTER TABLE TABLE-NAME DROP COLUMN COLUMN_NAME;

Syntax des ALTER-Befehls zum Umbenennen der Spalte der vorhandenen Tabelle:

ALTER TABLE TABLE_NAME RENAME COLUMN OLD_COLUMN-NAME TO NEW_COLUMN_NAME;

Zum Beispiel

  • Schreiben Sie eine Abfrage, um eine neue Spalte in der Employees-Tabelle hinzuzufügen:
ALTER TABLE EMPLOYEES ADD DEPARTMENT VARCHAR (20);

Hier haben wir den Befehl ALTER TABLE für die Tabelle Employees gefolgt vom Schlüsselwort ADD ausgeführt, was bedeutet, dass eine Spalte mit dem Spaltennamen Department, dem Datentyp VARCHAR und der Spaltengröße 20 hinzugefügt wird. Die obige Abfrage besagt, dass wir eine neue Spalte mit dem Namen 'hinzugefügt haben' Department' mit dem Datentyp VARCHAR und der Spaltengröße ist 20.

Um zu prüfen, ob der Tabelle Employees eine neue Spalte hinzugefügt wurde, verwenden wir den Befehl DESC für die Tabelle Employees.

DESC EMPLOYEES; 
Feld Typ Null Schlüssel Standard Extra
MITARBEITERID int(11) NEIN PRI NULL
VORNAME varchar(20) JA NULL
NACHNAME varchar(20) JA NULL
GEHALT int(11) JA NULL
STADT varchar(20) JA NULL
ABTEILUNG varchar(20) JA NULL

Das obige Ergebnis bestätigt, dass der Mitarbeitertabelle erfolgreich eine neue Spalte hinzugefügt wurde.

DROP-Befehl: Der DROP-Befehl in der strukturierten Abfragesprache wird verwendet, um die Tabelle und das Tabellenschema aus der Datenbank zu löschen. Hier ist die Syntax des DROP-Befehls;

DROP TABLE TABLE_NAME;

Schreiben Sie eine Abfrage, um die Department-Tabelle aus der Employees-Datenbank zu löschen.

DROP TABLE DEPARTMENT;

Hier haben wir die DROP TABLE-Abfrage für die Tabelle Department.

ausgeführt

Um zu überprüfen, ob die Tabelle Department gelöscht wurde, verwenden wir die folgende Abfrage:

SHOW TABLES;  
Tabellen_im_Unternehmen
Mitarbeiter

Das obige Ergebnis besagt, dass wir die Abteilungstabelle erfolgreich aus der Unternehmensdatenbank gelöscht haben.

TRUNCATE-Befehl: Der TRUNCATE-Befehl in der strukturierten Abfragesprache entfernt alle Daten aus der Tabelle, ohne das Tabellenschema in der Datenbank zu stören. Unten ist die Syntax des TRUNCATE-Befehls:

TRUNCATE TABLE TABLE_NAME  

Schreiben Sie eine Abfrage, um alle Datensätze aus der Tabelle Employees zu löschen.

Wir verwenden die SELECT-Abfrage, um zuerst die Daten aus der Employees-Tabelle abzurufen, und führen dann die TRUNCATE-Abfrage aus.

SELECT * FROM EMPLOYEES;
MITARBEITERID FIRST_NAME NACHNAME GEHALT STADT ABTEILUNG
1 Vaibhav Sharma 65000 Noida Oracle
2 Schweta Sharma 55000 Jaipur Oracle
3 Sonali Mali 60000 Nashik FMW
TRUNCATE TABLE EMPLOYEES;

Hier haben wir erfolgreich alle Daten aus der Employees-Tabelle entfernt. Jetzt verwenden wir die SELECT-Abfrage für die Employees-Tabelle.

TRUNCATE TABLE EMPLOYEES;

Nach dem Ausführen einer SELECT-Abfrage für die Employees-Tabelle zeigt das Ergebnis eine leere Menge an. Das bedeutet, dass wir die gesamte Tabelle erfolgreich entfernt haben.

Sprachbefehl zur Datenmanipulation

DML steht für Data Manipulation Language. Data Manipulation Language-Befehle in der Structured Query Language manipulieren die Daten in der Datenbank. Data Manipulation Language-Befehle werden verwendet, um Daten abzurufen, Daten zu speichern, die Daten zu ändern und die Daten aus der vorhandenen Tabelle zu löschen.

Die Data Manipulation Language-Befehle in der Structured Query Language lauten wie folgt:

  1. SELECT-Befehl.
  2. INSERT-Befehl.
  3. UPDATE-Befehl.
  4. DELETE-Befehl.

Zunächst betrachten wir INSERT-Befehle der Data Manipulation Language in der Structured Query Language. Nach INSERT bewegen wir uns zum SELECT-Befehl.

INSERT-Befehl: Der Befehl INSERT speichert Daten oder Datensätze in der Datenbanktabelle. Der INSERT-Befehl ist der wichtige Befehl der Data Manipulation Language in der Structured Query Language.

Syntax des Befehls INSERT Data Manipulation Language:

INSERT INTO TABLE_NAME VALUES (VALUE1, VALUE2, VALUE3, VALUE);

Diese Syntax lässt alle Felder der Tabelle zu. Falls Sie Werte für ausgewählte Felder einfügen möchten, verwenden Sie die folgende Syntax:

INSERT INTO TABLE_NAME (COLUMN_NAME1, COLUMN_NAME2) VALUES (VALUE1, VALUE2);

Die obige Syntax wird verwendet, um Werte für ausgewählte Felder der Tabelle zu speichern.

Zum Beispiel

In diesem Beispiel fügen wir einen Datensatz für alle Felder in der Tabelle ein.

Nehmen wir die Employees-Tabelle, die leer ist. Wir werden Datensätze in die Stud-Tabelle einfügen.

Jetzt speichern wir neue Datensätze in der Employees-Tabelle. Um Datensätze in der Tabelle zu speichern, führen wir den folgenden INSERT-Befehl der Datenmanipulationssprache aus:

INSERT INTO EMPLOYEES VALUES (1001, 'VAIBHAVI', 'MISHRA', 65000, 'PUNE', 'ORACLE');
INSERT INTO EMPLOYEES VALUES (1002, 'VAIBHAV', 'SHARMA', 60000, 'NOIDA', 'ORACLE');
INSERT INTO EMPLOYEES VALUES (1003, 'NIKHIL', 'VANI', 50000, 'JAIPUR', 'FMW');
INSERT INTO EMPLOYEES VALUES (1004, 'ANUJA', 'WANRE', 55000, 'DELHI', 'FMW');
INSERT INTO EMPLOYEES VALUES (2001, 'PRACHI', 'SHARMA', 55500, 'CHANDIGARH', 'ORACLE');
INSERT INTO EMPLOYEES VALUES (2002, 'BHAVESH', 'JAIN', 65500, 'PUNE', 'ORACLE');

Wir haben sechs Datensätze in die Tabelle „Employees“ eingefügt.

SELECT-Befehl: Der wichtigste Befehl der Datenmanipulationssprache in SQL ist der SELECT-Befehl. Der SELECT-Befehl wird verwendet, um die Daten der angegebenen Tabelle abzurufen, und der SELECT-Befehl wird auch verwendet, um ausgewählte Felder der Tabelle mithilfe der WHERE-Klausel in der Abfrage abzurufen.

Syntax des Befehls SELECT Data Manipulation Language

SELECT * FROM TABLE_NAME;

Die obige Syntax wird verwendet, um die gesamte Tabelle abzurufen.

SELECT COLUMN_NAME1, COLUMN_NAME2, COLUMN_NAMEN FROM TABLE_NAME;

Die obige Syntax besteht darin, alle Datensätze der ausgewählten Spalte abzurufen.

SELECT * FROM TABLE_NAME WHERE COLUMN_NAME;

Die obige Syntax wird verwendet, um die einzelnen Datensätze mit der WHERE-Klausel abzurufen, die durch den Spaltennamen angegeben ist.

Beispiel: Angenommen, Sie möchten alle Daten jeder Spalte aus der Tabelle abrufen:

SELECT * FROM EMPLOYEES;

Diese strukturierte Abfragesprache zeigt die folgenden Daten der Tabelle MITARBEITER:

  • Holen Sie alle Daten einer einzelnen Zeile mit der WHERE-Klausel, die durch den Spaltennamen aus der Tabelle angegeben ist:
SELECT * FROM EMPLOYEES WHERE SALARY > 55000;

Die obige Abfrage ruft alle Datensätze der Mitarbeiter ab, deren Gehalt höher als 55000 ist.

Diese strukturierte Abfragesprache zeigt die folgenden Daten der Tabelle MITARBEITER:

UPDATE-Befehl: UPDATE Command ist ein weiterer wertvoller Data Manipulation Language Command in SQL. UPDATE-Befehle werden verwendet, um die Datensätze in einer Datenbanktabelle zu ändern.

Syntax des Befehls UPDATE Data Manipulation Language

UPDATE TABLE_NAME SET COLUMN_NAME1 = VALUES, COLUMN_NAME2 = VALUES WHERE CONDITION;

UPDATE, SET UND WHERE sind die Schlüsselwörter der strukturierten Abfragesprache.

Beispiele

  • Dieses Beispiel beschreibt, wie der Wert geändert wird.

Betrachten wir die Tabelle EMPLOYEES:

MITARBEITERID FIRST_NAME NACHNAME GEHALT STADT ABTEILUNG
1001 VAIBHAVI MISHRA 65000 PUNE ORACLE
1002 VAIBHAV SHARMA 60000 NOIDA ORACLE
1003 NICHIL VANI 50000 JAIPUR FMW
2001 PRACHI SHARMA 55500 CHANDIGARH ORACLE
2002 BHAVESH JAIN 65500 PUNE FMW
2003 RUSCHIKA JAIN 50000 MUMBAI TESTEN
3001 PRANOTI SCHENDE 55500 PUNE JAVA
3002 ANUJA WO 50500 JAIPUR FMW
3003 DEEPAM JAUHARI 58500 MUMBAI JAVA
4001 RAJESH GOLD 60500 MUMBAI TESTEN
  • Schreiben Sie eine Abfrage, um einen Datensatz zu ändern, dessen Nachname „Jain“ ist, und legen Sie den Abteilungswert als „FMW“ fest.
UPDATE TABLE_NAME SET COLUMN_NAME1 = VALUES, COLUMN_NAME2 = VALUES WHERE CONDITION;

Wir verwenden die SELECT-Abfrage für die Employees-Tabelle, in der der Nachname Jain ist, um zu überprüfen, ob der Wert geändert wurde oder nicht.

SELECT * FROM EMPLOYEES WHERE LAST_NAME = ‘JAIN’;

Diese strukturierte Abfragesprache zeigt die folgenden Daten der Tabelle MITARBEITER:

Befehl LÖSCHEN: DELETE ist ein Datenmanipulationssprachenbefehl, der verwendet wird, um die Datensätze aus der Tabelle zu löschen. Wir löschen Datensätze aus der Tabelle mit der WHERE-Klausel in der Abfrage.

Syntax des Befehls UPDATE Data Manipulation Language

DELETE FROM TABLE_NAME WHERE CONDITION;

Beispiel: Betrachten wir die Tabelle EMPLOYEES:

MITARBEITERID FIRST_NAME NACHNAME GEHALT STADT ABTEILUNG
1001 VAIBHAVI MISHRA 65000 PUNE ORACLE
1002 VAIBHAV SHARMA 60000 NOIDA ORACLE
1003 NICHIL VANI 50000 JAIPUR FMW
2001 PRACHI SHARMA 55500 CHANDIGARH ORACLE
2002 BHAVESH JAIN 65500 PUNE FMW
2003 RUSCHIKA JAIN 50000 MUMBAI TESTEN
3001 PRANOTI SCHENDE 55500 PUNE JAVA
3002 ANUJA WO 50500 JAIPUR FMW
3003 DEEPAM JAUHARI 58500 MUMBAI JAVA
4001 RAJESH GOLD 60500 MUMBAI TESTEN
  • Schreiben Sie eine Abfrage, um die Daten zu löschen, deren Stadtname „Mumbai“ ist;
DELETE FROM EMPLOYEES WHERE CITY = ‘MUMBAI’;

Wir verwenden die SELECT-Abfrage für die Employees-Tabelle, um zu überprüfen, ob der Wert geändert wurde oder nicht.

SELECT * FROM EMPLOYEES;

Diese strukturierte Abfragesprache zeigt die folgenden Daten der Tabelle MITARBEITER:

MITARBEITERID FIRST_NAME NACHNAME GEHALT STADT ABTEILUNG
1001 VAIBHAVI MISHRA 65000 PUNE ORACLE
1002 VAIBHAV SHARMA 60000 NOIDA ORACLE
1003 NICHIL VANI 50000 JAIPUR FMW
2001 PRACHI SHARMA 55500 CHANDIGARH ORACLE
2002 BHAVESH JAIN 65500 PUNE FMW
3001 PRANOTI SCHENDE 55500 PUNE JAVA
3002 ANUJA WO 50500 JAIPUR FMW

Das obige Ergebnis zeigt, dass der Datensatz mit City Mumbai erfolgreich gelöscht wurde.

Befehle der Data Control-Sprache

DCL ist eine Abkürzung für Data Control Language. Wir verwenden Data Control Language Commands, um die Zugriffsrechte auf die Datensätze in den Tabellen der Structured Query Language zu steuern. Mithilfe von Data Control Language-Befehlen können wir autorisierten Benutzern nur Berechtigungen für den Zugriff auf die in den Tabellen oder Datenbanken abgelegten Daten erteilen.

Der Benutzer hat einige vorgefertigte Zugriffsrechte, um nur auf die Daten zuzugreifen, die in den Tabellen für einen bestimmten Benutzer platziert sind. Mithilfe von Data Control Language-Befehlen können wir den Benutzern Berechtigungen für die strukturierte Abfragesprache oder Datenbank zuweisen oder Berechtigungen von den Benutzern zurücknehmen (widerrufen). Es gibt zwei Data Control Language-Befehle:

  1. GEWÄHRUNG: Gewährungsbefehle werden verwendet, um den Benutzern Zugriffsrechte für die Datenbanken oder die Tabellen zuzuweisen.
  2. WIDERRUFEN: Wenn wir den Benutzern Zugriffsrechte GEWÄHREN können. In diesem Fall möchten wir dem Benutzer zugewiesene Berechtigungen für die Datenbanken zurücknehmen. Wir können den REVOKE-Befehl verwenden, um alle zugewiesenen Berechtigungen des Benutzers zu widerrufen.

Transaktionskontrollsprache

In der Structured Query Language haben wir Befehle der Data Definition Language (DDL) und der Data Manipulation Language (DML) genauso wie die Befehle der Transaction Control Language (TCL) in der Structured Query Language. Befehle der Transaction Control Language in der Structured Query Language sind Commit und Rollback .

Welche Befehle auch immer wir ausgeführt haben, verpackt in einer Arbeitseinheit, die als Transaktion bezeichnet wird. Angenommen, wir haben eine Aktualisierungs- oder Löschoperation für eine Tabelle ausgeführt, die in einer Transaktion ausgeführt wird. Alle Operationen oder Befehle von DDL oder DML werden in einer Transaktion gespeichert oder ausgeführt. Um eine solche ausgeführte DDL oder DML zu speichern, müssen wir den Commit-Befehl einer Transaction Control Language ausführen. Commit wird verwendet, um alle Operationen zu speichern, die wir an einer Tabelle durchgeführt haben. Alle Operationen werden gespeichert. All dies dreht sich um Commit.

Nun, denken Sie, was ist, wenn wir die Operationen, die wir mit den Commit-Befehlen gespeichert haben, rückgängig machen wollen? Können wir dann die Operation in der Structured Query Language rückgängig machen? Ja, wir können die festgeschriebenen Operationen rückgängig machen. Wir werden einen anderen Befehl der Transaction Control Language verwenden, um die Operationen rückgängig zu machen, und dieser Befehl ist Rollback. Wir verwenden den Rollback-Befehl, um die Commit-Operation in der Structured Query Language rückgängig zu machen. Befehle unter Transaction Control Language sind:

  1. Verpflichten
  2. Zurücksetzen

Betrachten Sie die vorhandenen Mitarbeitertabellen mit den folgenden Datensätzen:

MITARBEITERID FIRST_NAME NACHNAME GEHALT STADT ABTEILUNG
1001 VAIBHAVI MISHRA 65000 PUNE ORACLE
1002 VAIBHAV SHARMA 60000 NOIDA ORACLE
1003 NICHIL VANI 50000 JAIPUR FMW
2001 PRACHI SHARMA 55500 CHANDIGARH ORACLE
2002 BHAVESH JAIN 65500 PUNE FMW
2003 RUSCHIKA JAIN 50000 MUMBAI TESTEN
3001 PRANOTI SCHENDE 55500 PUNE JAVA
3002 ANUJA WO 50500 JAIPUR FMW
3003 DEEPAM JAUHARI 58500 MUMBAI JAVA
4001 RAJESH GOLD 60500 MUMBAI TESTEN

Wir können den Commit- und Rollback-Befehl verwenden, ohne die Transaktionen zu starten, aber wir starten unsere Transaktion mit Start Transaction Befehl für gute Praxis.

Beginnen wir und sehen uns jedes Betriebsbeispiel einzeln an.

Zuerst schalten wir das Auto-Commit aus, indem wir den Auto-Commit-Wert 0 zuweisen

SET AUTOCOMMIT = 0;
  • Fügen Sie neue Werte in die Mitarbeiter der vorhandenen Tabelle ein, und dann verwenden wir den Commit-Befehl:
INSERT INTO EMPLOYEES VALUES (2003, ‘RUCHIKA’, ‘JAIN’, 50000, ‘MUMBAI’, ‘TESTING’);

Wir verwenden die SELECT-Abfrage, um zu prüfen, ob Daten in eine Tabelle eingefügt wurden oder nicht:

SELECT * FROM EMPLOYEES WHERE EMPLOYEE = 2003;

Um diese Transaktion jetzt zu speichern, verwenden wir den Commit-Befehl.

COMMIT;

Die Mitarbeiter-ID 2001 ist jetzt gespeichert. Es wird kein Rollback sein, es sei denn, wir löschen es mit dem Delete-Befehl.

  • Wir werden alle Informationen der Mitarbeiter-ID 2003 löschen und dann den Löschbefehl mit Rollback rückgängig machen.
DELETE FROM EMPLOYEES WHERE EMPLOYEE ID = 2003;

Wir verwenden die SELECT-Abfrage, um zu überprüfen, ob Daten aus einer Tabelle gelöscht wurden oder nicht:

SELECT * FROM EMPLOYEES;

Die Personalnummer 2003 wird aus der Tabelle gelöscht. Jetzt verwenden wir den Rollback-Befehl, um den Löschvorgang rückgängig zu machen.

ROLLBACK;

Nach dem Ausführen des Rollback-Befehls verwenden wir die SELECT-Abfrage erneut, um zu überprüfen, ob der Löschvorgang Rollback ist oder nicht.

SELECT * FROM EMPLOYEES WHERE EMPLOYEE ID = 2003;