Что означает аббревиатура SQL?

Ответ

SQL (Structured Query Language) — это декларативный язык программирования, предназначенный для управления данными в реляционных системах управления базами данных (РСУБД).

Основное назначение: Создание, модификация, управление схемой и извлечение данных из реляционных баз.

Пример базового запроса на выборку:

SELECT id, name, email FROM users WHERE active = TRUE ORDER BY created_at DESC;

Ключевые категории команд SQL:

Категория Команды Назначение
DDL (Data Definition Language) CREATE, ALTER, DROP, TRUNCATE Определение и изменение структуры БД (таблицы, индексы).
DML (Data Manipulation Language) SELECT, INSERT, UPDATE, DELETE Манипуляция данными (чтение, добавление, изменение).
DCL (Data Control Language) GRANT, REVOKE Управление правами доступа.
TCL (Transaction Control Language) COMMIT, ROLLBACK, SAVEPOINT Управление транзакциями.

SQL является стандартом (ANSI/ISO), но многие РСУБД (PostgreSQL, MySQL, Oracle) имеют свои диалекты и расширения.

Ответ 18+ 🔞

Давайте разложим по полочкам эту всю SQL-хуйню, чтобы даже у мартышлюшки с бананом в руке всё встало на свои места.

SQL — это, по сути, такой язык, на котором ты вежливо просишь базу данных: «Слушай, дружок-пирожок, выдай-ка мне вот это, вот отсюда, и чтобы вот так было отсортировано». А она тебе, такая: «Оки-доки, держи». Или, наоборот, ты ей командуешь: «Запиши вот эту поебень вон туда». И она покорно записывает. Декларативный, блядь, язык — ты говоришь ЧТО тебе надо, а не КАК это делать. База сама соображает, как тебе это выебать.

Основная его работа — возиться с данными в этих ваших реляционных хранилищах. Создавать таблицы, тыкать в них новые записи, выковыривать старые, менять что не так и вообще вертеть этой всей песочницей как хочешь.

Вот, смотри, простейший запрос, чтобы понять суть:

SELECT id, name, email FROM users WHERE active = TRUE ORDER BY created_at DESC;

Перевод на человеческий: «Дай мне, сука, айдишники, имена и мыла всех юзеров, которые активны, и отсортируй их по дате создания — свежих сверху, старых долбоёбов вниз».

А теперь главные банды команд, которые тут рулят:

Категория Главные запевалы За что отвечают
DDL (Язык определения данных) CREATE, ALTER, DROP, TRUNCATE Это архитекторы, ёпта. Они лепят новые таблицы (CREATE), перестраивают их (ALTER), или берут и хуяк — сносят к хуям (DROP). TRUNCATE — это особый ублюдок, который не стирает таблицу, а просто выгребает из неё ВСЕ данные одним махом. Жестоко, но быстро.
DML (Язык манипуляции данными) SELECT, INSERT, UPDATE, DELETE А это уже рабочие лошадки. SELECT — достаёт данные, INSERT — пихает новые, UPDATE — поправляет старые, а DELETE — отправляет нахуй ненужное. Основа всей движухи.
DCL (Язык управления доступом) GRANT, REVOKE Охранники, блядь. GRANT говорит: «Этому пидору разреши доступ к этой таблице». А REVOKE приходит следом и орет: «А этому пидору — всё, отжаловали, иди нахуй!».
TCL (Язык управления транзакциями) COMMIT, ROLLBACK, SAVEPOINT Бухгалтеры, ебать. COMMIT — «Всё, что натворил, сохраняем, точка». ROLLBACK — «Ой, бля, всё наебнул, откатываем всё как было!». SAVEPOINT — это типа «сохраниться в игре», чтобы потом, если всё пиздец, откатиться не к началу, а вот к этой вот точке.

И да, стандарт-то один, ANSI/ISO там всякий, но каждая уважающая себя СУБД — PostgreSQL, MySQL, Oracle — считает своим долгом наговнять сверху своих собственных фич и синтаксических прибамбасов. Так что «чистый» SQL — это как единый язык, а диалекты у каждой деревни свои, ебанашка.