sql >> Database >  >> RDS >> Database

Soorten SQL-opdrachten

De Structured Query Language wordt gebruikt om met gestructureerde gegevens om te gaan. De gegevens die in de vorm van tabellen worden opgeslagen, zijn gestructureerde gegevens. Deze SQL-opdrachten slaan records of gegevens op in de tabel en worden ook gebruikt om de records uit de opgeslagen tabellen op te halen. Er zijn vier soorten gestructureerde querytaalcommando's:

  1. Gegevensdefinitie Taalcommando's.
  2. Taalopdrachten voor gegevensmanipulatie.
  3. Gegevensbeheertaalcommando's.
  4. Taalopdrachten voor transactiebeheer.

Gegevensdefinitie Taalcommando's

DDL is een afkorting voor Data Definition Language. Data Definition Language-opdrachten worden gebruikt om de structuur aan te pakken, d.w.z. de tabel of relatie waarin onze records of gegevens zijn opgeslagen. Opdrachten voor Data Definition Language worden gebruikt om de tabel aan te maken, te verwijderen en te wijzigen. Opdrachten voor Data Definition Language zijn:

  1. CREATE Commando.
  2. ALTER-opdracht.
  3. DROP-opdracht.
  4. TRUNCATE-opdracht.

CREATE Commando's: In Structured Query Language slaan we gegevens op in de tabel en om een ​​nieuwe tabel of database te maken, gebruiken we het CREATE-commando van de Data Definition Language-commando's. Hieronder vindt u de syntaxis om een ​​database te maken:

CREATE DATABASE DATABASE_NAME;

Voor voorbeelden,

  • Schrijf een zoekopdracht om een ​​nieuwe database te maken, gevolgd door de databasenaam Bedrijf.
CREATE DATABASE COMPANY;	

Om te controleren of er een database Company is aangemaakt, gebruiken we de volgende query:

SHOW DATABASES; 
Database
bedrijf
werknemer
information_schema
mysql
performance_schema
phpmyadmin

Het bovenstaande resultaat zegt dat we met succes het Bedrijf hebben gemaakt Database.

  • Schrijf een query om een ​​nieuwe tabel te maken:

We zullen een nieuwe tabel met werknemers maken binnen het Bedrijf Gegevensbestand. We moeten Bedrijfsdatabase selecteren.

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

Om Bedrijfsdatabase te selecteren, gebruiken we de volgende zoekopdracht:

USE COMPANY;

Nu selecteren we Bedrijf als database; we zullen de CREATE TABLE-query uitvoeren om een ​​tabel te maken:

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

We hebben de tabelnaam Medewerkers gemaakt met behulp van CREATE TABLE-query.

Om te controleren of de tabel Medewerkers is aangemaakt, gebruiken we de volgende query:

SHOW TABLES;
Tables_in_company
werknemers

Het bovenstaande resultaat geeft aan dat we met succes de tabel 'Werknemers' hebben gemaakt.

We zullen een andere tabel maken met CREATE TABLE.

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

We hebben de tabelnaam 'Afdeling' gemaakt met behulp van de CREATE TABLE-query.

Om te controleren of de tabel Afdeling is aangemaakt, gebruiken we de volgende query:

SHOW TABLES;  
Tables_in_company
medewerkers van de afdeling

Het bovenstaande resultaat geeft aan dat we met succes de tabel 'Werknemers' hebben gemaakt.

ALTER-opdracht: In de Structured Query Language zullen we, wanneer we het tabelschema of de structuur willen wijzigen, de ALTER-opdracht van de Data Definition Language-opdracht gebruiken. Het ALTER-commando wordt gebruikt om het tabelschema te wijzigen door een nieuwe kolom toe te voegen, een bestaande kolom uit de tabel te verwijderen, enz. hieronder is de syntaxis van het ALTER-commando om een ​​nieuwe kolom toe te voegen:

ALTER TABLE TABLE_NAME ADD COLUMN_NAME DATATYPE (COLUMN SIZE);

Syntaxis van ALTER Commando om een ​​bestaande kolom te verwijderen:

ALTER TABLE TABLE-NAME DROP COLUMN COLUMN_NAME;

Syntaxis van ALTER Commando om de kolom van de bestaande tabel te hernoemen:

ALTER TABLE TABLE_NAME RENAME COLUMN OLD_COLUMN-NAME TO NEW_COLUMN_NAME;

