Учебник по SQL
Изучите язык структурированных запросов
Учебник по SQL от w3resource направлен на удовлетворение потребностей новичка в изучении SQL без какого-либо предварительного опыта. Сказав это, это ни в коем случае не поверхностно. Напротив, он предлагает весь материал, необходимый для успешной сборки базы данных и написания SQL-запросов, начиная от одной строки, такой как «SELECT * FROM table_name», и заканчивая довольно нетривиальными, принимая несколько таблиц в учетной записи.
Прежде всего, мы должны сказать вам, что это руководство по SQL придерживается стандарта ANSI SQL: 2003. Это важно, потому что, если вы изучаете что-то столь же важное, как SQL, нет смысла учиться, если вы не знаете, какую версию или стандарт вы изучаете.
Мы старательно добавили как можно больше возможностей при создании этого учебника по SQL . Существует синтаксис, запрос, объяснение запроса и графическое представление, чтобы помочь вам лучше понять концепции. Помимо этого у нас есть сотни упражнений с онлайн-редактором, викторины . Таким образом, вы можете практиковать концепции и запросы, не выходя из браузера.
Содержание:
Вступление
В июне 1970 года доктор Э.Ф. Кодд опубликовал статью «Реляционная модель данных для больших совместно используемых банков данных» в журнале Ассоциации компьютерной техники (ACM). Модель Кодда в настоящее время принята как окончательная модель для систем управления реляционными базами данных (RDBMS).
Используя модель Кодда, IBM Corporation разработала язык структурированного английского языка запросов (SEQUEL) в исследовательском центре Сан-Хосе. Язык сначала назывался SEQUEL, но официальным произношением SQL является ESS QUE ELL.
В 1979 году Oracle представила первую коммерчески доступную реализацию SQL. Позже другие игроки присоединяются к гонке. Сегодня SQL принят в качестве стандартного языка СУБД.
Примечание: если вы не привыкли к системе управления базами данных, вы можете узнать здесь .
Что такое SQL?
SQL означает язык структурированных запросов и является стандартным компьютерным языком ANSI (Американский национальный институт стандартов) для доступа к системам баз данных и управления ими. Он используется для управления данными в системе управления реляционными базами данных, которая хранит данные в форме таблиц, а связь между данными также хранится в форме таблиц. Операторы SQL используются для извлечения и обновления данных в базе данных.
SQL работает с программами баз данных, такими как DB2, MySQL , PostgreSQL , Oracle , SQLite , SQL Server, Sybase, MS Access и многими другими. Существует много разных версий языка SQL, но для соответствия стандарту ANSI они поддерживают основные ключевые слова, такие как SELECT, UPDATE, DELETE, INSERT, WHERE и другие. На следующем рисунке показано взаимодействие с RDBMS с использованием SQL.
История SQL
Вот мудрая история развития года:
- 1970 EF Codd публикует определение реляционной модели
- 1975 Первоначальная версия SQL Реализовано (Д. Чемберлин)
- Экспериментальная версия IBM: System R (1977) с пересмотренным SQL
- Коммерческие версии IBM: SQL / DS и DB2 (начало 1980-х)
- Oracle представляет коммерческую версию до SQL / DS IBM
- INGRES 1981 и 85
- ShareBase 1982 и 86
- Общие данные (1984)
- Sybase (1986)
- к 1992 году более 100 продуктов SQL
Стандартные редакции SQL
- SEQUEL / Оригинальный SQL - 1974
- SQL / 86 - Ратификация и принятие формального стандарта SQL ANSI (Американский национальный институт стандартов) и ISO (Международная организация стандартов).
- SQL / 92 - основная редакция (ISO 9075), начальный уровень SQL-92 принят как FIPS 127-2.
- SQL / 99 - добавлено сопоставление регулярных выражений, рекурсивные запросы (например, транзитивное замыкание), триггеры, поддержка процедурных операторов и операторов управления потоком, нескалярные типы и некоторые объектно-ориентированные функции (например, структурированные типы).
- SQL / 2003 - введены функции, связанные с XML (SQL / XML), оконные функции, автогенерация.
- SQL / 2006 - много поддержки XML для XQuery, стандарта интерфейса XML-SQL.
- SQL / 2008 - добавляет триггеры INSTEAD OF, оператор TRUNCATE.
Конструкции SQL
Вот список ключевых элементов SQL вместе с кратким описанием:
- Запросы: извлекает данные по некоторым критериям.
- Операторы: управляет транзакциями, потоком программ, соединениями, сеансами или диагностикой.
- Статьи: Компоненты запросов и операторов.
- Выражения: комбинация символов и операторов и ключевой части операторов SQL.
- Предикаты: Определяет условия.
Некоторые ключевые термины SQL 2003
Чтобы знать ключевые термины SQL 2003, вы должны знать классы операторов как SQL 92, так и SQL 2003, поскольку оба они используются для ссылки на функции и операторы SQL.
В SQL 92 операторы SQL сгруппированы по следующим категориям:
- Манипуляция данных: Data Manipulation Language (DML) является подмножеством SQL , который используется для добавления, обновления и удаления данных.
- Определение данных: язык определения данных (DDL) используется для управления таблицей и структурой индекса. Операторы CREATE, ALTER, RENAME, DROP и TRUNCATE должны назвать несколько элементов определения данных.
- Контроль данных. Язык управления данными (DCL) используется для установки разрешений для пользователей и групп пользователей, могут ли они получать доступ к данным и манипулировать ими.
- Транзакция. Транзакция содержит несколько операторов SQL. После начала транзакции все операторы SQL выполняются, и в конце транзакции в соответствующие таблицы вносятся постоянные изменения.
- Процедура: Используя хранимую процедуру, создается метод, который содержит исходный код для выполнения повторяющихся задач.
В SQL 2003 операторы сгруппированы в семь категорий, которые называются классами. Смотрите следующую таблицу:
Учебный класс | пример |
---|---|
Операторы данных SQL | ВЫБРАТЬ, ВСТАВИТЬ, ОБНОВИТЬ, УДАЛИТЬ |
Операторы SQL-соединения | ПОДКЛЮЧИТЬ, ОТКЛЮЧИТЬ |
Операторы схемы SQL | ALTER, CREATE, DROP |
Операторы управления SQL | ЗВОНОК, ВОЗВРАТ |
Диагностические операторы SQL | ПОЛУЧИТЕ ДИАГНОСТИКУ |
Операторы сеанса SQL | SET CONSTRAINT |
Операторы транзакций SQL | COMMIT, ROLLBACK |
PL-SQL, TSQL и PL / pgSQL
- PL / SQL - процедурный язык / язык структурированных запросов (PL / SQL) - это процедурный язык расширения Oracle Corporation для SQL и реляционной базы данных Oracle.
- TSQL - Transact-SQL (T-SQL) является проприетарным расширением Microsoft и Sybase для SQL.
- PL / pgSQL - процедурный язык / PostgreSQL (PL / pgSQL) - это процедурный язык программирования, поддерживаемый PostgreSQL.
Управление базой данных и таблицами
команда | Описание |
---|---|
CREATE DATABASE имя_базы_данных | Создать базу данных |
DROP DATABASE имя_базы_данных | Удалить базу данных |
CREATE TABLE "table_name" ("column_1" "column_1_data_type", "column_2" "column_2_data_type", ...) | Создать таблицу в базе данных. |
ALTER TABLE table_name ADD column_name column_datatype | Добавить столбцы в существующую таблицу. |
ALTER TABLE table_name DDROP имя_ столбца column_datatype | Удалить столбцы в существующей таблице. |
DROP TABLE table_name | Удалить таблицу. |
Типы данных:
Тип данных | Описание |
---|---|
СИМВОЛЫ (п) | Строка символов фиксированной длины n. |
VARING CHARACTER (n) или VARCHAR (п) | Строка символов переменной длины, максимальная длина n. |
БИНАРНЫЙ (п) | Двоичная строка фиксированной длины, максимальная длина n. |
БУЛЕВЫ | Хранит значения истинности - ИСТИНА или ЛОЖЬ. |
BINARY VARYING (n) или VARBINARY (п) | Двоичная строка переменной длины, максимальная длина n. |
Integer (р) | Целочисленное число, точность с. |
SMALLINT | Целочисленная числовая точность 5. |
INTEGER | Целочисленное число, точность 10. |
BIGINT | Целочисленное число, точность 19. |
ДЕСЯТИЧНЫЙ (p, s) | Точное числовое, точность р, шкала с. |
ЧИСЛЕННЫЙ (p, s) | Точное число, точность р, шкала с. (Такой же как DECIMAL). |
ПОПЛАВКОВЫЕ (р) | Приблизительная числовая точность мантиссы с. |
РЕАЛЬНЫЙ | Приблизительный числовой Мантисса точность 7. |
FLOAT | Приблизительный числовой Мантисса точность 16. |
ДВОЙНАЯ ТОЧНОСТЬ | Приблизительный числовой Мантисса точность 16. |
ДАТА ВРЕМЯ TIMESTAMP | Состоит из нескольких целочисленных полей, представляющих абсолютный момент времени, в зависимости от подтипа. |
ИНТЕРВАЛ | Состоит из нескольких целочисленных полей, представляющих период времени, в зависимости от типа интервала. |
КОЛЛЕКЦИЯ (Массив, Мультисеть) | ARRAY (предлагается в SQL99) является набором длины и упорядочивает коллекцию элементов. |
XML | Хранит данные XML. Его можно использовать везде, где разрешен тип данных SQL, например, столбец таблицы. |
Индекс Манипуляции:
команда | Описание |
---|---|
CREATE INDEX index_name ON имя_таблицы (имя_ столбца_1, имя_ столбца_2, ...) | Создайте простой индекс. |
СОЗДАТЬ УНИКАЛЬНЫЙ ИНДЕКС index_name ON table_name (column_name_1, column_name_2, ...) | Создайте уникальный индекс. |
DROP INDEX имя_таблицы.index_name | Оставьте индекс. |
Операторы SQL:
операторы | Описание |
---|---|
SQL арифметический оператор | Арифметические операторы: сложение (+), вычитание (-), умножение (*) и деление (/). Операторы + и - также могут использоваться в арифметике дат. |
Оператор сравнения SQL | Оператор сравнения (или реляционный) - это математический символ, который используется для сравнения двух значений. |
Оператор присваивания SQL | В SQL оператор присваивания (=) присваивает значение переменной или столбцу или полю таблицы. |
Битовый оператор SQL | Побитовые операторы: & (Побитовое И), | (Побитовое ИЛИ) и ^ (Побитовое Исключающее ИЛИ или XOR). Допустимые типы данных для побитовых операторов: BINARY, BIT, INT, SMALLINT, TINYINT и VARBINARY. |
SQL логический оператор | Логические операторы - это те, которые являются истинными или ложными. Логические операторы: И, ИЛИ, НЕ, В, МЕЖДУ, ЛЮБЫМ, ВСЕМ, НЕКОТОРЫМ, СУЩЕСТВУЮЩИМ и КАК. |
Унарный оператор SQL | Унарные операторы SQL выполняют такую операцию, которая содержит только одно выражение любого из типов данных в категории числовых типов данных. |
Вставить, обновить и удалить:
команда | Описание |
---|---|
INSERT INTO table_name VALUES (значение_1, значение_2, ....) INSERT INTO имя_таблицы (столбец1, столбец2, ...) ЗНАЧЕНИЯ (значение_1, значение_2, ....) | Вставьте новые строки в таблицу. |
ОБНОВЛЕНИЕ table_name SET SET column_name_1 = новое_значение_1, column_name_2 = новое_значение_2 ГДЕ column_name = some_value | Обновите один или несколько столбцов в строках. |
DELETE FROM table_name WHERE column_name = some_value | Удалить строки в таблице. |
Выбрать:
команда | Описание |
---|---|
ВЫБЕРИТЕ имя столбца (ов) ОТ имени таблицы | Выберите данные из таблицы. |
SELECT * FROM table_name | Выберите все данные из таблицы. |
ВЫБЕРИТЕ DISTINCT имя_столбца (ей) ОТ имени_таблицы | Выберите только различные (разные) данные из таблицы. |
ВЫБЕРИТЕ имя-столбец (-и) ОТ таблицы-таблицы ГДЕ значение оператора столбца И значение оператора столбца ИЛИ значение оператора столбца И (... ИЛИ ...) ... | Выберите только определенные данные из таблицы. |
ВЫБЕРИТЕ имя столбца (И) ОТ таблицы имя ГДЕ имя столбца В (значение1, значение2, ...) | Оператор IN можно использовать, если вы знаете точное значение, которое вы хотите вернуть хотя бы для одного из столбцов. |
ВЫБЕРИТЕ имя столбца (-ов) ОТ таблицы-имени ORDER BY row_1, row_2 DESC, row_3 ASC, ... | Выберите данные из таблицы с сортировкой строк. |
SELECT column_1, ..., SUM (group_column_name) FROM table_name GROUP BY group_column_name | Предложение GROUP BY используется с оператором SELECT, чтобы создать группу строк на основе значений определенного столбца или выражения. Функция SQL AGGREGATE может использоваться для получения сводной информации по каждой группе, которая применяется к отдельной группе. |
ВЫБЕРИТЕ имя столбца (-ов) INTO new_table_name FROM source_table_name WHERE запрос | Выберите данные из таблицы (S) и вставьте их в другую таблицу. |
ВЫБЕРИТЕ имя столбца (-ов) IN external_database_name FROM source_table_name WHERE запрос | Выберите данные из таблицы (S) и вставьте их в другую базу данных. |
Функции:
Функции SQL | Описание |
---|---|
Агрегатная функция | Эта функция может создавать одно значение для всей группы или таблицы. Некоторые агрегатные функции -
|
Арифметическая функция | Математическая функция выполняет математическую операцию, обычно основанную на входных значениях, которые предоставляются в качестве аргументов, и возвращает числовое значение в качестве результата операции. Некоторые арифметические функции -
|
Функция персонажа | Символьная или строковая функция - это функция, которая принимает один или несколько символов или чисел в качестве параметров и возвращает символьное значение. Некоторые функции персонажа -
|
Соединения:
название | Описание |
---|---|
SQL EQUI JOIN | SQL EQUI JOIN - это простое соединение SQL, использующее знак равенства (=) в качестве оператора сравнения для условия. Он имеет два типа - внешнее соединение SQL и внутреннее соединение SQL. SQL INNER JOIN возвращает все строки из таблиц, где запись ключа одной таблицы равна записи ключа другой таблицы. SQL OUTER JOIN возвращает все строки из одной таблицы и только те строки из вторичной таблицы, для которых выполняется условие соединения, т.е. столбцы в обеих таблицах равны. |
SQL NON EQUI JOIN | SQL NON EQUI JOIN - это объединение, использующее оператор сравнения, отличный от знака равенства, например>, <,> =, <= с условием. |
Союз:
команда | Описание |
---|---|
SQL_Statement_1 UNION SQL_Statement_2 | Выберите все различные значения из SQL_Statement_1 и SQL_Statement_2 |
SQL_Statement_1 UNION ALL SQL_Statement_2 | Выберите все значения из SQL_Statement_1 и SQL_Statement_2 |
Посмотреть:
команда | Описание |
---|---|
СОЗДАТЬ ПРОСМОТР view_name AS ВЫБРАТЬ имя столбца (-ов) ОТ table_name WHERE условие | Создайте виртуальную таблицу на основе результирующего набора оператора SELECT. |
Цели обучения
Учебник по SQL для w3resource - это всеобъемлющий учебник по изучению SQL. Мы следовали стандарту ANSI SQL: 2003. В этом руководстве приведены сотни примеров. Выходные данные показаны с Oracle 10G / MySQL. Часто результаты сопровождаются наглядным представлением и объяснением для лучшего понимания. Вы вряд ли найдете учебник по независимому от поставщика SQL, который подробно описывает SQL. Ниже приведен список функций, которые мы включили в наши учебники:
- Простое, но подробное описание.
- Синтаксис SQL.
- Описание параметров, используемых в команде SQL.
- Пример таблицы с данными.
- Команда SQL
- Объяснение команды SQL.
- Вывод команды SQL.
- Модель базы данных.
- Онлайн практика.
Резюме
- SQL расшифровывается как язык структурированных запросов.
- SQL легко выучить.
- SQL - это стандартный компьютерный язык ANSI.
- SQL позволяет нам получить доступ к базе данных.
- SQL используется для доступа к данным в различных базах данных, таких как Oracle, Sybase, Microsoft SQL Server, DB2, Access, MySQL, PostgreSQL и других системах баз данных, и управления ими.
- SQL выполняет запросы к базе данных.
- SQL может вставлять новые записи в базу данных.
- SQL может обновлять записи в базе данных.
- SQL может удалять записи из базы данных.
Упражнения по SQL
- Упражнения по SQL, практика, решение
- SQL Получить данные из таблиц [33 Упражнения]
- Булевы и реляционные операторы SQL [12 упражнений]
- Подстановочные знаки SQL и специальные операторы [22 упражнения]
- Агрегатные функции SQL [25 упражнений]
- Вывод запроса форматирования SQL [10 упражнений]
- SQL-запросы к нескольким таблицам [7 упражнений]
- ФИЛЬТРАЦИЯ И СОРТИРОВКА в базе данных персонала [38 упражнений]
- SQL СОЕДИНЯЕТ
- SQL ПОДПИСИ
- SQL Union [9 упражнений]
- SQL View [16 упражнений]
- Управление учетными записями пользователей SQL [16 упражнение]
- База данных фильмов
- ОСНОВНЫЕ запросы к базе данных фильмов [10 упражнений]
- ПОДПИСКИ на фильм База данных [16 упражнений]
- ПРИСОЕДИНЯЕТСЯ к базе данных фильма [24 упражнения]
- Футбольная база
- Вступление
- ОСНОВНЫЕ запросы по футболу базы данных [29 упражнений]
- ПОДПИСКИ по футбольной базе данных [33 упражнения]
- База данных больницы
- База данных сотрудников
- ОСНОВНЫЕ запросы к базе данных сотрудников [115 упражнений]
- БРОНИРОВАНИЕ на сотрудника База данных [77 Упражнения]
- Еще не все!
Хотите улучшить вышеуказанную статью? Вносите свои заметки / комментарии / примеры через Disqus.
Далее: Типы данных SQL
Новый контент: Composer: менеджер зависимостей для PHP , R программирования