Основни SQL изрази

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

Въведение

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


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

    Тази категория включва ключови думи, които ви позволяват да контролирате поставянето на стойности в база данни.
    INSERT. Вмъква редове в съществуваща таблица. Може да се използва както за една стойност, така и за няколко, определени по някакъв критерий. Например: INSERT INTO в името на таблицата (име на колона 1 име колона 2) VALUES (стойност 1 стойност 2). За да използвате SQL израза на INSERT заявката на няколко стойности, се използва следният синтаксис: INSERT INTO на името на таблицата 1 (име на колона 1 име на колона 2) Име на колона SELECT 1 име на колона 2 FROM име на таблица 2 WHERE името на таблицата 2.изображение на колона 1> 2 Тази заявка ще избере всички данни от таблица 2, която е повече от 2 по колона 1 и ги вмъкнив първия. UPDATE. Както може да се види от заглавието, този SQL израз на заявката актуализира данните в съществуващата таблица на определена основа. Пример: Име на таблица UPDATE 1 Име на колона SET 2 = "Василий" WHERE име на таблица 1 име на колона 1 = 1 Тази конструкция ще попълни стойността на Basil всички линии, в които ще се срещне число 1 в първата колона. Изтриете. Изтрива данните от таблицата. Можете да посочите всяко условие или да премахнете всички линии. DELETE FROM FROM име на таблица WHERE таблица name.image на колона 1 = 1 Дадената заявка премахва от базата данни всички данни с стойност едно в първата колона. Но по този начин можете да изчистите цялата таблица: DELETE FROM от името на таблицата. След това кажете за оператора SELECT. Той е един от най-важните, така че ще трябва да посвети отделна глава.

    Оператор SELECT

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


    Знакът "*" се използва за избиране на всички данни от дадена таблица. SELECT * ОТ името на таблицата 1 Резултатът от тази заявка ще бъде точно копие на таблица 1. И тук е пример за WHERE, който взема от таблицата 1 всички стойности, повече от 2 колона 1. SELECT * FROM от името на таблицата 1 WHERE ' Аз съм таблица 1. първата колона на колона 1 & gt; 2 Можете също така да укажете в извадката, че са необходими само определени колони. Име на таблица SELECT Първо име колона 1 FROM име на таблица 1 Резултатът от тази заявка ще бъде всички редове, със стойностите на колона 1. С помощта на MS SQL изявления, можете да създадете собствена таблица, в движениезамяна, изчисляване и заместване на определени стойности.
    Име на таблица SELECT 1. колона с име 1 име на таблица 1. колона с име 2 име на таблица 1. колона с име 3 "=" AS таблица с име EQ 1.im " I колона 2 * име на таблица 1-во име на колона 3 AS SUMMA FROM име на таблица 1 Това на пръв поглед сложна заявка извършва извадка от всички стойности от таблица 1, след което създава нови колони EQ и SUMMA. В първия знак знакът "+" във втората работа на данните, колони 2 и 3. Полученият резултат може да бъде представен като таблица, за да се разбере как работи:


    Колона 1



    Колона 2



    Колона 3



    ЕК



    СУМА
    44)

    Име на продукта 1



    10



    50







    15

    )

    100



    +



    1500

    Когато използвате оператора SELECT, можете веднага да организирате данните на всеки знак. За тази цел се използва думата ORDER BY. Име на таблица SELECT 1. колона с име 1 име на таблица 1. колона с име 2 име на таблица 1. колона с име 3 име на таблица FROM 1 име на колона ORDER BY 2 Получената таблица ще бъде трябва да изглежда така:

    Колона 1



    Колона 2



    Колона 3


    98) 1



    1



    54



    3


    )
    2



    12



    7



    3



    1

  • 5


    100



    2
    144) Това означава, че всички редове са били определени в реда, в който стойността в колона 2 е Тръгнах нагоре. Данните могат да бъдат получени от иняколко маси. За по-голяма яснота първо трябва да си представим, че в основата има две, приблизително следното: Таблица "Служители"

    Номер



    име


    )



    Васин



    Фамилия








    Петя



    Петон

    Таблицата „Заплата“

    Брой



    Залог



    Натрупани



    1




    )







    2




    3500

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

    Номер



    име



    наддаване



    Акаунти



    1



    Вася



    1





    05
    (260

    3500

    Малко повече за SELECT. Използване на агрегирани функции

    Един от основните оператори на SQL SELECT може да извърши някои изчисления при семплиране. За да направи това, той използва определени функции и формули.
    Например, за да получите броя на записите от таблицата "Служители", трябва да използвате заявката: SELECT COUNT (*) AS N FROMСлужители Резултатът ще бъде таблица с една стойност и колона.

    N



    2

    Запитванията могат да използват функциите, които изчисляват сумата, максималните и минималните стойности, както и средната стойност. За целта се използват ключовите думи SUM, MAX, MIN, AVG. Например, извадка от вече известната таблица "Заплата":

    Брой



    Залог



    Натрупани
    288)

    1



    1



    10000



    2



    05



    3500

    Можете да приложите такава заявка и да видите какво се случва: SELECT SUM (Salary.Scalled) AS SUMMA MAX Изчислена заплата) AS MAX MIN (заплата е изчислена) AS MIN AVG (заплата е изчислена) AS SRED от заплатата Обобщената таблица е както следва:

    SUMMA



    MAX 319)


    MIN

    (32 5)
    SRED



    13500



    10000



    3500



    6750

    По този начин можете да избирате от базата данни необходимите стойности, като извършвате изчисления на различни функции. Сливане, пресичане и разлика Комбинирайте няколко служители на SQL SELECT Query Име от служители на WHERE: Num = 1 UNION SELECT Служители Име FROM Служители, Заплата WHERE Заплата Num = 1 Това трябва да се вземе под внимание. че такава комбинация от таблици трябва да бъде съвместима. Това означава, че имат еднакъв брой колони.

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

    Първото нещо, което SELECT определя областта, от която ще се вземат данни. Това използва ключова думаОТ. Ако не посочите какво да изберете. Тогава може да има SQL WHERE оператор. Той използва SELECT, за да изпълнява всички редове на таблицата и проверява данните, за да съответства на условието.
    Ако заявката съдържа GROUP BY, тогава се извършва групирането на стойностите по посочените параметри.

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

    Съществуват няколко вида от тях. В SQL операторите за сравнение могат да проверяват различни типове стойности.
  • «=». Показва, както можете да предположите, равенството на два израза. Например, той вече е бил използван в горните примери - WHERE Salary.Number = 1.
  • «& gt;». Подпишете повече. Ако стойността на лявата част на израза е по-голяма, тогава се връща логическото TRUE и условието се счита за изпълнено.
  • "
  • Знаци «=». Тя се различава от простите оператори все повече и по-малко, така че когато операндите са равни, условието също ще е вярно.
  • . ". Не един. Условието ще бъде TRUE само ако един операнд не е равен на друг. Той има друго тълкуване - "! =".
  • LIKE

    Можете да преведете тази ключова дума като "подобна". Операторът LIKE SQL се използва приблизително на същия принцип - той изпълнява заявка за модел. Това означава, че ви позволява да разширите извадката от данни от базата данни, като използвате регулярни изрази.
    Например, задачата е: от вече известната база "Работници" да получите всички хора, чието име завършва с "I". Тогава запитването може да бъде направено по следния начин: SELECT * FROM WHERE Име на персонала LIKE `% i` Процентна марка в този случай означава маска, т.е. всеки знак и техния номер. И от буквата "I" SQL ще определи, че последният знак трябва да бъде точнотака.

    CASE

    Това изявление на SQL Server представлява изпълнението на множествен избор. Той прилича на дизайна на ключа в много езици за програмиране. CASE SQL операторът изпълнява няколко критерия. Например, трябва да изберете от таблицата "Заплата" максималната и минималната стойност.

    Брой



    Залог



    Натрупани



    1
    373)

    1



    10000



    2



    05
    )


    3500

    След това заявката може да бъде направена, както следва: SELECT * FROM Wage Къде е случаят, когато SELECT MAX (Натрупано) THEN Максимално, когато се избере MIN THEN системата търси максималната и минималната стойност в колоната "Заредени". След това, като се използва END, се създава полето "summary", което се въвежда "Maximum" или "Minimum" в зависимост от резултата от състоянието. Между другото, в SQL има и по-компактна форма CASE - COALESCE.

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

    Този тип ви позволява да правите разнообразни промени в таблиците - създаване, изтриване, модифициране и работа с индекси. Първият, който трябва да разгледаме, е CREATE TABLE. Той не прави нищо, освен да създаде маса. Ако просто напишете CREATE TABLE, нищо няма да се случи, тъй като трябва да посочите няколко опции. Например, за да създадете вече позната таблица "Служители", трябва да използвате команди: CREATE TABLE Служители (Номер
  • NOT NULL Име varchar
    NOT NULL Фамилно име varchar
    NOT NULL) В тази заявка, в скоби веднага определи имената на полетата и техните типове и дали може да бъде NULL.

    ТАБЛИЦА НА ПЪЛНЕНИЯТА

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

    CREATE INDEX

    SQL е система от индекси, която ви позволява да ускорите достъпа до данни. По принцип това е връзка, която сочи към определена колона. Създайте индекс чрез обикновено запитване: CREATE INDEX name_index Име на таблица (име на таблица) Този оператор T-SQL, Oracle, SQL и PL се използва за много други интерпретации на технологии.

    ALTER TABLE

    Много функционален оператор с многобройни опции. Като цяло, то води до промяна в структурата, дефиницията и разположението на таблиците. Операторът се използва в Oracle SQL, Postgres и много други. Ето различните опции за използване на ALTER TABLE.
  • ADD. Добавя колона към таблица. Синтаксисът му е както следва: ALTER TABLE name name_DEL_name_style_date_type type. Може да има параметър IF NOT EXISTS за потискане на грешка, ако създадената колона вече съществува;
  • DROP. Изтрива колоната. Той също така има ключ IF EXISTS, без който се генерира грешка, което показва, че липсва необходимата колона;
  • ПРОМЯНА. Служи за преименуване на име на поле в посоченото. Пример за използване: ALTER TABLE име на таблицата CHANGE old_name new_name;
  • MODIFY. Тази команда ще ви помогне да промените типа и допълнителните атрибути на дадена колона. И се използва по следния начин: ALTER TABLE таблица name_modify_name_name тип атрибут;
  • CREATE VIEW

    SQL операторът е както следваконцепция като представяне. Накратко, това е виртуална таблица с данни. Той се формира в резултат на извадка, използвайки SQL езика на оператора SELECT. Подадените документи могат да ограничат достъпа до базата данни, да ги скрият, да заместят действителните имена на колони.
    Процесът на създаване се извършва с помощта на обикновено запитване: CREATE VIEW представяне име на AS SELECT FROM * името на таблицата Изборът може да се извърши както в цялата база данни, така и в определено състояние.

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

    SQL запитванията често използват различни вградени функции, които ви позволяват да взаимодействате с данни и да ги превръщате в движение. Струва си да ги разгледаме, тъй като те са неразделна част от структурирания език.
  • COUNT. Създава броене на записи или редове в определена таблица. Като параметър можете да укажете име на колона, след което данните ще бъдат взети от нея. SELECT COUNT * FROM Служители;
  • AVG. Тази функция се отнася само за колоната с цифрови данни. Неговият резултат е дефинирането на средно аритметично на всички стойности;
  • MIN и MAX. Тези функции вече са използвани в тази статия. Те определят максималните и минималните стойности на посочената колона;
  • SUM. Всичко е просто - функцията изчислява сумата от стойностите на колоните. Прилага се изключително за числови типове данни. Добавянето на DISTINCT към заявката ще добавя само уникални стойности;
  • ROUND. Функцията за закръгляване на десетични дробни числа. Синтаксисът използва името на колоната и броя на символите след запетая;
  • LEN. Проста функция, която изчислява дължината на стойностите на колоните.Резултатът ще бъде нова таблица, показваща броя на символите;
  • СЕГА. Тази ключова дума се използва за изчисляване на текущата дата и час.
  • Допълнителни оператори

    Много примери на SQL изрази имат ключови думи, които изпълняват малки задачи, но въпреки това значително опростяват избора или действията с бази данни.
  • AS. Прилага се, когато искате да визуализирате резултата, като присвоите името на получената таблица.
  • МЕЖДУ. Много удобен инструмент за вземане на проби. Той дефинира диапазона от стойности, за които трябва да се получат данни. Входът приема параметъра от и до кой номер се използва диапазонът;
  • НЕ. Операторът дава обратното на израза.
  • TRUNCATE. Изтрива данни от посочената базова област. Тя се различава от подобни оператори по това, че е невъзможно да се възстановят данни след като се използват. Струва си да се има предвид, че изпълнението на тази ключова дума в различни интерпретации на SQL може да е различно. Така че, преди да можете да опитате да използвате TRUNCATE, по-добре е да проверите помощната информация.
  • LIMIT. Задава броя на редовете към изхода. Особеност на оператора е, че тя винаги се намира в края. Приема един задължителен параметър и един незадължителен. Първата показва колко линии с избраните данни трябва да бъдат показани. И ако втората се използва, то операторът работи както за диапазон от стойности.
  • СЪЮЗ. Много удобен оператор за комбиниране на няколко заявки. Той вече се е срещнал сред примерите в тази статия. Можете да покажете необходимите низове отняколко таблици чрез комбиниране на техния UNION за по-удобна употреба. Синтаксисът му е както следва: SELECT име FROM име на таблица UNION SELECT name_ second_stolb ОТ FROM името на друга таблица. В резултат ще бъде получена консолидирана таблица с обединени заявки.
  • PRIMARY KEY. Преведено като „първичен ключ“. Всъщност именно тази терминология се използва в референтните материали. Това означава уникален идентификатор на линия. Обикновено при създаването на таблица се определя полето, което ще го съдържа.
  • DEFAULT. Същото като предишния оператор, използван в процеса на изпълнение, създава заявка. Той дефинира стойността по подразбиране, която ще запълни полето при неговото създаване.
  • Няколко съвета за разработване на платформа за SQL
  • NULL. Начинаещите, а не само програмистите в съставянето на заявки често забравят за възможността за получаване на стойността на NULL. В резултат на това се среща грешка в кода, който е труден за проследяване в процеса на отстраняване на грешки. Следователно, при създаването на таблици, семплиране или конвертиране на стойности, трябва да се спре и да се мисли и дали се взема предвид появата на NULL в този раздел на заявката.
  • Памет. Тази статия показва няколко функции, които са в състояние да изпълняват някои задачи. Когато проектирате обвивка за работа с база данни, можете да "превъзхождате" изчисляването на прости изрази в системата за управление на база данни. В някои случаи това води до значително повишаване на производителността.
  • Ограничения. Ако трябва само да получите от базата данни с хиляди линии от само две, тогава трябва да използвате оператори като LIMIT или TOP. Не се изискваизвличане на данни чрез езика на езика на черупката.
  • Свързване. След като са получили данни от няколко таблици, много програмисти започват да ги изграждат заедно чрез черупката. Но защо? В крайна сметка, можете да направите едно искане, в което всичко това ще присъства. Не е необходимо да пишете ненужен код и да резервирате допълнителна памет в системата.
  • Сортиране. Ако е възможно да се приложи поръчка в заявката, т.е. от СУБД, тогава трябва да я използвате. Това значително ще спести ресурси за работата на програмата или услугата.
  • Много запитвания. Ако трябва да вмъкнете много записи последователно, след това за оптимизация, трябва да мислим за вмъкване на пакети данни в една заявка. Това също ще увеличи производителността на цялата система като цяло.
  • Интелигентно разполагане на данни. Преди да компилирате структурата на базата данни, трябва да помислите дали имате нужда от много таблици и полета. Може да има начин да ги обединим или да откажем някои. Много често програмистите използват прекалено много данни, които никога и никога няма да бъдат използвани.
  • Видове. За да спестите място и ресурси, човек трябва да е чувствителен към използваните типове данни. Ако е възможно да се използва по-малко "тежък" за вида на паметта, тогава е необходимо да го приложите към него. Например, ако знаете, че в това поле има числова стойност, която няма да надвишава 255, тогава защо използвате 4-байтов INT, ако има TINYINT в 1 байт.
  • Заключение

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

    Свързани публикации