Database
 sql >> база данни >  >> RDS >> Database

Видове SQL команди

Езикът на структурираните заявки се използва за работа със структурирани данни. Данните, които се съхраняват под формата на таблици, са структурирани данни. Тези SQL команди съхраняват записи или данни в таблицата и се използват също за извличане на записите от съхранените таблици. Има четирите типа команди на езика за структурирани заявки:

  1. Езикови команди за дефиниране на данни.
  2. Езикови команди за манипулиране на данни.
  3. Езикови команди за контрол на данните.
  4. Езикови команди за управление на транзакциите.

Езикови команди за дефиниране на данни

DDL е съкращение за език за дефиниране на данни. Командите на езика за дефиниране на данни се използват за работа със структурата, т.е. таблицата или релацията, в която се съхраняват нашите записи или данни. Командите на езика за дефиниране на данни се използват за създаване, изтриване и промяна на таблицата. Командите на езика за дефиниране на данни са:

  1. Команда CREATE.
  2. Команда ALTER.
  3. Команда DROP.
  4. Команда TRUNCATE.

Команди CREATE: В езика за структурирани заявки ние съхраняваме данни в таблицата и за да създадем нова таблица или база данни, използваме командата CREATE от командите на езика за дефиниране на данни. По-долу е синтаксисът за създаване на база данни:

CREATE DATABASE DATABASE_NAME;

За примери,

  • Напишете заявка за създаване на нова база данни, последвана от име на базата данни Фирма.
CREATE DATABASE COMPANY;	

За да проверим дали е създадена компания от база данни, ще използваме следната заявка:

SHOW DATABASES; 
База данни
фирма
служител
информационна_схема
mysql
схема_изпълнение
phpmyadmin

Горният резултат казва, че успешно създадохме Компанията База данни.

  • Напишете заявка за създаване на нова таблица:

Ще създадем нова таблица на служителите в Компанията База данни. Трябва да изберем Фирмена база данни.

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

За да изберем фирмена база данни, ще използваме следната заявка:

USE COMPANY;

Сега избираме Компания като база данни; ще изпълним заявка CREATE TABLE, за да създадем таблица:

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

Създадохме името на таблицата Служители с помощта на заявка CREATE TABLE.

За да проверим дали таблицата Employees е създадена, ще използваме следната заявка:

SHOW TABLES;
Таблици_в_компанията
служители

Горният резултат казва, че успешно създадохме таблицата „Служители“.

Ще създадем друга таблица с помощта на CREATE TABLE.

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

Създадохме името на таблицата „Department“ с помощта на заявка CREATE TABLE.

За да проверим дали е създадена таблица Отдел, ще използваме следната заявка:

SHOW TABLES;  
Таблици_в_компанията
служители на отдел

Горният резултат казва, че успешно създадохме таблицата „Служители“.

Команда ALTER: В езика за структурирани заявки, когато искаме да променим схемата или структурата на таблицата, ще използваме командата ALTER на командата Data Definition Language. Команда ALTER се използва за промяна на схемата на таблицата чрез добавяне на нова колона, изтриване на съществуваща колона от таблицата и т.н. по-долу е синтаксисът на командата ALTER за добавяне на нова колона:

ALTER TABLE TABLE_NAME ADD COLUMN_NAME DATATYPE (COLUMN SIZE);

Синтаксис на команда ALTER за премахване на съществуваща колона:

ALTER TABLE TABLE-NAME DROP COLUMN COLUMN_NAME;

Синтаксис на команда ALTER за преименуване на колоната на съществуващата таблица:

ALTER TABLE TABLE_NAME RENAME COLUMN OLD_COLUMN-NAME TO NEW_COLUMN_NAME;

Например,

  • Напишете заявка, за да добавите нова колона в таблицата „Служители“:
ALTER TABLE EMPLOYEES ADD DEPARTMENT VARCHAR (20);

Тук сме изпълнили командата ALTER TABLE в таблицата Employees, последвана от ключовата дума ADD, което означава да добавим колона с името на колоната Department, типа данни VARCHAR и размер на колона 20. Горната заявка казва, че сме добавили нова колона с име ' Отдел“ с тип данни VARCHAR и размерът на колоната е 20.

