sql >> Databasteknik >  >> RDS >> Database

Typer av SQL-kommandon

Structured Query Language används för att hantera strukturerad data. De data som lagras i form av tabeller är strukturerade data. Dessa SQL-kommandon lagrar poster eller data i tabellen och används också för att hämta posterna från de lagrade tabellerna. Det finns fyra typer av kommandon för strukturerade frågespråk:

  1. Språkkommandon för datadefinition.
  2. Språkkommandon för datamanipulation.
  3. Språkkommandon för datakontroll.
  4. Språkkommandon för transaktionskontroll.

Språkkommandon för datadefinition

DDL är en förkortning för Data Definition Language. Data Definition Språkkommandon används för att hantera strukturen, det vill säga tabellen eller relationen i vilken våra poster eller data lagras. Data Definition Language-kommandon används för att skapa, ta bort och ändra tabellen. Data Definition Language-kommandon är:

  1. CREATE-kommandot.
  2. ALTER-kommando.
  3. DROP-kommando.
  4. Kommandot TRUNCATE.

CREATE-kommandon: I Structured Query Language lagrar vi data i tabellen, och för att skapa en ny tabell eller databas använder vi CREATE-kommandot för datadefinitionsspråkkommandona. Nedan är syntaxen för att skapa en databas:

CREATE DATABASE DATABASE_NAME;

Till exempel,

  • Skriv en fråga för att skapa en ny databas följt av databasnamnet Företag.
CREATE DATABASE COMPANY;	

För att kontrollera om ett databasföretag har skapats använder vi följande fråga:

SHOW DATABASES; 
Databas
företag
anställd
informationsschema
mysql
performance_schema
phpmyadmin

Resultatet ovan säger att vi framgångsrikt skapade företaget Databas.

  • Skriv en fråga för att skapa en ny tabell:

Vi kommer att skapa en ny tabell med anställda i företaget Databas. Vi måste välja Företagsdatabas.

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

För att välja företagsdatabas använder vi följande fråga:

USE COMPANY;

Nu väljer vi Företag som en databas; vi kommer att köra CREATE TABLE-frågan för att skapa en tabell:

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

Vi skapade tabellnamnet Anställda med CREATE TABLE-frågan.

För att kontrollera om tabellen Anställda har skapats använder vi följande fråga:

SHOW TABLES;
Tables_in_company
anställda

Resultatet ovan säger att vi har skapat tabellen "Anställda".

Vi kommer att skapa en annan tabell med CREATE TABLE.

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

Vi skapade tabellnamnet 'Avdelning' med CREATE TABLE-frågan.

För att kontrollera om tabellavdelningen är skapad använder vi följande fråga:

SHOW TABLES;  
Tables_in_company
avdelningsanställda

Resultatet ovan säger att vi har skapat tabellen "Anställda".

ALTER Kommando: I Structured Query Language kommer vi att använda ALTER-kommandot för Data Definition Language-kommandot när vi vill ändra tabellschemat eller strukturen. ALTER-kommandot används för att ändra tabellschemat genom att lägga till en ny kolumn, ta bort en befintlig kolumn från tabellen, etc. nedan är syntaxen för ALTER-kommandot för att lägga till en ny kolumn:

ALTER TABLE TABLE_NAME ADD COLUMN_NAME DATATYPE (COLUMN SIZE);

Syntax för ALTER-kommandot för att ta bort en befintlig kolumn:

ALTER TABLE TABLE-NAME DROP COLUMN COLUMN_NAME;

Syntax för ALTER-kommandot för att byta namn på den befintliga tabellens kolumn:

ALTER TABLE TABLE_NAME RENAME COLUMN OLD_COLUMN-NAME TO NEW_COLUMN_NAME;

Till exempel

  • Skriv en fråga för att lägga till en ny kolumn i tabellen Anställda:
ALTER TABLE EMPLOYEES ADD DEPARTMENT VARCHAR (20);

