Въведение в основите на SQL

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

За SQL

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

SQL се предлага в много вкусове. Базите данни на Oracle използват собствения си PL / SQL. Microsoft SQL Server използва Transact-SQL. Всички вариации се основават на индустриалния стандарт ANSI SQL.

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

instagram viewer

DDL и DML

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

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

Команди за дефиниция на данни

Езикът за определяне на данни се използва за създаване и унищожаване на бази данни и обекти на бази данни. Тези команди се използват предимно от администраторите на бази данни по време на фазите на настройка и премахване на проект на база данни. DDL се върти около четири основни команди -създайте, използване, промяна, и изпускайте.

Създайте

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

СЪЗДАВАНЕ НА БАЗА ДАННИ служители;

създава празна база данни с име служители на вашата СУБД. След създаването на базата данни следващата стъпка е да създадете таблици, които съдържат данни. Друг вариант на създайте командата изпълнява тази цел. Командата:

СЪЗДАЙТЕ ТАБЛИЦА personal_info (first_name char (20) not null, last_name char (20) not null, worker_id int not null);

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

Използвайте

The използване команда задава активната база данни. Например, ако в момента работите в базата данни за продажби и искате да издадете някои команди, които ще повлияят на базата данни на служителите, предговорете ги със следната SQL команда:

Служители на USE;

Проверете отново базата данни, в която работите, преди да издадете SQL команди, които манипулират данните.

Промяна

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

ALTER TABLE personal_info ДОБАВИ заплата пари null;

Този пример добавя нов атрибут към таблицата personal_info - заплата на служител. The пари аргументът посочва, че заплатата на служителя се съхранява в формат долари и центове. И накрая, нула ключовата дума казва на базата данни, че е добре това поле да не съдържа стойност за даден служител.

Изпускайте

Последната команда на езика за определяне на данни, изпускайте, премахва цели обекти на база данни от нашата СУБД. Например, за да премахнете за постоянно таблицата personal_info, която създадохме, използвайте следната команда:

ТАБЛИЦА ЗА ПАДАНЕ personal_info;

По същия начин командата по-долу ще се използва за премахване на цялата база данни на служителите:

DROP БАЗА ДАННИ служители;

Използвайте тази команда внимателно. The изпускайте команда премахва цели структури от данни от вашата база данни. Ако искате да премахнете отделни записи, използвайте Изтрий командване на езика за управление на данни.

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

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

Поставете

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

ВЪВЕДЕТЕ В personal_info
стойности ('барт', 'симпсън', 12345, $ 45000);

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

Изберете

The изберете command е най-често използваната команда в SQL. Той извлича конкретна информация от оперативна база данни. Разгледайте няколко примера, като отново използвате таблицата personal_info от базата данни на служителите.

Показаната по-долу команда извлича цялата информация, съдържаща се в таблицата personal_info. Звездичката е заместващ знак в SQL.

ИЗБЕРЕТЕ *
ОТ personal_info;

Като алтернатива, ограничете атрибутите, които се извличат от базата данни, като посочите Какво се избира. Например отделът „Човешки ресурси“ може да изиска списък с фамилните имена на всички служители във фирмата. Следващата SQL команда ще извлече само тази информация:

ИЗБЕРЕТЕ last_name
ОТ personal_info;

The където клауза ограничава извлечените записи до тези, които отговарят на определени критерии. Главният изпълнителен директор може да се интересува от преглед на записите на персонала на всички високоплатени служители. Следващата команда извлича всички данни, съдържащи се в personal_info за записи, които имат стойност на заплата по-голяма от $ 50 000:

ИЗБЕРЕТЕ *
ОТ personal_info
КЪДЕ заплата> 50000 $;

Актуализиране

The актуализиране команда променя информацията, съдържаща се в таблица, или групово, или поотделно. Да предположим, че компанията дава на всички служители годишно 3-процентно увеличение на разходите за живот. Следната SQL команда прилага този бум към всички служители, съхранявани в базата данни:

АКТУАЛИЗИРАНЕ personal_info
SET заплата = заплата * 1,03;

Когато новият служител Барт Симпсън демонстрира резултати над и извън задължението, ръководството иска да признае звездните му постижения с повишаване на $ 5000. Клаузата WHERE отделя Барт за този рейз:

АКТУАЛИЗИРАНЕ personal_info
SET заплата = заплата + 5000
КЪДЕ staff_id = 12345;

Изтрий

И накрая, нека да разгледаме Изтрий команда. Ще откриете, че синтаксисът на тази команда е подобен на този на другите DML команди. Командата DELETE с a където клауза, премахване на запис от таблица:

ИЗТРИВАНЕ ОТ personal_info
КЪДЕ staff_id = 12345;

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

изберете брой (*) от personal_info;

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

Присъединяване към база данни

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

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

СЪЗДАЙТЕ ТАБЛИЦА disciplinary_action (action_id int not null, staff_id int not null, коментари char (500));

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

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

ИЗБЕРЕТЕ personal_info.first_name, personal_info.last_name, disciplinary_action.comments
ОТ personal_info ВЪТРЕШНО ПРИСЪЕДИНЯВАНЕ disciplinary_action ON personal_info.employee_id = disciplinary_action.employee_id
КЪДЕ personal_info.salary> 40000;

Видове присъединявания

Типове присъединяване в SQL

Присъединяванията се предлагат в няколко вкуса. В оператора SQL първата таблица (обикновено се нарича Таблица А или Лява таблица) се присъединява към втората таблица (обикновено се нарича Таблица Б или Дясна маса) по начин, съобразен с позицията. По този начин, ако промените реда на таблиците в оператора за присъединяване, резултатите от операцията ще се различават. Основните типове присъединяване включват:

  • Вътрешно присъединяване: Съвпада само със записи, където На условие съответства на едни и същи записи и в двете таблици.
  • Външно присъединяване: Съвпада само записи от двете таблици, които изключете резултатите, идентифицирани в На състояние.
  • Право присъединяване: Съвпада с всички записи от таблица Б плюс записите от таблица А, които съответстват на На състояние.
  • Ляво присъединяване: Съвпада с всички записи от таблица А плюс записите от таблица Б, които съответстват на На състояние.
  • Кръстосано присъединяване: Съвпада с всички записи, сякаш таблиците са идентични. Този процес генерира нещо, наречено декартов продукт. Често кръстосаните съединения са нежелани, тъй като те съвпадат с всеки ред от таблица А, поотделно, с всеки ред от таблица В. По този начин, ако Таблица А предлага пет записа, а Таблица Б предлага 9 записа, заявката за кръстосано присъединяване предлага 45 получени реда.