За да проверим дали е добавена нова колона към таблицата Служители, ще използваме командата DESC в таблицата на служителя.

DESC EMPLOYEES; 
Поле Тип Null Ключ По подразбиране Допълнително
ИД НА СЛУЖИТЕЛ int(11) НЕ PRI NULL
FIRST_NAME varchar(20) ДА NULL
ПОСЛЕДНО_ИМЕ varchar(20) ДА NULL
ЗАПЛАТА int(11) ДА NULL
ГРАД varchar(20) ДА NULL
ОТДЕЛ varchar(20) ДА NULL

Горният резултат потвърждава, че нова колона е добавена успешно към таблицата на служителя.

Команда DROP: Командата DROP в езика за структурирани заявки се използва за изтриване на таблицата и схемата на таблицата от базата данни. Ето синтаксиса на командата DROP;

DROP TABLE TABLE_NAME;

Напишете заявка, за да премахнете таблицата на отдела от базата данни на служителите.

DROP TABLE DEPARTMENT;

Тук изпълнихме заявката DROP TABLE към таблицата Department.

За да проверим дали таблицата Department е изтрита, ще използваме следната заявка:

SHOW TABLES;  
Таблици_в_компанията
Служители

Горният резултат казва, че успешно изтрихме таблицата на отдела от фирмената база данни.

Команда TRUNCATE: Командата TRUNCATE в езика за структурирани заявки премахва всички данни от таблицата, без да нарушава схемата на таблицата в базата данни. По-долу е синтаксисът на командата TRUNCATE:

TRUNCATE TABLE TABLE_NAME  

Напишете заявка за изтриване на всички записи от таблицата Служители.

Ще използваме заявката SELECT, за да извлечем данните първо от таблицата Employees и след това да изпълним заявката TRUNCATE.

SELECT * FROM EMPLOYEES;
ИДЕНТИФИКАТОР НА СЛУЖИТЕЛЯ FIRST_NAME LAST_NAME ЗАПЛАТА ГРАД ОТДЕЛ
1 Вайбхав Шарма 65 000 Нойда Oracle
2 Швета Шарма 55 000 Джайпур Oracle
3 Сонали Мали 60 000 Нашик FMW
TRUNCATE TABLE EMPLOYEES;

Тук успешно премахнахме всички данни от таблицата на служителите. Сега ще използваме заявката SELECT в таблицата Employees.

TRUNCATE TABLE EMPLOYEES;

След изпълнение на заявка SELECT в таблицата Employees, резултатът ще покаже празен набор. Това означава, че успешно премахнахме цялата таблица.

Езикова команда за манипулиране на данни

DML означава език за манипулиране на данни. Командите на езика за манипулиране на данни в езика за структурирани заявки манипулират данните в базата данни. Езиковите команди за манипулиране на данни се използват за извличане на данни, съхраняване на данни, промяна на данните и изтриване на данните от съществуващата таблица.

Командите на езика за манипулиране на данни в езика за структурирани заявки са както следва:

  1. Команда SELECT.
  2. Команда INSERT.
  3. Команда АКТУАЛИЗИРАНЕ.
  4. Команда DELETE.

Първо, ще разгледаме командите INSERT на езика за манипулиране на данни в езика за структурирани заявки. След INSERT ще се придвижим към командата SELECT.

Команда INSERT: Командата INSERT съхранява данни или записи в таблицата на базата данни. Командата INSERT е важната команда на езика за манипулиране на данни в езика за структурирани заявки.

Синтаксис на командата INSERT Data Manipulation Language:

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

Този синтаксис позволява всички полета на таблицата. В случай, че искате да вмъкнете стойности за избрани полета, използвайте следния синтаксис:

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

Горният синтаксис се използва за съхраняване на стойности за избрани полета на таблицата.

Например,

В този пример ще вмъкнем запис за всички полета в таблицата.

Да вземем таблицата Служители, която е празна. Ще ВМЕСТИ записи в stud таблицата.

