Получите бесплатно 4 курса для лёгкого старта работы в IT
Получить курсы бесплатно
ГлавнаяБлогРабота с базами данных SQL для новичков
Работа с базами данных SQL для новичков
34 661
Время чтения: 15 минут

Работа с базами данных SQL для новичков

34 661
Время чтения: 15 минут
Сохранить статью:
Сохранить статью:

В статье рассказывается:

  1. Особенности языка SQL
  2. Понятие реляционной СУБД
  3. Популярные сервисы для работы с SQL
  4. Основные команды SQL
  5. Пройди тест и узнай, какая сфера тебе подходит:
    айти, дизайн или маркетинг.
    Бесплатно от Geekbrains

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

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

Особенности языка SQL

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

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

Особенности языка SQL
Особенности языка SQL

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

Этот специфический язык программирования обладает одним важным свойством — возможностью доступа к реляционным базам данных. Иногда все реляционные БД ошибочно приравниваются к СУБД с применением средств SQL. На самом деле эти понятия следует различать.

Понятие реляционной СУБД

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

Доктор Е. Ф. Кодд в 1970 году опубликовал свою работу, где впервые было дано понятие реляционной модели. В публикации описывался некий математический аппарат, структурирующий данные и оперирующий ими. Основная идея состояла в представлении любых данных в виде абстрактной модели.

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

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

Разберем это на примере. Существует домен «Неделя», в котором содержатся значения всех дней недели («Понедельник», «Вторник», …, «Воскресенье»). Атрибут, имеющий эти значения, называется «ДеньНедели». Тогда соответствие этого атрибута домену автоматически означает, что в одноименном столбце должны содержаться только перечисленные значения. Любые другие символы и группы символов недопустимы.

Узнай, какие ИТ - профессии
входят в ТОП-30 с доходом
от 210 000 ₽/мес
Павел Симонов - исполнительный директор Geekbrains
Павел Симонов
Исполнительный директор Geekbrains
Команда GeekBrains совместно с международными специалистами по развитию карьеры подготовили материалы, которые помогут вам начать путь к профессии мечты.
Подборка содержит только самые востребованные и высокооплачиваемые специальности и направления в IT-сфере. 86% наших учеников с помощью данных материалов определились с карьерной целью на ближайшее будущее!

Скачивайте и используйте уже сегодня:

Павел Симонов - исполнительный директор Geekbrains
Павел Симонов
Исполнительный директор Geekbrains
pdf иконка

Топ-30 самых востребованных и высокооплачиваемых профессий 2023

Поможет разобраться в актуальной ситуации на рынке труда

doc иконка

Подборка 50+ бесплатных нейросетей для упрощения работы и увеличения заработка

Только проверенные нейросети с доступом из России и свободным использованием

pdf иконка

ТОП-100 площадок для поиска работы от GeekBrains

Список проверенных ресурсов реальных вакансий с доходом от 210 000 ₽

pdf 3,7mb
doc 1,7mb
Уже скачали 27844 pdf иконка

Также запрещается ввод сразу нескольких значений. Кроме того, требуется соблюдение условия атомарности. Иначе говоря, значения нельзя объединять друг с другом и разбивать их на более мелкие составляющие, сохранив при этом смысл. В случае присутствия в ячейке атрибута сразу двух значений и более (например, «Вторник» и «Среда») атомарность теряется. Тут можно выделить две части, сохранив смысл, но при дальнейшем разбитии слов на отдельные символы исходный смысл также утратится.

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

Популярные сервисы для работы с SQL

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

  • LiveSQL

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

В целом процесс работы весьма простой. После регистрации необходимо войти под созданной учетной записью и выбрать пункт «SQL WorkSheet» в боковом меню слева. Откроется рабочее окно, куда, собственно, и нужно вводить SQL-запросы. Для выполнения запросов следует нажать кнопку «Run» над полем ввода текста.

  • SQL Fiddle

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

При входе на SQL Fiddle в первую очередь нужно выбрать подходящую для работы БД (например, Oracle). Далее создается схема из таблиц путем ввода текста специального ddl-скрипта. После нажатия на кнопку «Build Schema» можно приступать к выполнению SQL-запросов. Для их ввода используется панель «Query Panel», расположенная справа. Выполнение запроса осуществляется нажатием на «Run Sql». Результаты работы будут видны под рабочими панелями.

Основные команды SQL