Bijvoorbeeld

  • Schrijf een zoekopdracht om een ​​nieuwe kolom toe te voegen aan de tabel Werknemers:
ALTER TABLE EMPLOYEES ADD DEPARTMENT VARCHAR (20);

Hier hebben we de opdracht ALTER TABLE uitgevoerd op de tabel Werknemers gevolgd door het trefwoord ADD, wat betekent dat een kolom moet worden toegevoegd met de kolomnaam Afdeling, het gegevenstype VARCHAR en kolomgrootte 20. De bovenstaande query zegt dat we een nieuwe kolom hebben toegevoegd met de naam ' Department' met het gegevenstype VARCHAR en de kolomgrootte is 20.

Om te controleren of er een nieuwe kolom is toegevoegd aan de tabel Medewerkers, gebruiken we het DESC-commando op de tabel van de medewerker.

DESC EMPLOYEES; 
Veld Type Null Sleutel Standaard Extra
WERKNEMER-ID int(11) NEE PRI NULL
FIRST_NAME varchar(20) JA NULL
LAST_NAME varchar(20) JA NULL
SALARIS int(11) JA NULL
STAD varchar(20) JA NULL
AFDELING varchar(20) JA NULL

Het bovenstaande resultaat verifieert dat een nieuwe kolom met succes is toegevoegd aan de tabel van de werknemer.

DROP-opdracht: Het DROP-commando in de Structured Query Language wordt gebruikt om de tabel en het tabelschema uit de database te verwijderen. Hier is de syntaxis van DROP Command;

DROP TABLE TABLE_NAME;

Schrijf een verzoek om de afdelingstabel uit de werknemersdatabase te verwijderen.

DROP TABLE DEPARTMENT;

Hier hebben we de DROP TABLE-query uitgevoerd op de tabelafdeling.

Om te controleren of de tabel Afdeling is verwijderd, gebruiken we de volgende vraag:

SHOW TABLES;  
Tables_in_company
Werknemers

Het bovenstaande resultaat geeft aan dat we de afdelingstabel met succes uit de bedrijfsdatabase hebben verwijderd.

TRUNCATE-opdracht: TRUNCATE Commando in de Structured Query Language verwijdert alle gegevens uit de tabel zonder het tabelschema in de database te verstoren. Hieronder staat de syntaxis van het TRUNCATE-commando:

TRUNCATE TABLE TABLE_NAME  

Schrijf een query om alle records uit de tabel Werknemers te verwijderen.

We zullen de SELECT-query gebruiken om eerst de gegevens van de tabel Werknemers op te halen en vervolgens de TRUNCATE-query uitvoeren.

SELECT * FROM EMPLOYEES;
WERKNEMER-ID FIRST_NAME LAST_NAME SALARIS STAD AFDELING
1 Vaibhav Sharma 65000 Noida Oracle
2 Sjweta Sharma 55000 Jaipur Oracle
3 Sonali Mali 60000 Nashik FMW
TRUNCATE TABLE EMPLOYEES;

Hier hebben we met succes alle gegevens uit de tabel Werknemers verwijderd. Nu gaan we de SELECT-query gebruiken in de tabel Werknemers.

TRUNCATE TABLE EMPLOYEES;

Na het uitvoeren van een SELECT-query op de tabel Werknemers, wordt in het resultaat een lege set weergegeven. Dit betekent dat we met succes de hele tabel hebben verwijderd.

Gegevensmanipulatie taalopdracht

DML staat voor Data Manipulation Language. Opdrachten voor gegevensmanipulatietaal in Structured Query Language manipuleren de gegevens in de database. Opdrachten voor gegevensmanipulatie Taal worden gebruikt om gegevens op te halen, gegevens op te slaan, de gegevens te wijzigen en de gegevens uit de bestaande tabel te verwijderen.

De opdrachten in Taal voor gegevensmanipulatie in de taal voor gestructureerde zoekopdrachten zijn als volgt:

  1. SELECT-opdracht.
  2. INSERT-opdracht.
  3. UPDATE-opdracht.
  4. Opdracht VERWIJDEREN.

Eerst zullen we kijken naar INSERT-commando's van de Data Manipulation Language in de Structured Query Language. Na INSERT gaan we naar het SELECT-commando.