Сега ще съхраняваме нови записи в таблицата на служителите. За да съхраняваме записи в таблицата, ще изпълним следната команда INSERT за език за манипулиране на данни:

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

Вмъкнахме шест записа в таблицата на служителите.

Команда SELECT: Най-важните команди на езика за манипулиране на данни в SQL е командата SELECT. Командата SELECT се използва за извличане на данните от посочената таблица, а командата SELECT също се използва за извличане на избрани полета от таблицата с помощта на клаузата WHERE в заявката.

Синтаксис на командата SELECT за език за манипулиране на данни

SELECT * FROM TABLE_NAME;

Горният синтаксис се използва за извличане на цялата таблица.

SELECT COLUMN_NAME1, COLUMN_NAME2, COLUMN_NAMEN FROM TABLE_NAME;

Горният синтаксис е за извличане на всички записи на избраната колона.

SELECT * FROM TABLE_NAME WHERE COLUMN_NAME;

Горният синтаксис се използва за извличане на единични записи с помощта на клаузата WHERE, посочена от името на колоната.

Например да предположим, че искате да извлечете всички данни за всяка колона от таблицата:

SELECT * FROM EMPLOYEES;

Този език за структурирана заявка показва следните данни от таблицата EMPLOYEES:

  • Извличане на всички данни на един ред с помощта на клауза WHERE, посочена от името на колоната от таблицата:
SELECT * FROM EMPLOYEES WHERE SALARY > 55000;

Горната заявка ще извлече всички записи на служителите, чиято заплата е по-голяма от 55 000.

Този език за структурирана заявка показва следните данни от таблицата EMPLOYEES:

Команда АКТУАЛИЗИРАНЕ: Командата UPDATE е друга ценна команда за език за манипулиране на данни в SQL. Командите UPDATE се използват за промяна на записите в таблица на база данни.

Синтаксис на Езиковата команда UPDATE за манипулиране на данни

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

АКТУАЛИЗИРАНЕ, ЗАДАВАНЕ И КЪДЕ са ключовите думи на езика на структурираните заявки.

За примери,

  • Този пример описва как да промените стойността.

Нека разгледаме таблицата СЛУЖИТЕЛИ:

ИДЕНТИФИКАТОР НА СЛУЖИТЕЛЯ FIRST_NAME LAST_NAME ЗАПЛАТА ГРАД ОТДЕЛ
1001 VAIBHAVI МИШРА 65 000 ПУНА ORACLE
1002 VAIBHAV ШАРМА 60 000 NOIDA ORACLE
1003 НИХИЛ VANI 50 000 ДЖАЙПУР FMW
2001 PRACHI ШАРМА 55500 ЧАНДИГАР ORACLE
2002 BHAVESH ДЖЕЙН 65500 ПУНА FMW
2003 РУЧИКА ДЖЕЙН 50 000 МУМБАЙ ТЕСТВАНЕ
3001 PRANOTI ШЕНДЕ 55500 ПУНА JAVA
3002 ANUJA КЪДЕ 50500 ДЖАЙПУР FMW
3003 DEEPAM ДЖАУХАРИ 58500 МУМБАЙ JAVA
4001 РАДЖЕШ GOUD 60500 МУМБАЙ ТЕСТВАНЕ
  • Напишете заявка за промяна на запис, чието фамилно име е „Jain“ и задайте стойността на отдела като „FMW“.
UPDATE TABLE_NAME SET COLUMN_NAME1 = VALUES, COLUMN_NAME2 = VALUES WHERE CONDITION;

Ще използваме заявката SELECT в таблицата Employees, където фамилното име е Jain, за да проверим дали стойността е променена или не.

SELECT * FROM EMPLOYEES WHERE LAST_NAME = ‘JAIN’;

Този език за структурирана заявка показва следните данни от таблицата EMPLOYEES:

Команда DELETE: DELETE е команда на езика за манипулиране на данни, използвана за изтриване на записите от таблицата. Изтриваме записи от таблицата с помощта на клаузата WHERE в заявката.

Синтаксис на Езиковата команда UPDATE за манипулиране на данни

