Какво е SQL? Пълно ръководство за форми и основи
⚡ Умно обобщение
Какво е SQL? Структурираният език за заявки (Structured Query Language) е стандартният език за работа с релационни бази данни. Той ви позволява да създавате схеми, да заявявате записи, да актуализирате редове, да управлявате разрешения и да свързвате съвременни приложения с енджини като... PostgreSQL, MySQLи SQL Server.

Какво е SQL?
SQL е стандартният език за работа с релационни бази данни. Използва се за вмъкване, търсене, актуализиране и изтриване на записи, а също така може да оптимизира и поддържа бази данни. SQL е стандарт ANSI и ISO, така че един и същ основен синтаксис работи в различни двигатели като... PostgreSQL, MySQL, Oracleи SQL Server.
SQL пълен формуляр
SQL означава език за структурирани заявки, произнася се като „SQL“ или „See-Quel“. IBM разработи го през 1970-те години на миналия век, както и релационни бази данни като MySQL, Oracle Database, Microsoft SQL Server, PostgreSQL, и SAP Sybase използва ANSI SQL като основа.
Как да използвате SQL
Издавате SQL команда, като напишете израз, който назовава операцията, целевата таблица и всички условия за филтриране. SELECT заявка, връщаща членове по-стари от 30, изглежда така:
SELECT * FROM Members WHERE Age > 30;
Синтаксисът в различните бази данни е до голяма степен сходен, тъй като всеки основен двигател имплементира стандарта ANSI. Няколко продукта за RDBMS добавят собствени диалекти, например T-SQL в SQL Server и PL/SQL в Oracle.
Кликнете тук ако видеото не е достъпно
За какво се използва SQL?
Ето важните причини за използването на SQL:
- Това помага на потребителите да имат достъп до данни в RDBMS система.
- Това ви помага да опишете данните.
- Тя ви позволява да дефинирате данните в база данни и да манипулирате тези конкретни данни.
- С помощта на SQL можете да създавате и премахвате бази данни и таблици.
- SQL ви позволява да използвате функции в база данни, да създавате изгледи и да пишете съхранени процедури.
- Можете да задавате разрешения за таблици, процедури и изгледи.
- SQL поддържа аналитични задачи като отчитане, бизнес разузнаване и подаване на данни към конвейери за машинно обучение.
Кратка история на SQL
Ето важни ориентири от историята на SQL:
- 1970 – Д-р Едгар Ф. „Тед“ Код описва релационен модел за бази данни.
- 1974 г. – Структуриран език за заявки се появява в IBM Research.
- 1978 - IBM пусна System/R.
- 1986 г. – ANSI стандартизира SQL като SQL-86.
- 1989 г. – Публикувана е първата търговска версия на стандарта SQL.
- 1999 г. – SQL:1999 добавя тригери и обектно-ориентирани функции.
- SQL:2003 – Функции на прозореца и XML характеристики.
- SQL:2006 – Поддръжка за XML език за заявки.
- SQL:2011 – Поддръжка на темпорални бази данни.
- SQL:2016 – JSON, разпознаване на редови шаблони, полиморфни таблични функции.
- SQL:2023 – Заявки към графи на свойства (SQL/PGQ) и по-строга обработка на JSON.
Видове SQL оператори
Ето пет вида широко използвани SQL изрази:
- Език за дефиниране на данни (DDL)
- Език за манипулиране на данни (DML)
- Език за управление на данни (DCL)
- Език за контрол на транзакциите (TCL)
- Език за заявка на данни (DQL)
Списък на SQL команди
Ето списък с някои от най-често използваните SQL команди:
- CREATE – определя структурата или схемата на базата данни.
- INSERT – вмъква данни в редовете на таблица.
- АКТУАЛИЗАЦИЯ – актуализира съществуващите данни в базата данни.
- ИЗТРИЙ – премахва един или повече редове от таблица.
- МАРКИРАЙ – избира атрибутите, които отговарят на условието, описано от клаузата WHERE.
- Капка – премахва таблици и бази данни.
- МЪЖЕ – извършва INSERT или UPDATE в един оператор, базиран на условие за съвпадение.
SQL процес
Когато изпълнявате SQL команда, системата за управление на базата данни анализира израза, избира план за изпълнение и го изпълнява на нивото за съхранение.
Важни компоненти в този процес са:
- SQL Query Engine
- Оптимизационен двигател
- Диспечер на заявки
- Класическа машина за заявки
Класическият двигател за заявки обработва заявки, които не са SQL, докато SQL двигателят за заявки обработва структурираното натоварване.