Помимо трех основных команд (CREATE, UPDATE и DELETE), используются и несколько других. Перечислим их ниже с примерами для MySQL (поэтому везде после операторов стоит точка с запятой).

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

Основные команды SQL
Основные команды SQL

Далее необходимо скачать файлы DLL.sql и InsertStatements.sql, а затем установить на компьютер СУБД MySQL. После чего в командной строке нужно ввести mysql -u root -p для входа в консоль MySQL.

Вводим пароль и в консоли выполняем ряд команд для создания БД с названием «study»:

CREATE DATABASE study;

USE study;

SOURCE <path_of_DLL.sql_file>;

SOURCE <path_of_InsertStatements.sql_file>;

Здесь перечислим основные команды, которые пригодятся нам в работе.

  • SHOW DATABASES — просмотр доступных БД
  • CREATE DATABASE — создание новой БД
  • USE <database_name> — выбор БД для дальнейшей работы
  • SOURCE <file.sql> — выполнение одной или нескольких команд, содержащихся в указанном файле.
  • DROP DATABASE — удаление всей БД
  • SHOW TABLES — вывод всех доступных таблиц в активной БД
  • CREATE TABLE — создание новой таблицы в активной БД. Пример:

CREATE TABLE <table_name1> (

<column_name1><column_type1>,

<column_name2><column_type2>,

<column_name3><column_type3>

PRIMARY KEY(<column_name1>),

FOREIGN KEY(<column_name2>) REFERENCES <table_name2>(<column_name2>)

);

В коде также приведены команды, вносящие определенные ограничения для конкретных столбцов для создаваемой таблицы:

  • Запрещается заполнение ячеек значениями NULL.
  • Конструкция PRIMARY KEY(column_name1, column_name2, …) определяет первичный ключ.
  • Конструкция FOREIGN KEY(column_namex1, …, column_namexn) REFERENCES table_name(column_namex1, …, column_namexn) определяет внешний ключ.

Дарим скидку от 60%
на обучение «Разработчик» до 28 апреля
Уже через 9 месяцев сможете устроиться на работу с доходом от 150 000 рублей
Забронировать скидку

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

Покажем это на очередном примере:

CREATE TABLE instructor (

ID CHAR(5),

name VARCHAR(20) NOT NULL,

dept_name VARCHAR(20),

salary NUMERIC(8,2),

PRIMARY KEY (ID),

FOREIGN KEY (dept_name) REFERENCES department(dept_name)

);

  • DESCRIBE <table_name> — просмотр различных параметров столбцов рассматриваемой таблицы (допустимый тип значений, наличие флага «ключ» и т. п.)
  • INSERT INTO <table_name> — добавление в указанную таблицу новых данных
Только до 29.04
Скачай подборку материалов, чтобы гарантированно найти работу в IT за 14 дней
Список документов:
ТОП-100 площадок для поиска работы от GeekBrains
20 профессий 2023 года, с доходом от 150 000 рублей
Чек-лист «Как успешно пройти собеседование»
Чтобы получить файл, укажите e-mail:
Введите e-mail, чтобы получить доступ к документам
Подтвердите, что вы не робот,
указав номер телефона:
Введите телефон, чтобы получить доступ к документам
Уже скачали 52300

Пример:

INSERT INTO <table_name> (<column_name1>, <column_name2>, <column_name3>, …)

VALUES (<value1>, <value2>, <value3>, …);

Указание имен столбцов здесь не является обязательным.

INSERT INTO <table_name>

VALUES (<value1>, <value2>, <value3>, …);

  • UPDATE <table_name> — обновление данных в указанной таблице.

UPDATE <table_name>

SET <col_name1> = <value1>, <col_name2> = <value2>, …

WHERE <condition>;

  • DELETE FROM <table_name> — удаление данных из указанной таблицы.
  • DROP TABLE — удаление всей таблицы
Основные команды SQL
Основные команды SQL

Ниже будут приведены команды для непосредственной обработки данных.

  • SELECT — вывод данных из указанной таблицы

Для получения данных из конкретных столбцов:

SELECT <column_name1>, <column_name2>, …

FROM <table_name>;

Для получения всех данных из таблицы:

SELECT * FROM <table_name>;

  • SELECTDISTINCT — вывод неповторяющихся значений из указанной таблицы

Для получения данных из конкретных столбцов:

SELECT DISTINCT <column_name1>, <column_name2>, …

FROM <table_name>;

  • WHERE — условный оператор

SELECT <column_name1>, <column_name2>, …

