Sql

Учебник по sql для начинающих: Интерактивный онлайн учебник по работе с SQL

Основные понятия о базах данных

Перед тем как начать изучение SQL, давайте познакомимся с основными понятиями о базах данных. Это поможет нам понять области применения SQL и его среду выполнения.

База данных — это набор данных, хранящиеся в структурированном виде

По сути это просто хранилище неких сведений, не более того. Сами по себе базы данных не представляли бы интереса, если бы не было систем управления базами данных.

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

Если говорить более простыми словами, то СУБД — это система, позволяющая создавать базы данных и манипулировать сведениями из них.

Простейшая схема работы с базой данных:

Рейтинг СУБД

На данные момент рейтинг систем управления базами данных на основании db-engines имеет следущий вид:

  • Oracle — реляционная СУБД
  • MySQL — реляционная СУБД
  • Microsoft SQL Server — реляционная СУБД
  • PostgreSQL — реляционная СУБД
  • MongoDB — документоориентированная СУБД
  • Redis — хранилище по типу «ключ-значение»
  • IBM Db2 — реляционная СУБД
  • Elasticsearch — поисковой движок
  • Microsoft Access — реляционная СУБД
  • SQLite — реляционная СУБД

Можно обратить внимание, что 7 из 10 самых популярных СУБД — реляционные.

Реляционные базы данных

Реляционными называются базы данных, в основе построения которых лежит реляционная модель.

Данные в реляционных структурах организованы в виде набора таблиц, называемых отношениями, состоящих из столбцов и строк. Каждая строка таблицы представляет собой набор связанных значений, относящихся к одному объекту, или сущности. Каждая строка в таблице может быть помечена уникальным идентификатором, называемым первичным ключом, а строки из нескольких таблиц могут быть связаны с помощью внешних ключей.

Пример реляционной базы данных

Особенности реляционных БД

  • Модель данных в реляционных БД определена заранее и является строго типизированной
  • Данные хранятся в таблицах, состоящих из столбцов и строк
  • На пересечении каждого столбца и строчки допускается только одно значение
  • Каждый столбец проименован и имеет определенный тип, которому следуют значения со всех строк в данном столбец
  • Столбцы располагаются в определённом порядке, который определяется при создании таблицы
  • В таблице может не быть ни одной строчки, но обязательно должен быть хотя бы один столбец
  • Запросы к базе данных возвращают результат в виде таблиц

Язык запросов SQL

SQL — язык структурированных запросов (SQL, Structured Query Language), который используется в качестве эффективного способа сохранения данных, поиска их частей, обновления, извлечения из базы и удаления.

Обращение к реляционным СУБД осуществляется именно благодаря SQL. С помощью него выполняются все основные махинации с базами данных, некоторые из них:

  • Извлекать данные из базы данных
  • Вставлять записи в базу данных
  • Обновлять записи в базе данных
  • Удалять записи из базы данных
  • Создавать новые базы данных
  • Создавать новые таблицы в базе данных
  • Создавать хранимые процедуры в базе данных
  • Создавать представления в базе данных
  • Устанавливать разрешения для таблиц, процедур и представлений

База Данных MySQL Aliases

HTML5CSS.ru

ЛУЧШИЙ САЙТ ДЛЯ РАЗРАБОТЧИКОВ

❮ Назад Дальше ❯


SQL Aliases

Aliases SQL используются для предоставления таблицы или столбца в таблице временного имени.

Aliases часто используются, чтобы сделать имена столбцов более читаемыми.

Псевдоним существует только на протяжении запроса.

Alias Column Syntax

SELECT column_name AS alias_name
FROM table_name;

Alias Table Syntax

SELECT column_name(s)
FROM table_name AS alias_name;


Демонстрационная база данных

В этом учебнике мы будем использовать хорошо известную базу данных Northwind Sample.

Ниже представлен выбор из таблицы «Customers»:

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.05021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.05023Mexico
4Around the HornThomas Hardy120 Hanover Sq.LondonWA1 1DPUK

И выбор из таблицы «Orders»:

OrderIDCustomerIDEmployeeIDOrderDateShipperID
103545881996-11-143
10355461996-11-151
103568661996-11-182



Примеры Aliases для столбцов

Следующая инструкция SQL создает два псевдонима, один для столбца идентификатора и один для столбца CustomerName:

Пример

SELECT CustomerID as ID, CustomerName AS Customer
FROM Customers;

Следующая инструкция SQL создает два псевдонима: один для столбца CustomerName и один для столбца ContactName. Примечание: Он требует двойных кавычек или квадратных скобок, если псевдоним содержит пробелы:

Пример

SELECT CustomerName AS Customer, ContactName AS [Contact Person]
FROM Customers;

Следующая инструкция SQL создает псевдоним с именем «Address», объединяющий четыре столбца (адрес, PostalCode, город и страна):

Пример

SELECT CustomerName, Address + ‘, ‘ + PostalCode + ‘ ‘ + City + ‘, ‘ + Country AS Address
FROM Customers;