DELETE FROM TABLE_NAME WHERE CONDITION;

Например нека разгледаме таблицата EMPLOYEES:

ИДЕНТИФИКАТОР НА СЛУЖИТЕЛЯ FIRST_NAME LAST_NAME ЗАПЛАТА ГРАД ОТДЕЛ
1001 VAIBHAVI МИШРА 65 000 ПУНА ORACLE
1002 VAIBHAV ШАРМА 60 000 NOIDA ORACLE
1003 НИХИЛ VANI 50 000 ДЖАЙПУР FMW
2001 PRACHI ШАРМА 55500 ЧАНДИГАР ORACLE
2002 BHAVESH ДЖЕЙН 65500 ПУНА FMW
2003 РУЧИКА ДЖЕЙН 50 000 МУМБАЙ ТЕСТВАНЕ
3001 PRANOTI ШЕНДЕ 55500 ПУНА JAVA
3002 ANUJA КЪДЕ 50500 ДЖАЙПУР FMW
3003 DEEPAM ДЖАУХАРИ 58500 МУМБАЙ JAVA
4001 РАДЖЕШ GOUD 60500 МУМБАЙ ТЕСТВАНЕ
  • Напишете заявка за изтриване на данните, чието име е „Мумбай“;
DELETE FROM EMPLOYEES WHERE CITY = ‘MUMBAI’;

Ще използваме заявката SELECT в таблицата Employees, за да проверим дали стойността е променена или не.

SELECT * FROM EMPLOYEES;

Този език за структурирана заявка показва следните данни от таблицата EMPLOYEES:

ИДЕНТИФИКАТОР НА СЛУЖИТЕЛЯ FIRST_NAME LAST_NAME ЗАПЛАТА ГРАД ОТДЕЛ
1001 VAIBHAVI МИШРА 65 000 ПУНА ORACLE
1002 VAIBHAV ШАРМА 60 000 NOIDA ORACLE
1003 НИХИЛ VANI 50 000 ДЖАЙПУР FMW
2001 PRACHI ШАРМА 55500 ЧАНДИГАР ORACLE
2002 BHAVESH ДЖЕЙН 65500 ПУНА FMW
3001 PRANOTI ШЕНДЕ 55500 ПУНА JAVA
3002 ANUJA КЪДЕ 50500 ДЖАЙПУР FMW

Горният резултат показва, че записът с City Mumbai е изтрит успешно.

Езикови команди за контрол на данните

DCL е съкращение от Data Control Language. Ние използваме езикови команди за контрол на данните, за да контролираме привилегиите за достъп до записите в таблиците на езика на структурираните заявки. Използвайки командите на езика за управление на данните, можем да дадем привилегии само на оторизирани потребители за достъп до данните, поставени в таблиците или базите данни.

Потребителят има някои предварително изградени привилегии за достъп до данните, поставени в таблиците само за конкретен потребител. Използвайки командите на езика за контрол на данните, можем да присвоим привилегии на потребителите на езика за структурирани заявки или базата данни или да върнем (отмени) привилегии от потребителите. Има две езикови команди за контрол на данните:

  1. ПРЕДОСТАВЯ: Командите за предоставяне се използват за присвояване на привилегии за достъп на потребителите до базите данни или таблиците.
  2. ОТМЕНЯ: Ако можем да ПРЕДОСТАВИМ привилегии за достъп на потребителите. В този случай искаме да вземем обратно присвоените привилегии от потребителя за базите данни. Можем да използваме команда REVOKE, за да отменим всички присвоени привилегии от потребителя.

Език за управление на транзакциите

В езика за структурирани заявки имаме команди за език за дефиниране на данни (DDL) и език за манипулиране на данни (DML) по същия начин, по който имаме командите на езика за управление на транзакциите (TCL) в езика за структурирани заявки. Командите на езика за управление на транзакциите в езика на структурираните заявки са Commit и Отмяна .