FROM <table_name>

WHERE <condition>;

В качестве условия могут быть результаты сравнения чисел, текста или логических операций (AND, OR, NOT)

  • GROUP BY — группировка результатов для вывода, зачастую с использованием агрегатных функций ( COUNT, MAX, MIN, SUM, AVG)

SELECT <column_name1>, <column_name2>, …

FROM <table_name>

GROUP BY <column_namex>;

  • HAVING — аналог ключевого слова WHERE специально для работы с агрегатными функциями

SELECT <column_name1>, <column_name2>, …

FROM <table_name>

GROUP BY <column_namex>

HAVING <condition>

  • ORDER BY — сортировка результатов запроса

Значения сортируются по возрастанию, если явно не указан оператор сортировки ASC или DESC.

SELECT <column_name1>, <column_name2>, …

FROM <table_name>

ORDER BY <column_name1>, <column_name2>, … ASC|DESC;

  • BETWEEN — оператор задания диапазона, из которого выбираются значения

Допускается задавать числа, текст и даты.

SELECT <column_name1>, <column_name2>, …

FROM <table_name>

WHERE <column_namex> BETWEEN <value1> AND <value2>;

  • LIKE — дополнительный оператор условия WHERE, задающий шаблон поиска похожего значения

Здесь можно указывать условия для выбора одного символа (_) либо для выбора любого количества символов (%).

SELECT <column_name1>, <column_name2>, …

FROM <table_name>

WHERE <column_namex> LIKE <pattern>;

  • IN — дополнительный оператор условия WHERE для указания нескольких значений

SELECT <column_name1>, <column_name2>, …

FROM <table_name>

WHERE <column_namen> IN (<value1>, <value2>, …);

  • JOIN — связывание нескольких таблиц через общие атрибуты

В SQL существует несколько способов такого объединения.

SELECT <column_name1>, <column_name2>, …

FROM <table_name1>

JOIN <table_name2>

ON <table_name1.column_namex> = <table2.column_namex>;

  • CREATE VIEW — создание виртуальной таблицы для отображения самой актуальной информации из БД

Своими столбцами и строками такая таблица напоминает обычную.

Основные команды SQL
Основные команды SQL

CREATE VIEW <view_name> AS

SELECT <column_name1>, <column_name2>, …

FROM <table_name>

WHERE <condition>;

Удалить виртуальную таблицу можно аналогичной командой:

DROP VIEW <view_name>;

Откройте для себя захватывающий мир IT! Обучайтесь со скидкой до 61% и получайте современную профессию с гарантией трудоустройства. Первый месяц – бесплатно. Выбирайте программу прямо сейчас и станьте востребованным специалистом.
  • Агрегатные функции

Выведем эти команды в отдельную группу. Эти функции предназначены для получения какого-то общего результата после операций с данными.

  • MAX(column_name) — возврат наибольшего значения из указанного столбца;
  • MIN(column_name) — возврат наименьшего значения из указанного столбца;
  • AVG(column_name) — возврат среднего значения указанного столбца;
  • SUM(column_name) — возврат суммы значений в указанном столбце;
  • COUNT(column_name) — возврат количества строк.
  • Вложенные запросы

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

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

Любой программный код при работе с БД использует SQL-запросы, даже если это явно не видно. Например, вместо открытого запроса может использоваться специальная библиотека, превращающая исходный код на другом языке в соответствующий SQL-код и затем выполняющая его. В той же Java подобных библиотек существует достаточно много. Подводя итоги, можно сказать, что работа с базами данных SQL для новичков в особенности очень важна, поскольку эти знания потом пригодятся везде.

Оцените статью
Рейтинг: 3.73
( голосов 11 )
Поделиться статьей
Добавить комментарий

Сортировать:
По дате публикации
По рейтингу
До конца акции осталось
0 дней 00:00:00
Дарим скидку 64% на обучение «Разработчик»
  • Получите новую профессию с гарантией трудоустройства
  • Начните учиться бесплатно, 3 месяца обучения в подарок
Забронировать скидку на обучение
Забрать подарок

Получите подробную стратегию для новичков на 2023 год, как с нуля выйти на доход 200 000 ₽ за 7 месяцев

Подарки от Geekbrains из закрытой базы:
Осталось 17 мест

Поздравляем!
Вы выиграли 4 курса по IT-профессиям.
Дождитесь звонка нашего менеджера для уточнения деталей

Иван Степанин
Иван Степанин печатает ...