Примечание: Чтобы получить инструкцию SQL выше для работы в MySQL, используйте следующее:

SELECT CustomerName, CONCAT(Address,’, ‘,PostalCode,’, ‘,City,’, ‘,Country) AS Address
FROM Customers;


Пример псевдонима для таблиц

Следующая инструкция SQL выбирает все заказы от клиента с клиентом = 4 (вокруг Рога). Мы используем таблицы «Customers» и «Orders», и даем им табличные псевдонимы «c» и «o» соответственно (здесь мы используем псевдонимы, чтобы сделать SQL короче):

Пример

SELECT o. OrderID, o.OrderDate, c.CustomerName
FROM Customers AS c, Orders AS o
WHERE c.CustomerName=»Around the Horn» AND c.CustomerID=o.CustomerID;

Следующая инструкция SQL такая же, как и выше, но без псевдонимов:

Пример

SELECT Orders.OrderID, Orders.OrderDate, Customers.CustomerName
FROM Customers, Orders
WHERE Customers.CustomerName=»Around the Horn» AND Customers.CustomerID=Orders.CustomerID;

Aliases могут быть полезны, когда:

  • В запросе задействовано более одной таблицы
  • Функции используются в запросе
  • Имена столбцов являются большими или не очень читаемыми
  • Два или более столбцов объединяются вместе

❮ Назад Дальше ❯

PHP\CSS\JS\HMTL Editor


Copyright 2018-2020 HTML5CSS.ru

Правила и Условия Политика конфиденциальности О нас Контакты

Что такое SQL

Резюме : в этом руководстве мы познакомим вас с языком SQL, обсудим стандартный SQL и некоторые популярные диалекты SQL.

Введение в язык SQL

SQL — это язык программирования, предназначенный для управления данными, хранящимися в системе управления реляционными базами данных (RDBMS).

SQL означает язык структурированных запросов. Произносится как /ˈɛs kjuːˈɛl/ или /ˈsiːkwəl/.

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

  • Язык определения данных имеет дело с созданием и изменением схемы, например, оператор CREATE TABLE позволяет создать новую таблицу в базе данных, а оператор ALTER TABLE изменяет структуру существующей таблицы.
  • Язык обработки данных предоставляет конструкции для запроса данных, таких как оператор SELECT, и для обновления данных, таких как операторы INSERT, UPDATE и DELETE.
  • Язык управления данными состоит из операторов, которые имеют дело с авторизацией и безопасностью пользователя, таких как операторы GRANT и REVOKE.

SQL Standard

SQL был одним из первых коммерческих языков баз данных с 1970 года. С тех пор разные поставщики баз данных реализовывали SQL в своих продуктах с некоторыми вариациями. Чтобы обеспечить большее соответствие между поставщиками, Американский институт стандартов (ANSI) опубликовал первый стандарт SQL в 1986 году.

ANSI затем обновил стандарт SQL в 1992 году, известный как SQL92 и SQL2, и снова в 1999 году как SQL99 и SQL3. Каждый раз ANSI добавлял в язык SQL новые функции и команды.

Стандарт SQL теперь поддерживается ANSI и Международной организацией по стандартизации в качестве стандарта ISO/IEC 9075. Последний стандарт выпуска — SQL:2011.

Стандарт SQL формализует синтаксические структуры и поведение SQL для продуктов баз данных. Это становится еще более важным для баз данных с открытым исходным кодом, таких как MySQL и PostgreSQL, где РСУБД разрабатываются в основном сообществами, а не крупными корпорациями.

Диалекты SQL

Сообщество постоянно требует новых функций и возможностей, которых еще нет в стандарте SQL, поэтому даже при наличии стандарта SQL существует множество диалектов SQL в различных продуктах баз данных.

Поскольку ANSI и ISO еще не разработали эти важные функции, поставщики РСУБД (или сообщества) могут свободно изобретать свою собственную новую синтаксическую структуру.

Ниже перечислены наиболее популярные диалекты SQL:

  • PL/SQL означает процедурный язык/SQL. Он разработан Oracle для базы данных Oracle.
  • Transact-SQL или T-SQL разработан Microsoft для Microsoft SQL Server.
  • PL/pgSQL расшифровывается как Procedural Language/PostgreSQL, который состоит из диалекта SQL и расширений, реализованных в PostgreSQL 9.0016
  • MySQL имеет собственный процедурный язык, начиная с версии 5. Обратите внимание, что MySQL была приобретена Oracle.

В каждом учебнике мы объясним синтаксические структуры и поведение SQL, допустимые для разных баз данных. Мы также обсудим исключения, если они существуют в конкретной базе данных.

Было ли это руководство полезным?

Синтаксис SQL

Резюме : в этом руководстве мы познакомим вас с синтаксисом SQL, который поможет вам понять детали операторов SQL.

SQL является декларативным языком, поэтому его синтаксис читается как естественный язык. Оператор SQL начинается с глагола, описывающего действие, например, SELECT, INSERT, UPDATE или DELETE. После глагола идут подлежащее и сказуемое.