INSERT-opdracht: INSERT Command slaat gegevens of records op in de databasetabel. INSERT-opdracht is de belangrijke opdracht voor gegevensmanipulatietaal in de gestructureerde querytaal.

Syntaxis van INSERT Data Manipulation Language-opdracht:

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

Deze syntaxis laat alle velden van de tabel toe. Als u waarden voor geselecteerde velden wilt invoegen, gebruik dan de onderstaande syntaxis:

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

De bovenstaande syntaxis wordt gebruikt om waarden op te slaan voor geselecteerde velden van de tabel.

Bijvoorbeeld

In dit voorbeeld voegen we een record in voor alle velden in de tabel.

Laten we de tabel Medewerkers nemen, die leeg is. We zullen records INVOEGEN in de stamtabel.

Nu gaan we nieuwe records opslaan in de tabel Werknemers. Om records in de tabel op te slaan, voeren we het volgende INSERT-commando voor de taal voor gegevensmanipulatie uit:

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');

We hebben zes records in de werknemerstabel ingevoegd.

SELECT-opdracht: De belangrijkste Data Manipulation Language-opdrachten in de SQL zijn de SELECT-opdracht. Het SELECT-commando wordt gebruikt om de gegevens van de opgegeven tabel op te halen en het SELECT-commando wordt ook gebruikt om geselecteerde velden van de tabel op te halen met behulp van de WHERE-component in de query.

Syntaxis van SELECT Data Manipulation Language Command

SELECT * FROM TABLE_NAME;

De bovenstaande syntaxis wordt gebruikt om de hele tabel op te halen.

SELECT COLUMN_NAME1, COLUMN_NAME2, COLUMN_NAMEN FROM TABLE_NAME;

De bovenstaande syntaxis is om alle records van de geselecteerde kolom op te halen.

SELECT * FROM TABLE_NAME WHERE COLUMN_NAME;

De bovenstaande syntaxis wordt gebruikt om de afzonderlijke records op te halen met behulp van de WHERE-clausule die wordt gespecificeerd door de kolomnaam.

Bijvoorbeeld stel dat je alle gegevens van elke kolom uit de tabel wilt halen:

SELECT * FROM EMPLOYEES;

Deze gestructureerde querytaal toont de volgende gegevens van de tabel WERKNEMERS:

  • Haal alle gegevens op één rij op met behulp van de WHERE-clausule gespecificeerd door de kolomnaam uit de tabel:
SELECT * FROM EMPLOYEES WHERE SALARY > 55000;

De bovenstaande zoekopdracht haalt alle gegevens op van de werknemers met een salaris van meer dan 55000.

Deze gestructureerde querytaal toont de volgende gegevens van de tabel WERKNEMERS:

UPDATE-opdracht: UPDATE Command is een ander waardevol Data Manipulation Language Command in SQL. UPDATE-commando's worden gebruikt om de records in een databasetabel te wijzigen.

Syntaxis van UPDATE Gegevensmanipulatie Taalopdracht

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

BIJWERKEN, INSTELLEN EN WAAR zijn de trefwoorden voor gestructureerde zoekopdrachten.

Voor voorbeelden,

  • Dit voorbeeld beschrijft hoe u de waarde kunt wijzigen.

Laten we eens kijken naar de tabel WERKNEMERS:

WERKNEMER-ID FIRST_NAME LAST_NAME SALARIS STAD AFDELING
1001 VAIBHAVI MISHRA 65000 PUNE ORAKLE
1002 VAIBHAV SHARMA 60000 NOIDA ORAKLE
1003 NIKHIL VANI 50000 JAIPUR FMW
2001 PRACHI SHARMA 55500 CHANDIGARH ORAKLE
2002 BHAVESH JAIN 65500 PUNE FMW
2003 RUCHIKA JAIN 50000 MUMBAI TESTEN
3001 PRANOTI SHENDE 55500 PUNE JAVA
3002 ANUJA WAAR 50500 JAIPUR FMW
3003 DEEPAM JAUHARI 58500 MUMBAI JAVA
4001 RAJESH GOUD 60500 MUMBAI TESTEN
  • Schrijf een query om een ​​record te wijzigen waarvan de achternaam 'Jain' is en stel de afdelingswaarde in op 'FMW'.
UPDATE TABLE_NAME SET COLUMN_NAME1 = VALUES, COLUMN_NAME2 = VALUES WHERE CONDITION;

