Введение в SQL
SQL (Structured Query Language) — язык структурированных запросов.
SQL (Structured Query Language, язык структурированных запросов) — это специальный язык, используемый для определения данных, доступа к данным и их обработки. Язык SQL относится к непроцедурным (nonprocedural) языкам — он лишь описывает нужные компоненты (например, таблицы) и желаемые результаты, не указывая, как именно эти результаты должны быть получены. Каждая реализация SQL является надстройкой над процессором базы данных (database engine), который интерпретирует операторы SQL и определяет порядок обращения к структурам БД для корректного и эффективного формирования желаемого результата.
Стандарт SQL определяется ANSI — American National Standarts Institute (Американским Национальным Институтом Стандартов) и в настоящее время принят ISO — International Standarts Organization (Международной Организацией по Стандартизации).
SQL — непроцедурный язык: серверу базы данных сообщается, что нужно сделать и каким образом. Для обработки запроса сервер базы данных транслирует команды SQL во внутренние процедуры. Благодаря тому, что SQL скрывает детали обработки данных, его легко использовать.
Что можно делать с помощью SQL?
- SQL позволяет создавать таблицы данных.
- SQL позволяет хранить данные.
- SQL позволяет получать данные.
- SQL позволяет изменять данные.
- SQL позволяет изменять структуру таблиц.
- SQL позволяет объединять данные.
- SQL позволяет выполнять вычисления.
- SQL позволяет обеспечивать защиту данных.
Команды SQL
Команды SQL разделяются на следующие группы:
- Команды языка определения данных — DDL (Data Definition Language). Эти SQL команды можно использовать для создания, изменения и удаления различных объектов базы данных.
- Команды языка управления данными — DCL (Data Control Language). С помощью этих SQL команд можно управлять доступом пользователей к базе данных и использовать конкретные данные (таблицы, представления и т.д.).
- Команды языка управления транзакциями — TCL (Тгаnsасtiоn Соntrol Language). Эти SQL команды позволяют определить исход транзакции.
- Команды языка манипулирования данными — DML (Data Manipulation Language). Эти SQL команды позволяют пользователю перемещать данные в базу данных и из нее.
Основные ключевые слова, используемые в статье «Введение в SQL»:
sql, введение в sql, язык структурированных запросов, непроцедурный язык, structured query language, что такое sql
Язык SQL
SQL – это язык программирования декларативного типа. В отличие от привычных нам процедурных языков, в которых есть условия, циклы и функции, в декларативных языках подобных алгоритмических конструкций почти нет. Декларативные выражения представляют собой скорее запросы, описание того, что хочет получить человек.
В случае SQL человек формулирует запрос на извлечение или модификацию данных, а алгоритм его выполнения почти полностью ложится на плечи конкретной СУБД. Хотя если один и тот же результат может быть получен с помощью разных запросов, программисту лучше выбрать тот, который создаст меньшую нагрузку на СУБД. То есть программисту желательно иметь представление о том, как работает СУБД.
Запрос производится к таблицам базы данных, результатом обработки запроса также является таблица, которую при желании можно сохранить.
Язык SQL предназначен для создания и изменения реляционных баз данных, а также извлечения из них данных. Другими словами, SQL – это инструмент, с помощью которого человек управляет базой данных. При этом ключевыми операциями являются создание таблиц, добавление записей в таблицы, изменение и удаление записей, выборка записей из таблиц, изменение структуры таблиц.
Однако в процессе развития языка SQL в нем появились новые средства. Стало возможно описывать и хранить такие объекты как индексы, представления, триггеры и процедуры. То есть в современных диалектах SQL есть элементы процедурных языков.
Язык SQL и СУБД обычно не используются сами по себе, а выполняют функцию промежуточного встроенного компонента, обеспечивающего связь между прикладным ПО или программой, которую пишет программист, и базой данных. В языках программирования существуют свои библиотеки, обеспечивающие API для различных СУБД.
Сам язык SQL состоит из операторов, инструкций и вычисляемых функций. Зарезервированные слова, которыми обычно выступают операторы, принято писать заглавными буквами. Однако написание их не прописными, а строчными буквами к ошибке не приводит.
Операторы делятся на:
- операторы определения данных (Data Definition Language, DDL)
- CREATE создаёт объект БД (базу данных, таблицу, представление, пользователя и т. д.)
- ALTER изменяет объект
- DROP удаляет объект
- операторы манипуляции данными (Data Manipulation Language, DML)
- SELECT выбирает данные, удовлетворяющие заданным условиям
- INSERT добавляет новые данные
- UPDATE изменяет существующие данные
- DELETE удаляет данные
- операторы определения доступа к данным (Data Control Language, DCL)
- GRANT предоставляет пользователю или группе разрешения на определённые операции с объектом
- REVOKE отзывает ранее выданные разрешения
- DENY задаёт запрет, имеющий приоритет над разрешением
- операторы управления транзакциями (Transaction Control Language, TCL)
- COMMIT применяет транзакцию
- ROLLBACK откатывает все изменения, сделанные в контексте текущей транзакции
- SAVEPOINT делит транзакцию на более мелкие участки
Стандарты SQL позволяют обеспечить переносимость баз данных между разными СУБД. На самом деле это весьма условно. Разные СУБД используют свои диалекты SQL. Например, SQLite не понимает ряд типов данных.
В разных СУБД есть свои расширения для придания SQL «процедурности». Это хранимые процедуры (stored procedures) и процедурные языки-надстройки. Так в Oracle Database используется PL/SQL, в PostgreSQL – PL/pgSQL.
Несмотря на наличие диалектов, запросы, содержащие только DDL и DML, обычно переносимы между разными СУБД.
X Скрыть Наверх
Введение в реляционные базы данных. SQLite
Как работает язык SQL
Мы медленно продвигаемся в вопросах баз данных. Полезная штука для тех, кто пишет софт для веба.
Чтобы мы с вами были на одной волне, вот краткое содержание предыдущих частей. Оно покажет, где мы находимся и как мы сюда добрались:
- В мире много разных данных: текст, фото, видео, информация с датчиков и служебные сообщения от разных устройств.
- Чтобы в них разбираться, данные нужно как-то организовать.
- База данных — способ организовать информацию так, чтобы было удобно её обрабатывать и находить то, что нужно.
- Базу данных можно вести в текстовом файлике или даже на листочке, но это будет неудобно, если информации станет много.
- Ещё один плюс баз данных — с ними может работать сразу несколько пользователей, и информация при этом не перепутается.
- Базы данных сейчас используются везде, где хранится много информации: в больницах, муниципальных и государственных сервисах, на промышленных предприятиях, в социальных сетях и интернет-магазинах. Даже на домашнем компьютере есть служебная база данных, в которой хранится вся информация о ваших файлах.
- MySQL — одна из технологий организации базы данных, где всё основано на таблицах и связях между ними.
- Чтобы управлять такой базой и работать с данными, используют специальный язык SQL.
Теперь, когда у нас есть все эти знания, можем поговорить про SQL — язык запросов, который управляет базой и данными.
Эта статья — не справочник по SQL, а мини-экскурсия по основным командам и способу работы. Мы сейчас просто посмотрим, как оно внутри работает, как управляется и что для этого нужно. А когда вам действительно понадобится SQL по работе или в учёбе, то вы уже будете знать, как и куда развивать свои знания.
SQL — это язык запросов (и немножко программирования)
Чтобы не было путаницы, сразу поясним: SQL — это не совсем язык программирования. Правильно сказать, что это язык запросов к базе данных. Название так и расшифровывается: «язык структурированных запросов» (Structured Query Language). Это значит, что каждый запрос к базе данных формируется по какой-то структуре, а сам язык задаёт правила, как именно сделать такой запрос.
Назвать SQL полноценным языком программирования можно, но писать на нём привычные нам программы сложно. Гораздо проще использовать его как способ получить данные из базы, а потом обработать их с помощью более гибких и удобных языков: Python, JavaScript, C++ или другого подобного языка.
Как запустить терминал базы данных
Если вы ещё не ставили себе MySQL — зайдите на страницу с вариантами установок и выберите нужную. После установки и запуска откройте командную строку и напишите там такое:
Эта строка состоит из:
- mysql — команды для запуска терминала управлением базой данных;
- -u — говорит команде о том, что сейчас будет имя пользователя, под которым он будет работать с базой данных. Это нужно для того, чтобы база знала, кто и когда какие изменения внёс.
- root — имя пользователя. Но root — это особое имя, оно означает суперпользователя, у которого есть вообще все права и доступ ко всему.
После запуска у командной строки немного поменяется внешний вид и приглашение изменится на mysql> — это значит, что база данных готова принимать и обрабатывать ваши команды:
Онлайн-компиляторы SQL-запросов
Если вы не хотите пока ставить базу себе на компьютер, но всё равно хотите попрактиковаться, используйте любой онлайн-компилятор SQL, например mycompiler.io.
Скорее всего, такой бесплатный сервис не будет хранить ваши данные вечно, но если нужно потренироваться и при этом ничего не сломать в рабочей базе — самое то.
Создаём базу данных
Чтобы заполнять базу данных чем угодно, её сначала нужно создать:
CREATE DATABASE имя_базы;
Мы специально выделяем большими буквами SQL-команды, но сейчас базы понимают команды и из маленьких букв (а раньше не могли). Поэтому пишите как вам удобно.
Эта команда создаст базу с выбранным именем, чтобы дальше можно было с ней работать. Переименовать базу данных нельзя — только удалить и создать заново, имейте это в виду.
Чтобы посмотреть, сколько баз данных у вас есть, наберите команду
Когда определитесь, с какой базой будете работать, наберите эту команду — она покажет системе, что всё дальше будет относиться к ней:
Создаём таблицу
Таблица — основной компонент в MySQL. Они состоят из полей и записей, которые относятся к своим полям. Чтобы было проще понять, что такое поля и записи, можно представить так:
- таблица — это ящик, внутри которого хранятся одинаковые карточки.
- когда мы создаём таблицу, нам нужно придумать, какие поля мы будем заполнять в каждой карточке.
- внутри таблицы все поля у всех карточке одинаковые, отличаются только записи внутри них.
Допустим, вы ведёте ежедневник в виде карточек. Тогда у вас будут всего два поля: дата и события за день. Дата будет записываться в формате «год — месяц — число», а события — в виде простого текста. Получается, что для записи каждого дня вы берёте пустую карточку, заполняете в ней нужные поля и кладёте карточку в ящик (таблицу в базе данных).
Зная это, создадим таблицу, чтобы вести в ней учёт входящих обращений в сервисный центр:
CREATE TABLE support_log (
id INT AUTO_INCREMENT PRIMARY KEY,
city_id INT,
day DATE,
reason TEXT,
);
Теперь разберём команду подробнее:
- CREATE TABLE имя_таблицы — создаёт таблицу с указанным именем внутри текущей базы данных. Таблицы переименовывать можно, поэтому тут можно всё поправить, если что-то будет не так.
- id INT AUTO_INCREMENT PRIMARY KEY — создаёт поле с названием id, внутри него будут только числа, а ещё значение в этом поле само увеличивается на единицу в каждой новой записи. PRIMARY KEY означает, что это поле служит для связи с другими таблицами внутри базы данных.
- city_id INT — создаёт поле city_id для чисел.
- day DATE — создаёт поле для даты с именем day.
- reason TEXT — создаёт поле reason, в который можно положить текст почти любой длины.
Такие поля нам нужны, чтобы при каждом обращении в сервисный центр мы могли записать:
- код города, откуда пришло обращение (city_id);
- дату обращения (day);
- и саму причину обращения в сервис (reason).
Добавляем запись
У нас есть таблица, и теперь мы можем что-то записать в свою базу данных:
INSERT INTO support_log SET city_id = 32, day = ‘2021-09-11’, reason = ‘Не работает пылесос, только жужжит и всё’;
Вот что здесь произошло:
- команда INSERT INTO support_log сказала базе данных, что сейчас будем как-то менять записи в таблице support_log;
- ключ SET означает, что мы добавляем новую запись в эту таблицу;
- city_id = 32 — указываем код города, откуда было обращение;
- day = ‘2021-09-11’ — ставим дату обращения;
- reason = ‘Не работает пылесос, только жужжит и всё’ — пишем причину.
Так, команда за командой, и наполняется база данных. Конечно, сейчас уже никто вручную не заполняет базу с нуля, но когда нужно поправить какую-то запись или поменять настройки базы, то разработчики вспоминают SQL и пишут все команды руками.
Что дальше
Мы только начали разбираться с базами данных и SQL-командами — впереди у нас запросы и хитрые фильтры. Они помогут сразу достать нужную информацию и покажут в удобном для нас виде.
А вообще MySQL — важная часть в бэкенде и в ИТ в целом. На базах данных держатся все интернет-магазины, сервисы, соцсети, магазины и аптеки. Если интересно, как это всё работает изнутри, — приходите в Практикум.
Язык SQL как средство создания баз данных Текст научной статьи по специальности «Компьютерные и информационные науки»
Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Старушенкова Екатерина Евгеньевна, Шиманова Елена Николаевна, Радаев Кирилл Дмитриевич
В данной статье описаны принципы использования с современными системами управления базами данных , а так же подробно рассмотрены основные операторы языка запросов SQL , для каждого из которых приведены примеры запросов .This article describes the principles of use with modern database management systems, as well as describes in detail the basic operators of the SQL query language, for each of which examples of queries are given.
i Надоели баннеры? Вы всегда можете отключить рекламу.
Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Старушенкова Екатерина Евгеньевна, Шиманова Елена Николаевна, Радаев Кирилл Дмитриевич
Особенности табличных выражений sql и их соответствие с концепциями реляционной модели данных
Обучение студентов среднего профессионального образования основам создания баз данных в mysql
SQL-инъекции в INSERT-запросах
Создание клиент-серверных приложений
Применение средств шифрования и маскирования данных в Microsoft SQL Server для обеспечения информационной безопасности на примере базы данных торговой организации
i Не можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.
Текст научной работы на тему «Язык SQL как средство создания баз данных»
Старушенкова Екатерина Евгеньевна, магистрант 2 года обучения Физико-математического факультета МГПИ им. М. Е. Евсевъева, преподаватель
факультета довузовской подготовки и среднего профессионального образования Мордовский Государственный Университет им. Н. П. Огарева,
Республика Мордовия, г. Саранск Шиманова Елена Николаевна, студентка 2 курса специальности «Программирование в компьютерных системах» ФДП и СПО Мордовский Государственный Университет им. Н. П. Огарева, Республика Мордовия,
Радаев Кирилл Дмитриевич, студент 3 курса специальности «Программирование в компьютерных системах» ФДП и СПО Мордовский Государственный Университет им. Н. П. Огарева, Республика Мордовия,
ЯЗЫК SQL КАК СРЕДСТВО СОЗДАНИЯ БАЗ ДАННЫХ
Аннотация: В данной статье описаны принципы использования с современными системами управления базами данных, а так же подробно рассмотрены основные операторы языка запросов SQL, для каждого из которых приведены примеры запросов.
Ключевые слова: база данных, язык запросов SQL, система управлениями базами данных, запрос.
Annotation: This article describes the principles of use with modern database management systems, as well as describes in detail the basic operators of the SQL query language, for each of which examples of queries are given.
Keywords: database, SQL query language, database management system,
В современном Мире в веке информационных технологий невозможно представить себе специалиста, который не владеет технологиями обработки информации. В независимости от ситуации и ориентации в информационных потоках специалист любого профиля должен уметь обрабатывать информацию при помощи персональных компьютеров, которые в связи с развитием информационного общества потерпели большие изменения.
Сейчас появилось достаточно большое количество программных продуктов для обработки информации, но встал вопрос в возможностях работы с ними. В том числе к таким программным продуктам и относятся системы управления базами данных, которые работают с реляционными базами данных на языке программирования SQL[3]. Язык SQL является новым универсальным языком запросов, при помощи которого специалист может быстро и легко работать с большими объёмами информации. Сегодня базы данных достаточно широко вошли в жизнь человека и стали частью большинства современных информационных систем, которые функционируют на основе их накопления и обработки. Именно поэтому, появляется необходимость познакомить учащихся с языком запросов SQL, и сформировать у них набор знаний, умений и навыков работы с ним.
Язык SQL представляет собой язык запросов, используемый для управления или манипуляции данными в базах данных реляционного типа. В настоящее время язык имеет большую популярность, так как во всех IT-компаниях работают с базами данных и работающему человеку необходимо знать основы языка [1]. Язык SQL используется в современных наиболее популярных системах управления базами данных, начиная от самого простого бесплатного MS SQL Server, заканчивая такими наиболее сложными СУБД как Oracle, MySQL, DB2.
Все операторы языка SQL можно разделить на несколько типов:
— операторы определения объектов базы данных;
— операторы манипулирования данными;
— операторы защиты и управления данными;
— операторы параметров сеанса;
— операторы информации о базе данных.
Рассмотрим их подробнее. К операторам определения объектов базы данных относятся все операторы, отвечающие за создание или удаление самой базы данных, а также таблиц, находящихся в ней [3].
Для того, чтобы создать базу данных нам необходим оператор CREATE SCHEMA. А для создания или удаления таблиц операторы CREATE TABLE и DROP TABLE [2].
Приведем пример. Предположим, что у нас имеется база данных, в которой необходимо создать таблицу «Факультет», которая состоит из 2 столбцов. Первый столбец имеет название «Код специальности» и ограничен всего 6 символами, а 2 столбец «Название специальности», но ограничен 40 символами. При чем каждый из этих двух столбцов не может содержать в себе нулевое значение. Получим следующий код:
create table facultet(kod_spec char(6) not null,
name_cpec varchar(40) not null)
Затем, в таблице «Факультет» мы устанавливаем первичный ключ. Им будет являться столбец «Код специальности»:
alter table facultet add constraint PK_kod_spec primary
Удаляем всю таблицу «Факультет»:
DROP TABLE facultet
К операторам манипулирования данных относятся ключевые слова, при помощи, которых происходит управление значениями в базе данных [1].
Наиболее распространенным оператором при работе с данными является оператор SELECT [1].
Оператор SELECT служит для выборки данных из базы данных. Приведем пример. Нам необходимо показать все данные из таблицы «Факультет» [3]. Под звездочкой в запросе имеются ввиду все данные, хранящиеся в таблице facultet:
SELECT * FROM facultet Как показывает практика, чаще всего в базах данных происходит выборка данных из определенного столбца, тогда получим следующее [4].
Например, нам необходимо произвести выборку в таблице facultet из колонки kod_spec:
SELECT kod_spec FROM facultet Очень часто в выборке необходимо отфильтровать данные по установленному условию, для этого в языке SQL существует свой оператор WHERE.
Приведем пример. Нам необходимо провести выборку из таблицы facultet, из столбца kod_spec и показать только те специальности, которые относятся к среднему профессиональному образованию, то есть начинаются с цифр 09 [2]:
SELECT kod_spec FROM facultet WHERE kod_spec = 09.* Заметим, что в языке SQL операторы сравнения идентичны всем языкам программирования.
Еще одной особенностью языка SQL является отсутствие чувствительности к регистрам, то есть системам управления базами данных не важно с какой буквы (заглавной или прописной) написано то или иное слово или оператор, это значительно упрощает работу пользователям [5].
Еще одним из важных операторов манипулирования данными является оператор INSERT. При помощи INSERT мы можем вставлять строки в уже заполненные таблицы базы данных. При чем, как одну, так и несколько [1].
Например, необходимо в таблицу facultet после столбца name_cpec вставить столбец col_chel, в котором будет содержаться количество обучающихся студентов:
INSERT INTO facultet (name_cpec, col_chel)
Еще один оператор UPDATE имеет свойство обновлять или заменять в таблицах уже имеющуюся информацию. Например, необходимо в таблице facultet в столбце kod_spec заменить значения «09.02.03» на «09.02.07»: UPDATE facultet SET kod_spec = «09.02.03» WHERE facultet. kod_spec = 09.02.07
Оператор DELETE удаляет все данные из таблицы по указанным условиям, либо все строки и столбцы[19].
Например. Нам необходимо удалить из таблицы facultet в базе данных в столбце kod_spec все значения равные «09.02.03»:
DELETE FROM facultet WHERE facultet. kod_spec = 09.02.03
Либо необходимо удалить из таблицы facultet строки, которые имеют в столбце kod_spec значение не равные 09.02.03:
DELETE FROM facultet WHERE facultet. kod_spec <> 09.02.03
1. Диго С. М. Базы данных: проектирование и использование / С. М. Диго. — М.: Финансы и статистика, 2005. — 153 с.
2. Колисниченко Д. В. PHP и MySQL. Разработка Web-приложений / Д. В. Колисниченко. — СПб: ХВ-Петербург, 2015. — 593 с. 3.
3. Конноли Т. Базы данных: проектирование, реализация, сопровождение / Т. Конноли, К. Бегг, А. Страчан. — М.: Вильямс, 2003. — 327 с.
4.Голицына, О. Л. Базы данных: Учеб. пособие для студ. Учреждений сред. проф. образов. / О. Л. Голицына, Н. В. Максимов, И. И. Попов — М.: ФОРУМ: ИНФРА-М, 2003. — 351с.
5. Федорова, Г. Н. Разработка и администрирование баз данных: учеб. пособие для использования в учеб. процессе образоват. учреждений, реализ. прогр. СПО/ Г. Н. Федорова. — 2-е изд., стер. — М.: Академия, 2017. — 313 с.
6. Фуфаев, Э. В. Базы данных: учеб. пособие для студ. образоват. учреждений сред. проф. образования / Фуфаев, Эдуард Валентинович,Фуфаев, Дмитрий Эдуардович. — 3-е изд., стер. — М.: Академия, 2007. — 320 с.