Här har vi utfört kommandot ALTER TABLE på tabellen Anställda följt av nyckelordet ADD, vilket betyder att lägga till en kolumn med kolumnnamnet Department, datatypen VARCHAR och kolumnstorlek 20. Ovanstående fråga säger att vi har lagt till en ny kolumn med namnet ' Department' med datatypen VARCHAR och kolumnstorleken är 20.

För att kontrollera om en ny kolumn läggs till i tabellen Anställda använder vi kommandot DESC på den anställdes bord.

DESC EMPLOYEES; 
Fält Typ Null Nyckel Standard Extra
ANSTÄLLDA ID int(11) NEJ PRI NULL
FIRST_NAME varchar(20) JA NULL
LAST_NAME varchar(20) JA NULL
LÖN int(11) JA NULL
STAD varchar(20) JA NULL
AVDELNING varchar(20) JA NULL

Resultatet ovan verifierar att en ny kolumn har lagts till i den anställdes tabell.

DROP-kommando: DROP-kommandot i Structured Query Language används för att ta bort tabell- och tabellschemat från databasen. Här är syntaxen för kommandot DROP;

DROP TABLE TABLE_NAME;

Skriv en fråga för att ta bort avdelningstabellen från personaldatabasen.

DROP TABLE DEPARTMENT;

Här har vi kört DROP TABLE-frågan på tabellen Department.

För att kontrollera om tabellavdelningen är raderad kommer vi att använda följande fråga:

SHOW TABLES;  
Tables_in_company
Anställda

Resultatet ovan säger att vi har raderat avdelningstabellen från företagsdatabasen.

TRUNCATE Kommando: TRUNCATE Kommandot i Structured Query Language tar bort all data från tabellen utan att störa tabellschemat i databasen. Nedan är syntaxen för TRUNCATE-kommandot:

TRUNCATE TABLE TABLE_NAME  

Skriv en fråga för att radera alla poster från tabellen Anställda.

Vi kommer att använda SELECT-frågan för att hämta data först från tabellen Employees och sedan köra TRUNCATE-frågan.

SELECT * FROM EMPLOYEES;
ANSTÄLLDA ID FIRST_NAME LAST_NAME LÖN STAD AVDELNING
1 Vaibhav Sharma 65 000 Noida Oracle
2 Shweta Sharma 55 000 Jaipur Oracle
3 Sonali Mali 60 000 Nashik FMW
TRUNCATE TABLE EMPLOYEES;

Här har vi tagit bort all data från tabellen Anställda. Nu kommer vi att använda SELECT-frågan i tabellen Anställda.

TRUNCATE TABLE EMPLOYEES;

Efter att ha kört en SELECT-fråga i tabellen Anställda kommer resultatet att visa en tom uppsättning. Det betyder att vi har tagit bort hela tabellen.

Språkkommando för datamanipulation

DML står för Data Manipulation Language. Data Manipulation Language-kommandon i Structured Query Language manipulerar data i databasen. Data Manipulation Language-kommandon används för att hämta data, lagra data, modifiera data och ta bort data från den befintliga tabellen.

Kommandona för datamanipulationsspråk i Structured Query Language är följande:

  1. SELECT-kommando.
  2. INSERT Kommando.
  3. UPDATE-kommandot.
  4. Kommandot DELETE.

Först kommer vi att titta på INSERT-kommandon för Data Manipulation Language i Structured Query Language. Efter INSERT kommer vi att gå mot SELECT-kommandot.

INSERT kommando: INSERT Command lagrar data eller poster i databastabellen. INSERT-kommandot är det viktiga kommandot för datamanipulationsspråk i Structured Query Language.

Syntax för kommandot INSERT Data Manipulation Language:

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

Denna syntax tillåter alla fält i tabellen. Om du vill infoga värden för valda fält, använd då syntax nedan:

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