Предикат определяет условия, которые могут оцениваться как истинные, ложные или неизвестные.

См. следующую инструкцию SQL:

 

SELECT Имя ИЗ сотрудники КУДА ГОД(дата_найма) = 2000;

Язык кода: SQL (язык структурированных запросов) (sql)

Как видите, это читается как обычное предложение.

Получите имена сотрудников, нанятых в 2000 году.

SELECT first_name , FROM сотрудников и WHERE  являются предложениями в операторе SQL. Некоторые предложения являются обязательными, например, предложения SELECT и FROM , тогда как другие являются необязательными, например предложение WHERE .

Поскольку SQL был разработан специально для людей, не обладающих техническими знаниями, он очень прост и понятен. Чтобы написать оператор SQL, вам просто нужно сказать, что вы хотите, а не как вы хотите, как в других императивных языках, таких как PHP, Java и C++.

SQL — удобный для пользователя язык, поскольку он в основном предназначен для пользователей, которые выполняют специальные запросы и создают отчеты.

В настоящее время SQL используется высокотехнологичными людьми, такими как аналитики данных, специалисты по данным, разработчики и администраторы баз данных.

Команды SQL

SQL состоит из множества команд. Каждая команда SQL обычно заканчивается точкой с запятой (;). Например, ниже приведены две разные команды SQL, разделенные точкой с запятой (;).

 

ВЫБОР имя Фамилия ИЗ сотрудники; УДАЛИТЬ ОТ сотрудников КУДА наем_дата < '1990-01-01';

Язык кода: SQL (язык структурированных запросов) (sql)

В SQL для обозначения конца команды используется точка с запятой (;).

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

Литералы

Литералы — это явные значения, которые также известны как константы. SQL предоставляет три типа литералов: строковые, числовые и двоичные.

Строковый литерал состоит из одного или нескольких буквенно-цифровых символов, заключенных в одинарные кавычки, например:

 

'Джон' '1990-01-01' '50'

Язык кода: SQL (язык структурированных запросов) (sql)

50 — число. Однако, если вы заключите его в одинарные кавычки, например, '50' , SQL будет рассматривать его как строковый литерал.

Как правило, SQL чувствителен к регистру в отношении строковых литералов, поэтому значение 'John' — это не то же самое, что «ДЖОН» .

Числовые литералы представляют собой целые, десятичные или экспоненциальные записи, например:

 

200 -5 6.0221415E23

Язык кода: SQL (язык структурированных запросов) (sql)

SQL представляет двоичное значение с использованием нотации x'0000' , где каждая цифра представляет собой шестнадцатеричное значение, например:

 7 01'
х'0f0ff'
  

Язык кода: SQL (язык структурированных запросов) (sql)

Ключевые слова

В SQL есть много ключевых слов, имеющих особое значение, таких как SELECT, INSERT, UPDATE, DELETE и DROP. Эти ключевые слова являются зарезервированными словами, поэтому их нельзя использовать в качестве имен таблиц, столбцов, индексов, представлений, хранимых процедур, триггеров или других объектов базы данных.

Идентификаторы

Идентификаторы относятся к определенным объектам в базе данных, таким как таблицы, столбцы, индексы и т. д. SQL нечувствителен к регистру ключевых слов и идентификаторов.

Следующие операторы эквивалентны.

 

Выберите  * От сотрудников; ВЫБЕРИТЕ * ИЗ СОТРУДНИКОВ; выбрать * из сотрудников; ВЫБЕРИТЕ * ОТ сотрудников;

Язык кода: SQL (язык структурированных запросов) (sql)

Чтобы сделать команды SQL более читабельными и понятными, мы будем использовать ключевые слова SQL в верхнем регистре, а идентификаторы — в нижнем регистре во всех руководствах.

Комментарии

Для документирования операторов SQL используются комментарии SQL. При анализе операторов SQL с комментариями ядро ​​базы данных игнорирует символы в комментариях.

Комментарий обозначается двумя последовательными дефисами ( -- ), которые позволяют прокомментировать оставшуюся строку. См. следующий пример.

 

ВЫБЕРИТЕ идентификатор_сотрудника, зарплата ИЗ сотрудники КУДА зарплата < 3000;-- сотрудники с низкой зарплатой

Язык кода: SQL (язык структурированных запросов) (sql)

Это комментарий SQL.

 

-- сотрудники с низкой зарплатой

Язык кода: SQL (язык структурированных запросов) (sql)

Чтобы задокументировать код, который может занимать несколько строк, вы используете многострочную нотацию в стиле C ( /**/ ), как показано в следующем выражении: менее 3000 */ ОБНОВИТЬ сотрудников УСТАНОВЛЕН оклад = оклад * 1,05 КУДА зарплата < 3000;

Язык кода: SQL (язык структурированных запросов) (sql)

В этом руководстве мы познакомили вас с синтаксисом SQL, который поможет вам понять каждый компонент инструкции SQL.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *