Sql язык программирования кратко

Sql язык программирования кратко

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

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

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

Язык SQL – универсальный язык для всех реляционных систем управления базами данных, но многие СУБД вносят свои изменения в язык, применяемый в них, тем самым отступая от стандарта. Такие языки называют диалектами или расширениями языка.

  • T-SQL – диалект Microsoft SQL Server
  • PL/SQL – диалект Oracle Database
  • PL/pgSQL – диалект PostgreSQL

Если вы знаете, что вам нужно изучать SQL, вам следует изучить стандартный SQL. Однако, если вы уже знаете, с какой конкретной базой данных вы будете работать, вероятно, лучше всего изучить её диалект SQL и просто знать, что разные базы данных могут использовать немного отличающийся синтаксис.

В нашем курсе мы будем использовать СУБД MySQL, ибо она достаточно популярная и в тоже время в ней используется близкий к стандартному SQL, хотя и с небольшими отличиями. Подробнее об отличиях.

Читайте также:  Html и css верстка что это

Источник

Зачем нужен язык SQL и как ему обучиться

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

Как работает язык SQL

SQL — язык запросов, с помощью которого можно получать информацию из базы данных. Пример использования SQL — отображение личного профиля в соцсети «ВКонтакте»:

SQL используют разработчики, аналитики, тестировщики, продуктовые маркетологи. Например, для обработки запросов внутри сайтов и приложений или для сбора большого массива данных, чтобы протестировать гипотезы. С помощью SQL компания может быстро узнать, какие клиенты чаще пользовались её услугами в прошлом году, или сравнить зарплаты сотрудников в разных отделах.

Что такое база данных в SQL

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

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

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

Таблица в базе данных SQL состоит из следующих элементов:

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

У каждой сущности в таблице свой первичный ключ. Например, ИНН человека — идеальный пример первичного ключа. Не может быть двух разных людей с одинаковым ИНН. Внешний ключ связывает разные таблицы и сущности в таблицах. К примеру, таблицу с фильмами и таблицу с актёрами, которые в этих фильмах снимались.

Потенциальный ключ — альтернативное значение, которое наряду с первичным ключом может идентифицировать сущность в таблице. Допустим, человека можно идентифицировать по ИНН, а можно — по ФИО и дате рождения.

Владимир Самойлов, тимлид в продуктовой разработке

2. Атрибут — столбец с одним параметром. Например, «Название», «Дата» или «Стоимость».

3. Домен — тип значения атрибута. Например, в столбце «Цена» стоимость должна быть указана числом с десятичной частью.

4. Кортеж — пронумерованная строка в таблице.

5. Значение — содержимое одной ячейки.

6. Индекс — объект базы данных, который упрощает поиск по ней. В таблице содержится множество строк в произвольном порядке, поиск нужной информации может занимать много времени. Индекс ускоряет процесс.

Представим, что у нас есть телефонный справочник. У него индексы — буквы. По букве можно легко найти фамилию человека. Если индекса нет, придётся долго искать нужный контакт, перебирая все строки в таблице.

Ещё есть уникальные индексы. Мы просим реляционную базу данных поддерживать какие-то ограничения: например, что не может быть паспортов с одинаковым номером. Тогда база при попытке записать в неё что-то нарушающее просто вернёт ошибку.

Владимир Самойлов, тимлид в продуктовой разработке

Для чего нужны операторы SQL

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

  1. Операторы чтения помогают запросить информацию из базы данных. К таким относится SELECT.
  2. Операторы записи добавляют новую информацию или обновляют старую в базе данных. К ним относятся INSERT, UPDATE.

Допустим, нужно выбрать всех белых котов из таблицы с домашними животными. Тогда запрос в базу данных будет таким:

Теперь нужно добавить в таблицу с животными новую породу собак — корги. Запрос будет таким:

Что такое СУБД и чем они различаются

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

Это отдельная программа, которая где-то запущена, обычно на сервере. Однако вы можете запустить её и на своём компьютере, чтобы попрактиковаться с ней. То есть СУБД — фактически как оператор кол-центра, который работает 24/7. Ему можно позвонить и сказать: «Назови мне все адреса филиалов компании в Санкт-Петербурге». Только вы обращаетесь к СУБД с помощью SQL-запросов.

Владимир Самойлов, тимлид в продуктовой разработке

Выделяют несколько видов СУБД:

  • Универсальные. Хорошо работают с быстрыми командами: внести изменения, добавить информацию, сделать выборку. Однако после достижения определённого объёма данных могут перегружаться и подвисать. Примеры универсальных СУБД: MySQL, MSSQL, PostgreSQL, Oracle.

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

Владимир Самойлов, тимлид в продуктовой разработке

  • Колоночные. Такой тип СУБД особенно подходит для аналитики. Если обычные базы хранят данные построчно, то колоночные — по колонкам. Даже если нет индекса, такая СУБД сможет быстро собрать нужную информацию.

Известная колоночная СУБД — ClickHouse. Это продукт Яндекса, который вырос из базы данных для Яндекс Метрики. Она отлично подходит для аналитики. Однако не очень удобна для скоростного решения задач, а это, например, требуется в банкинге для проведения транзакций. В таких случаях лучше использовать универсальные базы данных.

Владимир Самойлов, тимлид в продуктовой разработке

С чего начать изучение SQL

Ознакомиться с теорией. Например, с вводным учебным пособием по SQL, где есть объяснения базовых понятий, основы работы с базами данных, операторами. Кроме туториала читайте профильные книги: «SQL. Полное руководство», «Введение в системы баз данных», «Программирование баз данных SQL. Типичные ошибки и их устранение».