Ovanstående syntax används för att lagra värden för valda fält i tabellen.

Till exempel

I det här exemplet kommer vi att infoga en post för alla fält i tabellen.

Låt oss ta tabellen Anställda, som är tom. Vi kommer att INFOGA poster i stud-tabellen.

Nu kommer vi att lagra nya poster i tabellen Anställda. För att lagra poster i tabellen kommer vi att köra följande Data Manipulation Language INSERT-kommando:

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

Vi infogade sex poster i personaltabellen.

SELECT Kommando: De viktigaste kommandona för Data Manipulation Language i SQL är kommandot SELECT. SELECT-kommandot används för att hämta data från den angivna tabellen, och SELECT-kommandot används också för att hämta valda fält i tabellen med hjälp av WHERE-satsen i frågan.

Syntax för kommandot SELECT Data Manipulation Language

SELECT * FROM TABLE_NAME;

Ovanstående syntax används för att hämta hela tabellen.

SELECT COLUMN_NAME1, COLUMN_NAME2, COLUMN_NAMEN FROM TABLE_NAME;

Ovanstående syntax är att hämta alla poster i den valda kolumnen.

SELECT * FROM TABLE_NAME WHERE COLUMN_NAME;

Ovanstående syntax används för att hämta de enskilda posterna med hjälp av WHERE-satsen som anges av kolumnnamnet.

Till exempel anta att du vill hämta all data för varje kolumn från tabellen:

SELECT * FROM EMPLOYEES;

Detta strukturerade frågespråk visar följande data i tabellen ANSTÄLLDA:

  • Hämta en rad all data med hjälp av WHERE-satsen som anges av kolumnnamnet från tabellen:
SELECT * FROM EMPLOYEES WHERE SALARY > 55000;

Ovanstående fråga hämtar alla uppgifter för de anställda vars lön är högre än 55 000.

Detta strukturerade frågespråk visar följande data i tabellen ANSTÄLLDA:

UPDATE-kommando: UPDATE Command är ett annat värdefullt Data Manipulation Language Command i SQL. UPDATE-kommandon används för att modifiera posterna i en databastabell.

Syntax för UPDATE Data Manipulation Language Command

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

UPPDATERA, SÄTTA OCH VAR är nyckelorden för Structured Query Language.

Till exempel

  • Det här exemplet beskriver hur du ändrar värdet.

Låt oss betrakta tabellen ANSTÄLLDA:

ANSTÄLLDA ID FIRST_NAME LAST_NAME LÖN STAD AVDELNING
1001 VAIBHAVI MISHRA 65 000 PUNE ORACLE
1002 VAIBHAV SHARMA 60 000 NOIDA ORACLE
1003 NIKHIL VANI 50 000 JAIPUR FMW
2001 PRACHI SHARMA 55500 CHANDIGARH ORACLE
2002 BHAVESH JAIN 65500 PUNE FMW
2003 RUCHIKA JAIN 50 000 MUMBAI TESTER
3001 PRANOTI SHENDE 55500 PUNE JAVA
3002 ANUJA VAR 50500 JAIPUR FMW
3003 DEEPAM JAUHARI 58500 MUMBAI JAVA
4001 RAJESH GOUD 60500 MUMBAI TESTER
  • Skriv en fråga för att ändra en post vars efternamn är 'Jain' och ställ in avdelningsvärdet som 'FMW'.
UPDATE TABLE_NAME SET COLUMN_NAME1 = VALUES, COLUMN_NAME2 = VALUES WHERE CONDITION;

Vi kommer att använda SELECT-frågan i tabellen Anställda där efternamnet är Jain för att verifiera om värdet har ändrats eller inte.

SELECT * FROM EMPLOYEES WHERE LAST_NAME = ‘JAIN’;

Detta strukturerade frågespråk visar följande data i tabellen ANSTÄLLDA:

