Изявлението за избор на език на sql е за. Структуриран език за заявки SQL

Изявлението за избор на език на sql е за.  Структуриран език за заявки SQL
Изявлението за избор на език на sql е за. Структуриран език за заявки SQL
Синтаксисът на оператора SELECT е както следва:

ИЗБЕРЕТЕ<список атрибутов>/* ОТ<список таблиц>

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

Избройте всички ученици.

ИЗБЕРЕТЕ * ОТ студент

ИЗБЕРЕТЕ id_st, фамилия ОТ студент

Имайте предвид, че ако добавим клаузата ORDER BY презиме към тази заявка, списъкът ще бъде подреден по фамилия. По подразбиране сортирането е във възходящ ред. Ако се изисква низходящ ред, думата DESC се добавя след името на атрибута.

Връща списък с оценките, които е получил студент с код "1"..

Издава списък с кодове на студенти, получили поне една двойка или тройка на изпитите.

В клаузата WHERE можете да напишете израз, като използвате аритметични оператори сравнения (<, >и т.н.) и логически оператори (И, ИЛИ, НЕ) както в конвенционалните езици за програмиране.

Наред с операторите за сравнение и логическите оператори за съставяне на условия в SQL (поради спецификата на областта на приложение) съществуват редица специални оператори, които по правило нямат аналози в други езици. Това са операторите:

  • IN - влизане в определен набор от стойности;
  • МЕЖДУ - влизане в определен диапазон от стойности;
  • LIKE - проверка за съвпадение с образеца;
  • IS NULL - проверка за недефинирана стойност.

Операторът IN се използва за тестване на набор от стойности. Да, искане

дава същия резултат като горната заявка (ще покаже идентификаторите на всички кандидати, получили поне една двойка или тройка на изпитите).

Същият резултат може да се постигне с помощта на оператора BETWEEN:

Избройте всички ученици, чиито фамилни имена започват с буквата А.

В този случай е удобно да използвате оператора LIKE.

Операторът LIKE се прилага изключително към символни полета и ви позволява да определите дали стойността на дадено поле съответства на шаблон. Пробата може да съдържа Специални символи:

_ (долна черта) - замества всеки отделен знак;

% (знак за процент) - Заменя поредица от произволен брой знаци.

Много често има нужда да се изчислят минималните, максималните или средните стойности в колони. Така например може да се наложи да изчислите общ успех. За осъществяването на такива SQL изчисленияпредоставя специални агрегатни функции :

  • MIN е минималната стойност в колоната;
  • MAX - максималната стойност в колоната;
  • SUM е сумата от стойностите в колоната;
  • AVG е средната стойност в колоната;
  • COUNT - броят не-NULL стойности в колоната.

Следната заявка изчислява средната стойност на всички резултати, получени от студентите на изпитите.

SELECT AVG(mark) FROM mark_st

Естествено, можете да използвате агрегатни функциизаедно с клаузата WHERE:

Тази заявка ще изчисли GPA на студента с код 100 от всички изпити, които е издържал.

Тази заявка ще изчисли средния резултат на студентите въз основа на резултатите от полагане на изпита с код 10. В допълнение към разгледаните механизми

Езиковият стандарт SQL е приет през 1992 г. и все още се използва днес. Той беше този, който стана стандарт за мнозина.Разбира се, някои производители използват свои собствени интерпретации на стандарта. Но във всяка система все още има основни компоненти - SQL изрази.

Въведение

С помощта на SQL оператори се управляват стойности, таблици и се получават за по-нататъшен анализ и показване. Те са набор от ключови думи, чрез които системата разбира какво да прави с данните.

Дефинирани са няколко категории SQL оператори:

  • дефиниране на обекти от база данни;
  • ценностна манипулация;
  • защита и управление;
  • параметри на сесията;
  • базова информация;
  • статичен SQL;
  • динамичен SQL.

SQL изрази за манипулиране на данни

ВМЪКНЕТЕ. Вмъква редове в съществуваща таблица. Може да се използва както за една стойност, така и за няколко, определени от някакво условие. Например:

име на таблица (име на колона 1, име на колона 2)

СТОЙНОСТИ (стойност 1, стойност 2).

За да използвате оператора INSERT за множество стойности, синтаксисът е:

име на таблица 1 (име на колона 1, име на колона 2)

ИЗБЕРЕТЕ име на колона 1, име на колона 2

ОТ име на таблица 2

WHERE име на таблица 2. име на колона 1>2

Тази заявка ще избере всички данни от таблица 2, които са по-големи от 2 в колона 1, и ще ги вмъкне в първата.

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

АКТУАЛИЗИРАНЕ на име на таблица 1

SET име на колона 2 = "Босилек"

WHERE име на таблица 1. име на колона 1 = 1

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

Данни от табл. Можете да зададете всяко условие или да премахнете всички редове.

DELETE FROM име на таблица

WHERE име на таблица. име на колона 1 = 1

Горната заявка ще премахне от базата данни всички данни със стойност единица в първата колона. И ето как можете да изчистите цялата таблица:

Изявление SELECT

Основната цел на SELECT е да избира данни според определени условия. Резултатът от работата му е винаги нова масас избрани данни. Операторът MS може да се използва в много различни заявки. Следователно, наред с него, могат да се разглеждат и други свързани ключови думи.

За да изберете всички данни от определена таблица, използвайте знака "*".

ОТ име на таблица 1

Резултатът от работата дадено исканеще точно копиемаса 1.

И тук има избор според условието WHERE, което получава от таблица 1 всички стойности, по-големи от 2 в колона 1.

ОТ име на таблица 1

WHERE име на таблица 1. име на колона 1 > 2

Можете също така да посочите в селекцията, че са необходими само определени колони.

ИЗБЕРЕТЕ име на таблица 1. име на колона 1

ОТ име на таблица 1

Резултатът от тази заявка ще бъдат всички редове със стойности от колона 1. С помощта на MS SQL оператори можете да създадете своя собствена таблица, като замените, изчислите и заместите определени стойности в движение.

име на таблица 1. име на колона 1

име на таблица 1. име на колона 2

име на таблица 1. име на колона 3

име на таблица 1. име на колона 2 * име на таблица 1. име на колона 3 AS SUMMA

ОТ име на таблица 1

Дадено на пръв поглед сложна заявкаизвлича всички стойности от таблица 1, след което създава нови колони EQ и SUMMA. В първата въвежда знака “+”, а във втората произведението на данните от колони 2 и 3. Резултатът може да се представи под формата на таблица, за да разберете как работи:

Когато използвате оператора SELECT, можете веднага да сортирате данните според някакъв атрибут. За това се използва думата ORDER BY.

име на таблица 1. име на колона 1

име на таблица 1. име на колона 2

име на таблица 1. име на колона 3

ОТ име на таблица 1

ПОРЪЧАЙТЕ ПО име на колона 2

Получената таблица ще изглежда така:

Тоест всички редове бяха зададени в такъв ред, че стойностите в колона 2 бяха във възходящ ред.

Данните също могат да бъдат извлечени от множество таблици. За по-голяма яснота, първо трябва да си представите, че има две от тях в базата данни, нещо подобно:

Таблица "Служители"

Таблица "Заплата"

Сега трябва по някакъв начин да свържете тези две таблици, за да получите общи стойности. Използвайки основни SQL изрази, можете да направите това по следния начин:

Персонал.Брой

Служители. Име

Заплата.Ставка

Заплата.Натрупана

ОТ Служители, Заплата

WHERE Служители.Брой = Заплата.Брой

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

Още малко за SELECT. Използване на агрегатни функции

Един от основните оператори може да извърши някои изчисления при извличането. За целта той използва определени функции и формули.

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

ИЗБЕРЕТЕ БРОЯ (*) КАТО N

ОТ служители

Резултатът е таблица с една стойност и една колона.

Можете да използвате тази заявка и да видите какво се случва:

SUM (Заплата. Начислена) КАТО SUMMA

МАКС.(Натрупана заплата) КАТО МАКС

МИН.(Начислена заплата) КАТО МИН

СРЗ(Натрупана заплата) КАТО SRED

ОТ Заплата

Финалната маса ще изглежда така:

Ето как можете да изберете от базата данни желани стойности, извършвайки изчисление на различни функции в движение.

Съединение, пресичане и разлики

Комбинирайте множество заявки в SQL

ИЗБЕРЕТЕ Служители.Име

ОТ служители

WHERE Employees.Number = 1

ИЗБЕРЕТЕ Служители.Име

ОТ Служители, Заплата

WHERE Заплата. Число = 1

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

Синтаксис на израза SELECT и ред на обработка

Първо, SELECT определя областта, от която ще вземе данни. За това се използва ключовата дума FROM. Ако не е уточнено какво точно да избера.

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

Ако в заявката има GROUP BY, тогава стойностите се групират според посочените параметри.

Оператори за сравнение на данни

Има няколко вида от тях. В SQL операторите за сравнение могат да проверяват Различни видовестойности.

    "=". Означава, както можете да се досетите, равенството на два израза. Например, вече е използвано в примерите по-горе - WHERE Salary.Number = 1.

    ">". Още знак. Ако стойността на лявата страна на израза е по-голяма, тогава се връща логическото TRUE и условието се счита за изпълнено.

    «<». Знак меньше. Обратный предыдущему оператор.

    знаци "<=» и «>=". Различава се от простите повече и по-малко оператори по това, че ако операндите са равни, условието също ще бъде вярно.

КАТО

Тази ключова дума може да се преведе като "подобен". Операторът LIKE в SQL се използва приблизително по същия начин - изпълнява заявка по шаблон. Това означава, че ви позволява да разширите избора на данни от базата данни с помощта на регулярни изрази.

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

ОТ служители

WHERE Име като `%i`

Знакът за процент в този случай означава маска, тоест всеки знак и техния брой. И чрез буквата "i" SQL ще определи, че последният знак трябва да бъде точно това.

СЛУЧАЙ

Този израз на SQL Server е реализация на множествен избор. Наподобява конструкцията switch в много езици за програмиране. Операторът CASE в SQL изпълнява действие при множество условия.

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

Тогава заявката може да бъде написана така:

ОТ Заплата

WHERE CASE WHEN SELECT MAX(Accrued) THEN Maximum

WHEN SELECT MIN (Accrued) THEN Minimum

В този контекст системата търси максималната и минималната стойност в колоната Начислено. След това чрез END се създава поле “total”, в което ще се въвеждат “Maximum” или “Minimum” в зависимост от резултата от условието.

Между другото, SQL има и по-компактна форма на CASE - COALESCE.

Оператори за дефиниране на данни

Този изглед ви позволява да правите различни промени в таблици - създаване, изтриване, модифициране и работа с индекси.

Първият, който си заслужава да бъде разгледан, е CREATE TABLE. Не прави нищо повече от създаване на таблица. Ако просто въведете заявката CREATE TABLE, нищо няма да се случи, тъй като все още трябва да посочите няколко параметъра.

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

СЪЗДАВАНЕ НА ТАБЛИЦА Служители

(Число номер(10) НЕ NULL

Име varchar(50) NOT NULL

Фамилно име varchar(50) NOT NULL)

В тази заявка имената на полетата и техните типове веднага се определят в скоби, както и дали може да бъде равно на NULL.

ПАДВАЩА МАСА

Изпълнява една проста задача, премахвайки указаната таблица. Има допълнителен параметър IF EXISTS. Той абсорбира грешка при изтриване, ако таблицата, която се търси, не съществува. Пример за употреба:

ПУСКАНЕ НА ТАБЛИЦА Служители, АКО СЪЩЕСТВУВА.

СЪЗДАВАНЕ НА ИНДЕКС

SQL има индексна система, която ви позволява да ускорите достъпа до данни. По принцип това е връзка, която сочи към определена колона. Можете да създадете индекс с проста заявка:

CREATE INDEX index_name

ON име_на_таблица(име_на_колона)

Този оператор се използва в T-SQL, Oracle, PL SQL и много други технологии за интерпретация.

АЛТЕР ТАБЛИЦА

Много функционален оператор с множество опции. Като цяло променя структурата, дефиницията и разположението на таблиците. Операторът се използва в Oracle SQL, Postgres и много други.

    ДОБАВЯНЕ. Добавя колона към таблица. Синтаксисът му е: ALTER TABLE table_name ADD column_name stored_data_type. Може да има опция IF NOT EXISTS за потискане на грешката, ако колоната, която се създава, вече съществува;

    ИЗПУСКАЙТЕ. Изтрива колона. Освен това има ключ IF EXISTS, без който ще се генерира грешка, казваща, че необходимата колона липсва;

    ПРОМЯНА. Служи за преименуване на името на полето на посоченото. Пример за употреба: ALTER TABLE table_name CHANGE old_name new_name;

    МОДИФИЦИРАНЕ. Тази команда ще ви помогне да промените типа и допълнителните атрибути на определена колона. И се използва по следния начин: ALTER TABLE table_name MODIFY column_name data_type attributes;

СЪЗДАВАНЕ НА ИЗГЛЕД

В SQL има такова нещо като изглед. Накратко, това е един вид виртуална таблица с данни. Той се формира в резултат на селекция с помощта на оператора SQL SELECT. Изгледите могат да ограничават достъпа до базата данни, да ги скриват, да заменят реалните имена на колони.

Процесът на създаване се извършва с проста заявка:

CREATE VIEW име на изглед AS SELECT FROM * име на таблица

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

Малко за функциите

SQL заявките много често използват различни вградени функции, които ви позволяват да взаимодействате с данни и да ги трансформирате в движение. Струва си да ги разгледаме, тъй като те са неразделна част от структуриран език.

    БРОЯ. Брои записи или редове в определена таблица. Като параметър можете да посочите името на колоната, след което данните ще бъдат взети от нея. ИЗБЕРЕТЕ БРОЯ * ОТ Служители;

    А.В.Г. важи само за колони с числови данни. Неговият резултат е определянето на средноаритметичното на всички стойности;

    МИН и МАКС. Тези функции вече са използвани в тази статия. Те определят максималните и минималните стойности от посочената колона;

    SUM. Това е просто - функцията изчислява сумата от стойностите на колоните. Използва се изключително за числов тип данни. Чрез добавяне на параметъра DISTINCT към заявката ще бъдат сумирани само уникални стойности;

    КРЪГЪЛ. Функцията за закръгляване на дробни десетични числа. Синтаксисът използва името на колоната и броя на десетичните знаци;

    len. Проста функция, която изчислява дължината на стойностите на колона. Резултатът ще бъде нова таблица с указание за броя знаци;

    СЕГА. Тази ключова дума се използва за изчисляване на текущата дата и час.

Допълнителни оператори

Много от примерите за SQL оператори имат ключови думи, които изпълняват малки задачи, но все пак значително опростяват селекциите или операциите с бази данни.

    КАТО. Използва се, когато трябва да визуализирате резултата, като присвоите определеното име на получената таблица.

    МЕЖДУ. Много удобен инструмент за избор. Той определя диапазона от стойности, от които да се вземат данните. Входът приема параметър от и до какъв номер се използва диапазонът;.

    НЕ. Оператор дава обратното на израз.

    ТРЪНЦИРАНЕ. Премахва данни от посочения регион на базата данни. Той се различава от подобни оператори по това, че е невъзможно да се възстановят данни след използването му. Струва си да се има предвид, че внедряването на тази ключова дума в различни интерпретации на SQL може да се различава. Ето защо, преди да опитате да използвате TRUNCATE, е по-добре да прочетете помощната информация.

    ОГРАНИЧЕНИЕ. Задава броя на редовете за показване. Особеността на оператора е, че той винаги се намира в края. Взема един задължителен параметър и един незадължителен. Първият указва колко реда с избраните данни да се показват. И ако се използва вторият, тогава операторът работи като за диапазон от стойности.

    СЪЮЗ. Много удобен оператор за комбиниране на множество заявки. Той вече се срещна сред примерите за това в тази статия. Можете да покажете желаните редове от няколко таблици, като ги свържете с UNION за по-удобна употреба. Синтаксисът е: SELECT име_на_колона FROM име_на_таблица UNION SELECT име_на_друга_колона FROM име_на_друга_таблица. Резултатът е обобщена таблица с комбинирани заявки.

    ПЪРВИЧЕН КЛЮЧ. Превежда се като "първичен ключ". Всъщност тази терминология се използва в справочните материали. Това означава уникален идентификатор на ред. Като правило се използва при създаване на таблица, за да се посочи полето, което ще я съдържа.

    ПО ПОДРАЗБИРАНЕ. Точно както предишния оператор, той се използва в процеса на изпълнение на заявката за създаване. Той определя стойността по подразбиране, която ще бъде попълнена в полето, когато бъде създадено.

    НУЛА. Начинаещите и не само програмистите, когато съставят заявки, много често забравят за възможността да получат NULL стойност. В резултат на това в кода се прокрадва грешка, която е трудно да се проследи по време на отстраняване на грешки. Следователно, когато създавате таблици, избирате или преизчислявате стойности, трябва да спрете и да помислите дали се взема предвид появата на NULL в този раздел на заявката.

    памет. Тази статия показва няколко функции, които могат да изпълняват определени задачи. Когато разработвате обвивка за работа с базата данни, можете да "надвишите" изчисляването на прости изрази в системата за управление на базата данни. В някои случаи това значително повишава производителността.

    Ограничения. Ако трябва да получите само два от база данни с хиляди редове, тогава трябва да използвате оператори като LIMIT или TOP. Няма нужда да извличате данни с помощта на езика за разработка на обвивката.

    Съединение. След като получат данни от няколко таблици, много програмисти започват да ги обединяват, използвайки shell памет. Но защо? В крайна сметка можете да направите една заявка, в която ще присъства всичко това. Не е нужно да пишете допълнителен код и да резервирате допълнителна памет в системата.

    Сортиране. Ако е възможно да приложите подреждане в заявката, тоест от СУБД, тогава трябва да го използвате. Това значително ще спести ресурси при стартиране на програма или услуга.

    Много молби. Ако трябва да вмъкнете много записи последователно, тогава за оптимизация трябва да помислите за групово вмъкване на данни в една заявка. Това също ще увеличи производителността на цялата система като цяло.

    Обмислено разполагане на данни. Преди да компилирате структурата на базата данни, трябва да помислите дали е необходим такъв брой таблици и полета. Може би има начин да ги обедините или да отхвърлите някои. Много често програмистите използват прекомерно количество данни, които никога няма да бъдат използвани никъде.

    Видове. За да спестите място и ресурси, трябва да сте чувствителни към типовете данни, които използвате. Ако е възможно да се използва тип, който е по-малко "тежък" за памет, тогава е необходимо да се използва. Например, ако е известно, че в дадено поле числовата стойност няма да надвишава 255, тогава защо да използвате 4-байтов INT, ако има TINYINT от 1 байт.

Заключение

В заключение трябва да се отбележи, че езикът на структурираните SQL заявкивече се използва почти навсякъде - уебсайтове, уеб услуги, компютърни програми, приложения за мобилни устройства. Следователно познаването на SQL ще помогне на всички клонове на разработката.

В същото време модификациите на оригиналния езиков стандарт понякога се различават една от друга. Например PL SQL изразите може да имат различен синтаксис от този в SQL Server. Ето защо, преди да започнете да разработвате с тази технология, трябва да прочетете ръководствата за нея.

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

И над данните от таблицата.

Езикът SQL се нарича вградена, защото съдържа функциите на пълноценен език за разработка и се фокусира върху достъпа до данни, в резултат на което е включен в инструментите за разработка на приложения. Езиковите стандарти SQL поддържат Pascal, Fortran, COBOL, C и други езици за програмиране.

Съществува 2 метода за използване на вграден SQL:

  • статиченизползване на езика ( статичен SQL) - текстът на програмата съдържа извиквания към SQL функции, които са включени в изпълнимия модул след компилация.
  • динамиченизползване на езика ( динамичен SQL) – динамично изграждане на извиквания на SQL функции и тяхната интерпретация. Например, можете да получите достъп до данните от отдалечената база данни по време на изпълнение на програмата.

Езикът SQL (подобно на други езици за бази данни) е предназначен да подготвя и изпълнява заявки. В резултат на изпълнение на заявка за данни от една или повече таблици се получава набор от записи, който се нарича производителност.

Определение 1

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

Основни оператори на SQL Query Language

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

  1. Език за дефиниране на данни DDL;
  2. Език за манипулиране на данни DML.

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

Нека да разгледаме най-важните SQL изрази.

    Изявление за създаване на таблица:

    Името на създаваната таблица и името на поне една колона (поле) са задължителни операнди. За името на колоната трябва да посочите типа данни, които ще се съхраняват в нея.

    За отделни полета можете да зададете допълнителни правила за контролиране на стойностите, които се въвеждат в тях. Например, НЕ НУЛЕВпоказва, че полето не може да бъде празно и в него трябва да се въведе стойност.

    Пример 1

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

    Тип- вид книга

    име- заглавие на книга,

    цена– цена на книгата

    оператор може да изглежда така:

    Оператор за промяна на структурата на таблицата:

    Когато променяте структурата на таблицата, можете да добавите ( ДОБАВЯНЕ), промяна ( МОДИФИЦИРАНЕ) или изтриване ( ИЗПУСКАЙТЕ) една или повече колони на таблицата. Правилата за писане на този оператор са същите като за оператора СЪЗДАВАНЕ НА ТАБЛИЦА. Не е необходимо да указвате, за да изтриете колона.

    Пример 2

    За добавяне към таблицата книгиполета номер, който ще съхранява броя на книгите, можете да напишете оператора:

    Изявление за падане на таблица:

    Пример 3

    Например, за да премахнете съществуваща таблица с име книгипросто използвайте оператора:

    Изявление за създаване на индекс:

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

    Опция по избор ЕДИНСТВЕН ПО РОДА СИе отговорен за осигуряване на уникалността на стойностите във всички колони, които са посочени в извлечението.

    ASCзадава автоматично сортиране на стойности в колони във възходящ ред (по подразбиране) и ОПИСАНИЕ- в низходящ ред.

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

    Оператор за създаване на преглед:

    Когато създавате изглед, можете да пропуснете имената на колоните. Тогава ще се използват имената на колоните от заявката, която е описана от съответния оператор ИЗБЕРЕТЕ.

    Преглед на оператора за изтриване:

    Оператор за избор на запис:

    Оператор ИЗБЕРЕТЕизбира и извършва изчисления върху данни от една или повече таблици. Резултатът от изпълнението на оператора е таблица с отговори, която съдържа ( ВСИЧКО) или не съдържа ( РАЗЛИЧЕН) редове, които се повтарят.

    Операнд ОТсъдържа списък с таблици, от които се вземат записи за избор на данни.

    Оператор за промяна на запис:

    Новите стойности на полето в записите може да не съдържат стойности ( НУЛА) или изчислено според аритметичен израз.

    Оператор за въвеждане на нови записи:

    В първия запис на оператора ВМЪКНЕТЕнови записи се въвеждат с дадени стойности в колоните.

    Във втория запис на оператора ВМЪКНЕТЕвъвеждат се нови редове, избрани от друга таблица чрез изречение ИЗБЕРЕТЕ.

    Оператор за изтриване на запис:

    В резултат на изпълнението на оператора, редовете, които отговарят на условието, зададено от опционалния операнд, се изтриват от указаната таблица КЪДЕТО. Ако операндът КЪДЕТОне е посочен, всички записи в таблицата се изтриват.

Основни оператори на езика SQL.

SQL (Structured Query Language - „структуриран език за заявки“) е универсален компютърен език, използван за създаване, модифициране и управление на данни в релационни бази данни. Езикът SQL се основава на релационна алгебра и представлява колекция от оператори.

Има 4 групи оператори. Помислете за група от оператори за манипулиране на данни (Език за манипулиране на данни, DML, SQL DML)

Избор на данни

Избирането на данни е най-честата операция, извършвана с помощта на SQL. Операторът SELECT е един от най-важните изрази в този език за избор на данни. Синтаксисът за този оператор е както следва:

ИЗБЕРЕТЕ колона ОТ таблицата

Изявленията SELECT трябва да съдържат думите SELECT и FROM; други ключови думи не са задължителни.

Ключовата дума SELECT е последвана от информация кои полета да се включат в получения набор от данни. Звездичка (*) означава всички полета в таблица, например:

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

Фирма SELECT

Пример за избиране на няколко колони изглежда така:

ИЗБЕРЕТЕ фирма, телефон, поща

Ключовата дума FROM се използва за указване на имената на таблиците, от които да се избират записи, например:

ИЗБЕРЕТЕ * ОТ Клиенти

Тази заявка ще върне всички полета от таблицата Клиенти.

Можете да използвате клаузата WHERE (по избор), за да филтрирате резултатите, върнати от израза SELECT

ИЗБЕРЕТЕ * ОТ Продукти WHERE Категория = 4

Можете да използвате различни изрази в клаузата WHERE,

WHERE израз1 [(И | ИЛИ) израз2 ...]

Например:

ИЗБЕРЕТЕ * ОТ Продукти WHERE Категория = 2 И Поставшик > 10

ИЗБЕРЕТЕ Име, Цена ОТ Продукти WHERE Категория= 3 ИЛИ Цена< 50

Можете да използвате следните оператори:

< Меньше

<= Меньше или равно

<>Не е равно

> Още

>= По-голямо или равно

Оферта ПОРЪЧАЙ BY (по избор) се използва за сортиране на набора от резултати по една или повече колони. Ключовите думи ASC (възходящо) или DESC (низходящо) се използват за определяне на реда на сортиране. По подразбиране данните са сортирани във възходящ ред.

Модификация на данни

Освен за извличане на данни, SQL може да се използва за актуализиране и изтриване на данни, копиране на записи в други таблици и извършване на други операции. По-долу ще разгледаме изразите UPDATE, DELETE и INSERT, използвани за изпълнение на някои от тези задачи.

Изявление UPDATE

Изявление UPDATE се използва за промяна на стойности в една или повече колони на таблица. Синтаксисът за този оператор е:

UPDATE таблица SET колона1 = израз1 критерии WHERE

Израз в клауза SET може да бъде константа или резултат от изчисление. Например, за да увеличите цената на всички продукти, които струват под $10, можете да изпълните следната заявка:

АКТУАЛИЗАЦИЯ Продукти SET Цена = Цена * 1.1 WHERE Цена< 10

Операция DELETE

За да изтриете редове от таблици, използвайте командата DELETE, чийто синтаксис е:

Критерии DELETE FROM таблица WHERE

Премахнете всички продукти, чиято стойност е по-малка от 100.

Езикът SQL се основава на оператори, които условно са разделени на няколко групи според функциите, които изпълняват. Могат да се разграничат следните групи изрази (не всички SQL изрази са изброени):

ddl (Език за дефиниране на данни) изрази

DDL оператори - оператори за дефиниране на обекти на база данни

    CREATE SCHEMA - създаване на схема на база данни

    DROP SHEMA - премахване на схема на база данни

    CREATE TABLE - създаване на таблица

    ALTER TABLE - промяна на таблица

    DROP TABLE - пуснете маса

    CREATE DOMAIN - създаване на домейн

    ALTER DOMAIN - промяна на домейна

    DROP DOMAIN - изтриване на домейн

    CREATE COLLATION - създаване на последователност

    DROP COLLATION - премахване на последователност

    CREATE VIEW - създаване на изглед

    DROP VIEW - изтриване на изглед

dml (Data Manipulation Language) изрази

DML отчети - отчети за манипулиране на данни

    SELECT - изберете редове от таблици

    INSERT - добавяне на редове към таблица

    UPDATE - промяна на редове в таблица

    DELETE - изтриване на редове в таблица

    COMMIT - ангажиране на направените промени

    ROLLBACK - направени промени за връщане назад

Оператори за защита и управление на данни

    CREATE ASERTION - създаване на ограничение

    DROP ASSERTION - премахване на ограничение

    GRANT - предоставя привилегии на потребител или приложение за манипулиране на обекти

    REVOKE - отнема привилегиите на потребител или приложение

Освен това има групи от оператори за настройка на параметрите на сесията, получаване на информация за базата данни, статични SQL оператори, динамични SQL оператори. Най-важните за потребителя са отчетите за манипулиране на данни (DML).

Примери за използване на оператори за манипулиране на данни

INSERT - вмъкване на редове в таблица

Пример 1 . Вмъкване на един ред в таблица:

ЦЕННОСТИ (4, "Иванов");

Пример 2 . Вмъкване на няколко реда, избрани от друга таблица в таблицата (данни за доставчици от таблица P с номера, по-големи от 2, се вмъкват в таблицата TMP_TABLE):

TMP_TABLE (PNUM, PNAME)

ИЗБЕРЕТЕ PNUM, PNAME

КЪДЕ P.PNUM>2;

UPDATE - актуализиране на редове в таблица

Пример 3 . Актуализирайте няколко реда в таблица:

SET PNAME = "Пушников"

КЪДЕ P.PNUM = 1;

DELETE - изтриване на редове в таблица

Пример 4 . Изтриване на няколко реда в таблица:

КЪДЕ P.PNUM = 1;

Пример 5 . Изтриване на всички редове в таблица:

Примери за използване на израза SELECT

Операторът SELECT всъщност е най-важният и най-сложен SQL израз за потребителя. Предназначен е за извличане на данни от таблици, т.е. той всъщност изпълнява една от основните цели на базата данни - да предоставя информация на потребителя.

Операторът SELECT винаги се изпълнява върху някои от таблиците в базата данни.

Коментирайте. Всъщност базите данни могат да имат не само постоянно съхранявани таблици, но и временни таблици и така наречените изгледи. Изгледите са просто изрази SELECT, съхранени в базата данни. От гледна точка на потребителя изгледът е таблица, която не се съхранява постоянно в базата данни, а "възниква" в момента на достъпа до нея. От гледна точка на оператора SELECT, както постоянните таблици, така и временните таблици и изгледи изглеждат абсолютно еднакви. Разбира се, когато системата действително изпълни оператора SELECT, разликите между съхранените таблици и изгледи се вземат предвид, но тези разлики скритот потребителя.

Резултатът от оператор SELECT винаги е таблица. По този начин, по отношение на резултатите от действията, операторът SELECT е подобен на операторите на релационната алгебра. Всеки оператор на релационна алгебра може да бъде изразен чрез подходящо формулиран оператор SELECT. Сложността на оператора SELECT се определя от факта, че той съдържа всички характеристики на релационната алгебра, както и допълнителни функции, които не са налични в релационната алгебра.