We gebruiken de SELECT-query in de tabel Werknemers waarbij de achternaam Jain is om te controleren of de waarde is gewijzigd of niet.

SELECT * FROM EMPLOYEES WHERE LAST_NAME = ‘JAIN’;

Deze gestructureerde querytaal toont de volgende gegevens van de tabel WERKNEMERS:

VERWIJDEREN commando: DELETE is een taalopdracht voor gegevensmanipulatie die wordt gebruikt om de records uit de tabel te verwijderen. We verwijderen records uit de tabel met behulp van de WHERE-component in de query.

Syntaxis van UPDATE Gegevensmanipulatie Taalopdracht

DELETE FROM TABLE_NAME WHERE CONDITION;

Bijvoorbeeld laten we eens kijken naar de tabel WERKNEMERS:

WERKNEMER-ID FIRST_NAME LAST_NAME SALARIS STAD AFDELING
1001 VAIBHAVI MISHRA 65000 PUNE ORAKLE
1002 VAIBHAV SHARMA 60000 NOIDA ORAKLE
1003 NIKHIL VANI 50000 JAIPUR FMW
2001 PRACHI SHARMA 55500 CHANDIGARH ORAKLE
2002 BHAVESH JAIN 65500 PUNE FMW
2003 RUCHIKA JAIN 50000 MUMBAI TESTEN
3001 PRANOTI SHENDE 55500 PUNE JAVA
3002 ANUJA WAAR 50500 JAIPUR FMW
3003 DEEPAM JAUHARI 58500 MUMBAI JAVA
4001 RAJESH GOUD 60500 MUMBAI TESTEN
  • Schrijf een verzoek om de gegevens waarvan de plaatsnaam 'Mumbai' is, te verwijderen;
DELETE FROM EMPLOYEES WHERE CITY = ‘MUMBAI’;

We gebruiken de SELECT-query in de tabel Werknemers om te controleren of de waarde is gewijzigd of niet.

SELECT * FROM EMPLOYEES;

Deze gestructureerde querytaal toont de volgende gegevens van de tabel WERKNEMERS:

WERKNEMER-ID FIRST_NAME LAST_NAME SALARIS STAD AFDELING
1001 VAIBHAVI MISHRA 65000 PUNE ORAKLE
1002 VAIBHAV SHARMA 60000 NOIDA ORAKLE
1003 NIKHIL VANI 50000 JAIPUR FMW
2001 PRACHI SHARMA 55500 CHANDIGARH ORAKLE
2002 BHAVESH JAIN 65500 PUNE FMW
3001 PRANOTI SHENDE 55500 PUNE JAVA
3002 ANUJA WAAR 50500 JAIPUR FMW

Het bovenstaande resultaat laat zien dat het record met City Mumbai succesvol is verwijderd.

Gegevensbeheertaalcommando's

DCL is een afkorting van Data Control Language. We gebruiken Data Control Language Commando's om de toegangsrechten tot de records in de Structured Query Language-tabellen te beheren. Met behulp van Data Control Language-opdrachten kunnen we geautoriseerde gebruikers alleen privileges geven om toegang te krijgen tot de gegevens die in de tabellen of databases zijn geplaatst.

De gebruiker heeft een aantal vooraf ingestelde toegangsrechten om alleen voor een bepaalde gebruiker toegang te krijgen tot de gegevens die in de tabellen zijn geplaatst. Met behulp van Data Control Language Commando's kunnen we privileges toewijzen aan de gebruikers op de Structured Query Language of Database of privileges terugnemen (intrekken) van de gebruikers. Er zijn twee Data Control Language Commando's:

  1. SUBSIDIE: Grant Commands worden gebruikt om toegangsrechten toe te kennen aan de gebruikers voor de databases of de tabellen.
  2. INTREKKEN: Als we de gebruikers toegangsrechten kunnen verlenen. In dat geval willen we toegekende privileges van de gebruiker terugnemen voor de databases. We kunnen het REVOKE-commando gebruiken om alle toegewezen rechten van de gebruiker in te trekken.

Taal voor transactiebeheer

In Structured Query Language hebben we Data Definition Language (DDL) en Data Manipulation Language (DML)-opdrachten op dezelfde manier als Transaction Control Language (TCL)-opdrachten in de Structured Query Language. Opdrachten voor Transaction Control Language in de Structured Query Language zijn Commit en Terugdraaien .