DELETE-kommandot: DELETE är ett språkkommando för datamanipulation som används för att radera posterna från tabellen. Vi tar bort poster från tabellen med hjälp av WHERE-satsen i frågan.

Syntax för UPDATE Data Manipulation Language Command

DELETE FROM TABLE_NAME WHERE CONDITION;

Till exempel låt oss betrakta tabellen ANSTÄLLDA:

ANSTÄLLDA ID FIRST_NAME LAST_NAME LÖN STAD AVDELNING
1001 VAIBHAVI MISHRA 65 000 PUNE ORACLE
1002 VAIBHAV SHARMA 60 000 NOIDA ORACLE
1003 NIKHIL VANI 50 000 JAIPUR FMW
2001 PRACHI SHARMA 55500 CHANDIGARH ORACLE
2002 BHAVESH JAIN 65500 PUNE FMW
2003 RUCHIKA JAIN 50 000 MUMBAI TESTER
3001 PRANOTI SHENDE 55500 PUNE JAVA
3002 ANUJA VAR 50500 JAIPUR FMW
3003 DEEPAM JAUHARI 58500 MUMBAI JAVA
4001 RAJESH GOUD 60500 MUMBAI TESTER
  • Skriv en fråga för att radera data vars stadsnamn är 'Mumbai';
DELETE FROM EMPLOYEES WHERE CITY = ‘MUMBAI’;

Vi kommer att använda SELECT-frågan i tabellen Anställda för att verifiera om värdet har ändrats eller inte.

SELECT * FROM EMPLOYEES;

Detta strukturerade frågespråk visar följande data i tabellen ANSTÄLLDA:

ANSTÄLLDA ID FIRST_NAME LAST_NAME LÖN STAD AVDELNING
1001 VAIBHAVI MISHRA 65 000 PUNE ORACLE
1002 VAIBHAV SHARMA 60 000 NOIDA ORACLE
1003 NIKHIL VANI 50 000 JAIPUR FMW
2001 PRACHI SHARMA 55500 CHANDIGARH ORACLE
2002 BHAVESH JAIN 65500 PUNE FMW
3001 PRANOTI SHENDE 55500 PUNE JAVA
3002 ANUJA VAR 50500 JAIPUR FMW

Resultatet ovan visar att posten med City Mumbai raderades framgångsrikt.

Språkkommandon för datakontroll

DCL är en förkortning av Data Control Language. Vi använder språkkommandon för datakontroll för att kontrollera åtkomstbehörigheterna till posterna i Structured Query Language-tabellerna. Med hjälp av Data Control Language-kommandon kan vi ge behörighet till behöriga användare endast för att komma åt data som placerats i tabellerna eller databaserna.

Användaren har vissa förbyggda åtkomstbehörigheter för att komma åt data som placeras i tabellerna endast för en viss användare. Med hjälp av språkkommandon för datakontroll kan vi tilldela privilegier till användarna på Structured Query Language eller databasen eller ta tillbaka (återkalla) privilegier från användarna. Det finns två språkkommandon för datakontroll:

  1. GANTA: Grant-kommandon används för att tilldela åtkomstbehörigheter till användarna för databaserna eller tabellerna.
  2. ÅTERVÄLJ: Om vi ​​kan GE åtkomstprivilegier till användarna. I så fall vill vi ta tillbaka tilldelade privilegier från användaren för databaserna. Vi kan använda REVOKE-kommandot för att återkalla alla tilldelade privilegier från användaren.

Transaktionskontrollspråk

I Structured Query Language har vi Data Definition Language (DDL) och Data Manipulation Language (DML) kommandon på samma sätt som vi har Transaction Control Language (TCL) kommandon i Structured Query Language. Transaktionskontrollspråkkommandon i Structured Query Language är Commit och Återställ .