Отработать на практике. На портале HackerRank есть много готовых задач по SQL. Задачи варьируются от простых до очень сложных. Особенно удобно, что есть решения: можно сверить ответы.

Общаться с сообществом. В Telegram есть сообщество начинающих дата-инженеров. Там обсуждают любые вопросы по SQL — от решения задач до полезных ресурсов для изучения.

Источник

Sql язык программирования кратко

2. Для выбора всех столбцов из таблицы используем символ * .

3. Команда SELECT может иметь необязательный оператор WHERE , позволяющий извлекать записи, соответствующие определенным условиям. Здесь мы выбираем из таблицы всех клиентов по фамилии Рабинович :

SELECT * FROM Clients; WHERE last_name = 'Рабинович'; 

4. Здесь с помощью Select мы хотим получить всех клиентов из России :

SELECT age FROM Clients; WHERE country = 'Россия'; 

5. Также для поиска достаточно часто используются условные операторы. В следующем примере мы извлекаем из таблицы всех клиентов, возраст которых превышает 25 лет:

SELECT * FROM Clients; WHERE age > 25; 

6. А тут мы выбираем всех клиентов, по фамилии Рабинович проживающих в России .

SELECT * FROM Clients; WHERE last_name = 'Рабинович' AND country = 'Россия'; 

7. Здесь SELECT выведет результат, если все условия, разделенные оператором AND , будут истинны. В данном случае команда выберет имена всех клиентов по фамилии Петров из России :

SELECT first_name FROM Clients; WHERE country = 'Россия' AND last_name = 'Петров'; 

По такому же принципу работает оператор OR (или), c той лишь разницей, что в этом случае система будет искать элементы таблицы, совпадающие хотя бы с одной частью условия.

8. Оператор SQL NOT выбирает строку, если заданное условие равно FALSE . Здесь мы выбираем имена и фамилии клиентов, проживающих во всех странах, кроме Латвии .

SELECT first_name, last_name FROM Clients; WHERE NOT country = 'Латвия 

9. Также можно комбинировать несколько операторов AND , OR и NOT в одном запросе. В этом примере мы хотим выбрать клиентов из России или Беларуси , возраст которых меньше 26 .

SELECT * FROM Clients; WHERE (country = 'Россия' OR country = 'Беларусь') AND age < 26; 

10. Оператор SQL SELECT DISTINCT выбирает уникальные, отличные от других, строки из таблицы. Здесь мы выводим неодинаковые страны проживания клиентов.

SELECT DISTINCT country FROM Clients; 

11. А здесь мы выбираем неодинаковые комбинации параметров страна + имя .

SELECT DISTINCT country, first_name FROM Clients; 

12. Если нам нужно подсчитать количество уникальных строк, мы можем использовать функцию COUNT() в совокупности с оператором DISTINCT . Здесь команда SELECT возвращает количество уникальных стран:

SELECT COUNT(DISTINCT country) FROM Clients; 

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

SELECT first_name AS name FROM Clients; 

14. Оператор TOP используется для выбора фиксированного количества строк из базы данных. В примере ниже мы выбираем первые 2 строки из таблицы.

SELECT TOP 2 * FROM Clients; 

15. Ключевое слово LIMIT используется со следующими системами баз данных: MySQL, PostgreSQL, SQLite. Здесь мы ограничиваем вывод имени и возраста клиента двумя первыми строками таблицы.

SELECT first_name, age FROM Clients; LIMIT 2; 

16. Оператор IN используется с предложением WHERE для сопоставления значений в списке. Здесь мы выбираем имена клиентов, проживающих либо в России , либо в Латвии .

SELECT first_name, country FROM Clients; WHERE country IN ('Россия', 'Латвия'); 

17. Оператор IN также можно использовать для выбора строк с определенным значением. Здесь выбираются строки со значением Россия в поле country .

SELECT first_name, country FROM Clients; WHERE 'Россия' in (country); 

18. Ключевое выражение ORDER BY используется для сортировки результирующего набора выводимых данных в порядке возрастания или убывания. В этом примере мы выбираем всех клиентов, а затем сортируем их в порядке возрастания по имени (т. е. по алфавиту).

SELECT * FROM Clients; ORDER BY first_name; 

19. Чтобы явно отсортировать выбранные записи в порядке возрастания, используем ключевое слово ASC . В примере мы выбираем всех клиентов, а затем сортируем их в порядке возрастания по возрасту.

SELECT * FROM Clients; ORDER BY age ASC; 

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

20. Также мы можем использовать ORDER BY при работе с несколькими столбцами. В конструкции ниже мы выбираем все записи, а затем сортируем их по имени. Если имя повторяется более одного раза, SQL сортирует данные по возрасту.

SELECT * FROM Clients; ORDER BY first_name, age; 

21. Можем использовать ORDER BY вместе с ключевым словом WHERE . В примере мы сначала выбираем данные о фамилии и возрасте клиентов не из России . Затем выбранные записи сортируем в порядке убывания по фамилии:

SELECT last_name, age FROM Clients; WHERE NOT country = 'UK' ORDER BY last_name DESC; 

22. Здесь мы группируем строки по параметру country и подсчитываем количество повторяющихся стран с помощью функции COUNT() .

SELECT country, COUNT(*) AS number FROM Clients; GROUP BY country; 

Это далеко не полный список вариантов использования команды SELECT при работе с базами данных. Комбинаций довольно много. Однако, важно понять базовый принцип написания таких запросов. По большому счету, язык запросов не так сложен и основные команды при должной усидчивости можно освоить за неделю. Ну а дальше – практика, а практический опыт накапливается долго. Удачи в обучении.

Материалы по теме

Источник

Оцените статью