SQL стандарти
SQL обхваща създаване на база данни, изтриване, извличане и модифициране на редове и контрол на достъпа. Това е стандарт на ANSI (Американски национален институт по стандартизация) и ISO, а текущото издание е ISO / IEC 9075: 2023, обикновено наричан SQL:2023. Стандартът е разделен на няколко части:
| Част | Descriptйон |
|---|---|
| Част 1 – SQL/Framework | Предлага логическите концепции, които са в основата на всяка друга част. |
| Част 2 – SQL/Foundation | Дефинира централния синтаксис и семантика на SQL. |
| Част 3 – SQL/CLI | Указва интерфейса на ниво повикване, използван от ODBC и подобни драйвери. |
| Част 4 – Постоянно съхранени модули | Съхранени рутинни процедури, външни рутинни процедури и процедурни езикови разширения към SQL. |
| Част 9 – Управление на външни данни | Добавя синтаксис и дефиниции, които позволяват на SQL достъп до източници на данни, различни от SQL, като например файлове. |
| Част 10 – Свързване на обектен език | Указва синтаксиса и семантиката на вграждането на SQL в Java. |
| Част 11 – SQL/схема | Информационни и дефиниращи схеми. |
| Част 13 – SQL/JRT | SQL рутини и типове, използващи Java програмен език. |
| Част 14 – SQL/XML | SQL и XML, включително интеграцията с XMLTYPE и XQuery. |
| Част 15 – SQL/MDA | Осигурява SQL поддръжка за многомерни масиви. |
| Част 16 – SQL/PGQ | Добавено в SQL:2023 за дефиниране на заявки за графи на свойства върху релационни таблици. |
Съвременни SQL двигатели
Всеки двигател имплементира по-голямата част от ANSI ядрото и добавя свои собствени разширения:
- PostgreSQL 17: Отворен код със строго спазване на стандартите и богата JSON поддръжка.
- MySQL 8: Популярен с уеб приложенията; поддържа функции на прозореца, CTE и режим на съхранение на документи.
- Microsoft SQL Server 2022: Корпоративен енджин с разузнаване на заявки и Azure Синапсно огледало.
- Oracle Database 23ai: Комбинира SQL с векторно търсене и JSON-релационни дуални изгледи.
- SQLite: Лек файлов енджин, вграден в мобилни приложения и браузъри.
Облачни складове, като например Amazon червено отместване, Google BigQuery и Snowflake също така предоставят достъп до ANSI SQL диалекти, което прави езика преносим от лаптоп до анализи в петабайтов мащаб.
Елементи на езика SQL
Ето важните елементи на езика SQL:
- Ключови думи: Резервирани думи като SELECT, FROM или WHERE, които изграждат всяко изявление.
- Идентификатори: Имена на обекти в базата данни, като например потребителски идентификатори, таблици и колони.
- Струни: Литерални низове или изрази с типове данни VARCHAR или CHAR.
- Изрази: Формира се от константи, SQL оператори, имена на колони и подзаявки.
- Условия за търсене: Филтриране на редове или управление на потока от оператори като IF.
- Специални стойности: Стойности като CURRENT_TIMESTAMP, използвани в изрази и стойности по подразбиране на колоните.
- Променливи: Повечето двигатели поддържат локални, глобални и променливи на ниво връзка в съхранените процедури.
- Коментари: Едноредовите (–) и блоковите (/* */) коментари документират SQL, но не се изпълняват.
- NULL Стойност: NULL маркира стойност, която е неизвестна, липсва или е неприложима.
Какво е база данни в SQL?
A база данни е колекция от таблици, които съхраняват структурирани данни. Таблицата съдържа редове (записи или кортежи) и колони (атрибути).
Всяка колона съхранява специфичен тип информация, например имена, дати, суми в долари или числа. Връзките между таблиците се осъществяват с първични и външни ключове, което прави базата данни „релационна“.
Какво е NoSQL?
NoSQL е категория от Системи за управление на бази данни чиято основна черта е неспазването на релационни концепции. NoSQL означава „Не само SQL“. Категорията се разраства с интернет гиганти като Google, Facebook и Amazon, които боравят с гигантски обеми от данни.
Когато релационните бази данни обработват огромни обеми, времето за реакция може да се забави. Можете да „мащабирате“ чрез надграждане на хардуера или да „разширите“ мащаба си чрез разпределяне на натоварването между множество хостове.
NoSQL базите данни са нерелационен магазини, предназначени за уеб приложения. Те не винаги използват SQL или налагат строги схеми, а ACID (Atomсвойствата (като например електрическа изолация, консистентност, изолация, издръжливост) не винаги са гарантирани, въпреки че съвременни системи, като например MongoDB намлява Cassandra сега предлагат настройваеми транзакционни режими.
Защо има смисъл да се учи SQL след NoSQL
Като се има предвид, че NoSQL се мащабира по-добре от релационните модели, може би се чудите... защо някой все още би учил SQLNoSQL базите данни са специализирани и най-подходящи за огромни неструктурирани набори от данни, но повечето бизнес приложения все още разчитат на релационни бази данни и техните инструменти.
Релационните бази данни запазват следните предимства пред NoSQL:
- Зрял модел за съхранение и управление на данни, от решаващо значение за корпоративните потребители.
- Поддръжка за изгледи, позволяваща на потребителите да виждат само оторизирани данни.
- Поддръжка за съхранени процедури, които вмъкват бизнес логиката в базата данни.
- По-силни модели за сигурност, контрол на достъпа, базиран на роли, и функции за одит.
- SQL е лингва франка на бизнес разузнаването, таблата за управление и инструментите с изкуствен интелект, които изискват структуриран вход.
Търсенето на професионалисти, които могат да работят с релационни бази данни, продължава нарастващ, така че изучаването на основите на SQL все още има очевидни предимства.
SQL и AI: Инструменти за преобразуване на текст в SQL
SQL вече е целеви език за асистенти с изкуствен интелект. Текст към SQL Инструментите превеждат въпроси на обикновен английски език, като например „покажи 10-те най-големи клиенти по приходи от последното тримесечие“, в изпълним SQL код. Популярните опции включват Копилот на GitHub, Ванна AI, Microsoft Вторият пилот влиза Azure SQL и Oracle Изберете AI. Винаги проверявайте генерирания SQL код за коректност, сигурност и индексиране, преди да го изпълните върху производствени данни.
Най-добрите книги за изучаване на SQL
Ето някои от най-добрите книги за SQL:
- SQL урок за начинаещи:
Това SQL урок за начинаещи PDF файлът обхваща основни концепции за бази данни, MS-SQL команди и разширени теми, като например SQL съединения.
- SQL за 10 минути: Примери за код с пълноцветен код показват как са структурирани SQL изразите, плюс преки пътища и готови решения. Поръчай СЕГА
- Готварска книга за SQL: Техники като например „разхождане“ на низ със SQL за разбор на символи или разделени елементи. Поръчай СЕГА
- SQL: The Complete Reference: Обхваща функциите на прозореца, завъртането на редове в колони и обратното завъртане. Поръчай СЕГА
- Джобно ръководство за SQL: Преподава SQL функции, синтаксис на регулярни изрази и преобразуване на типове. Поръчай СЕГА
За още книги по SQL – Натисни тук