Vilka kommandon vi än körde insvept i en arbetsenhet som kallas en transaktion. Anta att vi har utfört en uppdaterings- eller raderingsoperation på en tabell som körs i en transaktion. Alla operationer eller kommandon för DDL eller DML lagras eller exekveras i en transaktion. För att spara sådan exekverad DDL eller DML måste vi utföra commit-kommandot för ett Transaction Control Language. Commit används för att spara alla operationer vi utförde på ett bord. All operation sparas. Allt detta handlar om Commit.

Tänk nu, vad händer om vi vill ångra operationerna vi sparade med commit-kommandona? Kan vi då ångra operationen i Structured Query Language? Ja, vi kan ångra de operationer som har begåtts. Vi kommer att använda ett annat kommando i Transaction Control Language för att ångra operationerna, och det kommandot är Rollback. Vi kommer att använda kommandot Rollback för att ångra commit-operationen i Structured Query Language. Kommandon under Transaction Control Language är:

  1. Bekräfta
  2. Återställ

Tänk på den befintliga medarbetarens tabeller som har följande poster:

ANSTÄLLDA ID FIRST_NAME LAST_NAME LÖN STAD AVDELNING
1001 VAIBHAVI MISHRA 65 000 PUNE ORACLE
1002 VAIBHAV SHARMA 60 000 NOIDA ORACLE
1003 NIKHIL VANI 50 000 JAIPUR FMW
2001 PRACHI SHARMA 55500 CHANDIGARH ORACLE
2002 BHAVESH JAIN 65500 PUNE FMW
2003 RUCHIKA JAIN 50 000 MUMBAI TESTER
3001 PRANOTI SHENDE 55500 PUNE JAVA
3002 ANUJA VAR 50500 JAIPUR FMW
3003 DEEPAM JAUHARI 58500 MUMBAI JAVA
4001 RAJESH GOUD 60500 MUMBAI TESTER

Vi kan använda kommandot commit och Rollback utan att starta transaktionerna, men vi kommer att starta vår transaktion med Starta transaktion Kommando för god övning.

Låt oss börja och se varje operationsexempel ett efter ett.

Först stänger vi av auto-commit genom att tilldela värdet auto-commit till 0

SET AUTOCOMMIT = 0;
  • Infoga nya värden i befintliga bords anställda och sedan använder vi Commit Command:
INSERT INTO EMPLOYEES VALUES (2003, ‘RUCHIKA’, ‘JAIN’, 50000, ‘MUMBAI’, ‘TESTING’);

Vi kommer att använda SELECT-frågan för att kontrollera att data infogas i en tabell eller inte:

SELECT * FROM EMPLOYEES WHERE EMPLOYEE = 2003;

För att spara den här transaktionen använder vi kommandot commit.

COMMIT;

Personal-id 2001-uppgifterna sparas nu. Det kommer inte att återställas om vi inte tar bort det med kommandot Delete.

  • Vi kommer att radera all information om anställd-id 2003, och sedan återställer vi raderingskommandot med Återställ.
DELETE FROM EMPLOYEES WHERE EMPLOYEE ID = 2003;

Vi kommer att använda SELECT-frågan för att kontrollera att data raderas från en tabell eller inte:

SELECT * FROM EMPLOYEES;

Medarbetar-id 2003 tas bort från tabellen. Nu kommer vi att använda Rollback Command för att ångra borttagningen.

ROLLBACK;

Efter att ha kört Rollback-kommandot kommer vi att använda SELECT-frågan igen för att kontrollera att borttagningen är Rollback eller inte.

SELECT * FROM EMPLOYEES WHERE EMPLOYEE ID = 2003;


  1. Fel:Ingen modul med namnet psycopg2.extensions

  2. Hur man genererar Drop Table Statement för alla tabeller i en databas - SQL Server / T-SQL Tutorial Del 48

  3. hur man ändrar storleken på en kolumn

  4. Fixa "FEL:varje INTERSECT-fråga måste ha samma antal kolumner" i PostgreSQL