Каквито и команди да сме изпълнили, обвити в една единица работа, известна като транзакция. Да предположим, че сме изпълнили една операция за актуализиране или изтриване на таблица, изпълнена в транзакция. Всички операции или команди на DDL или DML се съхраняват или изпълняват в транзакция. За да запазим такъв изпълнен DDL или DML, трябва да изпълним командата за запис на език за управление на транзакциите. Commit се използва за запазване на всички извършени от нас операции върху таблица. Цялата операция е запазена. Всичко това е за Commit.

Сега помислете, какво ще стане, ако искаме да отменим операциите, които сме запазили с помощта на командите за запис? Тогава можем ли да отменим операцията в езика за структурирани заявки? Да, можем да отменим извършените операции. Ще използваме друга команда на езика за управление на транзакциите, за да отменим операциите, и тази команда е Rollback. Ще използваме командата Rollback, за да отменим операцията за комит в езика за структурирани заявки. Командите под Език за управление на транзакциите са:

  1. Ангажимент
  2. Отмяна

Помислете за съществуващите таблици на служителите, които имат следните записи:

ИДЕНТИФИКАТОР НА СЛУЖИТЕЛЯ FIRST_NAME LAST_NAME ЗАПЛАТА ГРАД ОТДЕЛ
1001 VAIBHAVI МИШРА 65 000 ПУНА ORACLE
1002 VAIBHAV ШАРМА 60 000 NOIDA ORACLE
1003 НИХИЛ VANI 50 000 ДЖАЙПУР FMW
2001 PRACHI ШАРМА 55500 ЧАНДИГАР ORACLE
2002 BHAVESH ДЖЕЙН 65500 ПУНА FMW
2003 РУЧИКА ДЖЕЙН 50 000 МУМБАЙ ТЕСТВАНЕ
3001 PRANOTI ШЕНДЕ 55500 ПУНА JAVA
3002 ANUJA КЪДЕ 50500 ДЖАЙПУР FMW
3003 DEEPAM ДЖАУХАРИ 58500 МУМБАЙ JAVA
4001 РАДЖЕШ GOUD 60500 МУМБАЙ ТЕСТВАНЕ

Можем да използваме командите commit и Rollback, без да стартираме транзакциите, но ще започнем транзакцията си с помощта на Стартиране на транзакция Заповед за добра практика.

Нека започнем и да видим пример за всяка операция един по един.

Първо, ще изключим автоматичното завършване, като присвоим стойност на auto-commit на 0

SET AUTOCOMMIT = 0;
  • Вмъкнете нови стойности в съществуващите служители на таблицата и след това ще използваме Commit Command:
INSERT INTO EMPLOYEES VALUES (2003, ‘RUCHIKA’, ‘JAIN’, 50000, ‘MUMBAI’, ‘TESTING’);

Ще използваме заявката SELECT, за да проверим дали данните са вмъкнати в таблица или не:

SELECT * FROM EMPLOYEES WHERE EMPLOYEE = 2003;

Сега, за да запазим тази транзакция, ще използваме командата commit.

COMMIT;

Подробностите за идентификация на служителя 2001 са запазени сега. Няма да бъде връщане назад, освен ако не го изтрием с командата Delete.

  • Ще изтрием цялата информация за идентификатор на служител 2003 и след това ще върнем обратно командата за изтриване с помощта на Rollback.
DELETE FROM EMPLOYEES WHERE EMPLOYEE ID = 2003;

Ще използваме заявката SELECT, за да проверим дали данните са изтрити от таблица или не:

SELECT * FROM EMPLOYEES;

ID на служител 2003 се изтрива от таблицата. Сега ще използваме командата за връщане назад, за да отменим операцията за изтриване.

ROLLBACK;

След като изпълним командата за връщане назад, ще използваме отново заявката SELECT, за да проверим дали операцията за изтриване е връщане назад или не.

SELECT * FROM EMPLOYEES WHERE EMPLOYEE ID = 2003;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Някои ВСЯКАКВИ агрегатни трансформации са нарушени

  2. Как да изчислим пълзящата средна в червено изместване

  3. Проверете Ограничение в SQL

  4. Как да промените текста на малки букви в SQL

  5. Съвети за интервю с администратор на база данни на SQL