Welke commando's we ook hebben uitgevoerd, verpakt in één werkeenheid die bekend staat als een transactie. Stel dat we één update- of wisbewerking hebben uitgevoerd op een tafel die in een transactie is uitgevoerd. Alle operaties of commando's van DDL of DML worden opgeslagen of uitgevoerd in een transactie. Om dergelijke uitgevoerde DDL of DML op te slaan, moeten we het commit-commando van een Transaction Control Language uitvoeren. Commit wordt gebruikt om alle bewerkingen die we op een tabel hebben uitgevoerd op te slaan. Alle bewerkingen worden opgeslagen. Dit alles gaat over Commit.

Denk nu eens na, wat als we de bewerkingen die we met de commit-commando's hebben opgeslagen ongedaan willen maken? Kunnen we de bewerking dan ongedaan maken in de Structured Query Language? Ja, we kunnen de uitgevoerde bewerkingen ongedaan maken. We zullen een ander commando van Transaction Control Language gebruiken om de bewerkingen ongedaan te maken, en dat commando is Rollback. We zullen het Rollback-commando gebruiken om de commit-bewerking in de Structured Query Language ongedaan te maken. Commando's onder Transaction Control Language zijn:

  1. Bevestigen
  2. Terugdraaien

Overweeg de bestaande werknemerstabellen die de volgende records hebben:

WERKNEMER-ID FIRST_NAME LAST_NAME SALARIS STAD AFDELING
1001 VAIBHAVI MISHRA 65000 PUNE ORAKLE
1002 VAIBHAV SHARMA 60000 NOIDA ORAKLE
1003 NIKHIL VANI 50000 JAIPUR FMW
2001 PRACHI SHARMA 55500 CHANDIGARH ORAKLE
2002 BHAVESH JAIN 65500 PUNE FMW
2003 RUCHIKA JAIN 50000 MUMBAI TESTEN
3001 PRANOTI SHENDE 55500 PUNE JAVA
3002 ANUJA WAAR 50500 JAIPUR FMW
3003 DEEPAM JAUHARI 58500 MUMBAI JAVA
4001 RAJESH GOUD 60500 MUMBAI TESTEN

We kunnen de opdracht commit en Rollback gebruiken zonder de transacties te starten, maar we zullen onze transactie starten met Start Transaction Commando voor een goede oefening.

Laten we beginnen en elk bewerkingsvoorbeeld één voor één bekijken.

Eerst zullen we de auto-commit uitschakelen door een waarde van auto-commit toe te wijzen aan 0

SET AUTOCOMMIT = 0;
  • Voeg nieuwe waarden in bij de medewerkers van de bestaande tabel, en dan zullen we het Commit-commando gebruiken:
INSERT INTO EMPLOYEES VALUES (2003, ‘RUCHIKA’, ‘JAIN’, 50000, ‘MUMBAI’, ‘TESTING’);

We zullen de SELECT-query gebruiken om te controleren of gegevens in een tabel zijn ingevoegd of niet:

SELECT * FROM EMPLOYEES WHERE EMPLOYEE = 2003;

Om deze transactie nu op te slaan, gebruiken we de opdracht commit.

COMMIT;

De details van het werknemer-ID 2001 zijn nu opgeslagen. Het is niet terugdraaien tenzij we het verwijderen met de opdracht Verwijderen.

  • We zullen alle informatie van werknemer-ID 2003 verwijderen, en dan zullen we de verwijderopdracht terugdraaien met Rollback.
DELETE FROM EMPLOYEES WHERE EMPLOYEE ID = 2003;

We zullen de SELECT-query gebruiken om te controleren of gegevens uit een tabel zijn verwijderd of niet:

SELECT * FROM EMPLOYEES;

Het werknemer-ID 2003 wordt uit de tabel verwijderd. Nu gaan we de Rollback Command gebruiken om de verwijdering ongedaan te maken.

ROLLBACK;

Na het uitvoeren van de Rollback-opdracht, zullen we de SELECT-query opnieuw gebruiken om te controleren of de verwijderingsbewerking Rollback is of niet.

SELECT * FROM EMPLOYEES WHERE EMPLOYEE ID = 2003;


  1. XMLA ophalen om de kubusstructuur te analyseren

  2. identiteit van sql invoegen via jdbctemplate

  3. Zoeken op expressie-indexen

  4. [Video] Gegevensintegratie met PostgreSQL