Sql

Основы sql уроки: Урок 1. Первые SQL запросы

Содержание

Бесплатные видео уроки по SQL, базам данных, верстке (HTML и CSS), программированию (PHP, JavaScript) и созданию сайтов

Бесплатные видео уроки по SQL, базам данных, верстке шаблонов и макетов (HTML и CSS), программированию (PHP, JavaScript) и созданию сайтов

На этой странице вы найдете мои бесплатные видео уроки по программированию и созданию сайтов. Здесь есть и видео курс по SQL и реляционным базам данных и уроки по верстке сайтов и макетов (HTML, CSS, Photoshop) и даже по программированию на языках PHP и JavaScript.

Все эти видео уроки находятся в бесплатном доступе на моем YouTube-канале. Проект ведется полностью на добровольных началах и я никогда не откажусь от вашей помощи! Поэтому, если вы хотите, чтобы видео выходили чаще, лучше и больше, то можете мне помочь один из нескольких способов, указанных ниже, это нетрудно, но очень мотивирует и помогает:

  1. Оставьте ссылку на мой сайт, канал, группу в ВК, отдельное видео у себя на странице в соц. сетях или на своем сайту.
  2. Вступите в группу в ВК: https://vk.com/zametkinapolyah.
  3. Подпишитесь на мой YouTube-канал: https://www.youtube.com/user/zametkinapolyahru.
  4. И самое эффективное: после просмотра видео не забудьте написать отзыв в комментариях на YouTube и поставить лайк видео, опять же, на YouTube.

Если вы считаете, что я вам помог и хотите меня отблагодарить материально, то можете воспользоваться реквизитами, указанными ниже. Все вырученные с доната деньги пойдут на улучшение качества видео, например, я возьму хороший USB микрофон, это будет как приятное дополнение к Full HD.

WMR: R288272666982
WMZ: Z293550531456
Яндекс.Деньги: 410011531129223

  • SQL и базы данных
  • HTTP и Apache
  • Самые основы (HTML)
  • Верстка макетов и шаблонов (CSS)
  • Сервер баз данных MySQL
  • Базовый JavaScript

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

Для начала я хотел бы дать небольшое предисловие к серии данных видео уроков. Вообще, в своих видео я стараюсь избегать громкого слова «курс», курсы читаются в высших учебных заведениях профессиональными преподавателями. Но, инфо-бизнесмены настолько раскрутили слово курс, настолько часто люди ищут курсы, что приходится это слово использовать. На мой взгляд, будет правильнее называть то, что я сделал серией видео уроков или плейлистом по SQL и базам данных, в котором вы пройдете путь от новичка или начинающего разработчика баз данных до человека, способного самостоятельно работать с базами данных, администрировать их и управлять ими.
В качестве СУБД в видео уроках по SQL и основам реляционных баз данных была выбрана библиотека SQLite из-за своей портабельности, простоты в установке и настройке. Начинающим я бы не советовал привязывать свое обучение к конкретному серверу баз данных или СУБД, поскольку диалекты у каждой из них свои, но разнятся они не очень уж и сильно.
Лучше сконцентрируйтесь на принципах работы языка SQL и разберитесь с тем как всё устроено в реляционных базах данных, тогда у вас не возникнет проблем со сменой программы, которая позволяет работать с базами данных, будь-то: Oracle, MySQL, MS SQL Server, Access или выбранный SQLite. Также замечу что библиотека SQLite3 была выбрана еще и по той причине, что она довольно-таки точно соответствует стандарту SQL-92.
Эти видео уроки созданы с целью обучения языку SQL и изучению принципа работы реляционных баз данных, а конкретные инструменты и программы лучше всего изучать по технической документации и на практике. Кстати, о практике, не забывайте повторять примеры из видео, а лучше придумывайте свои собственные примеры, так вы быстрее начнете понимать SQL и базы данных и научитесь писать свой код.

Выбираем СУБД и говорим о программах для работы и создания баз данных

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

  1. Выбираем СУБД и говорим про программы для работы и администрирования баз данных (по этой ссылке доступны все видео уроки из темы).
  2. SQLite — программа для создания базы данных при помощи языка SQL.
  3. Установка приложения SQLite для работы с базами данных. Настраиваем доступ к базе данных.
  4. Функции и возможности базы данных под управлением SQLite и где про них узнать?
  5. Система управления базами данных SQLite или где используется эта база данных.
  6. Беспалтные графические программы для работы с базами данных (менеджеры баз данных).
  7. Управление и администрирование баз данных при помощи DBeaver.

Пробуем писать первые SQL запросы и знакомимся с базами данных SQLite

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

 

Базы данных для начинающих: изучаем основы теории реляционных баз данных (всё очень просто и с примерами)

Эти видео уроки последовательны и я старался их максимально адаптировать для новичков в мире IT и начинающих разработчиков баз данных. Поэтому прежде чем переходить к написанию SQL кода, мы разберемся с основами теории реляционных баз данных. На самом деле, в основе языка SQL лежит теория реляционных баз данных и реляционная алгебра, да и еще много чего из математики. Поэтому нам нужно познакомиться с фундаментальными понятиями, а уже затем начинать писать код и практиковаться в написание SQL запросов. Новичкам посоветую не пугаться, здесь мы будем разбираться с реляционными базами данных не с точки зрения математики, а с точки зрения любого нормального человека: на объектах из жизни, аналогиях и примерах.

 

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

Четвертая тема из курса по языку структурированных запросов SQL и основам реляционных баз данных знакомит нас с тем как связан SQL и базы данных и какие у них есть различия. Хоть язык SQL и любая реляционная СУБД основана на теории реляционных баз данных, но у них есть отличия, эта тема как раз и знакомит нас этими отличиями.

 

Важность типов данных в SQL и базах данных SQLite

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

 

SQL команды определения данных (DDL команды).

Создание и удаление базы данных, таблиц и других объектов.

С этих видео уроков мы начинаем плотное изучение языка SQL и работы базы данных SQLite. И начнем мы, конечно, с SQL команд и запросов, которые позволяют нам создавать и удалять базы данных, таблицы и другие объекты. Такие SQL команды получили название DDL или команды определения данных. В общем, из этой темы видео курса по SQL вы узнаете как работают SQL команды CREATE, DROP и ALTER в отношении различных объектов базы данных (TABLE, VIEW, TRIGGER, INDEX).

 

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

В видео уроках из данной темы мы познакомимся со следующий группой SQL команд — DML или команды манипуляции данными. Команды из этой группы позволяют нам выполнять следующие SQL запросы: наполнять таблицу данными и вставлять строки (за это отвечает SQL команда INSERT), выводить данные на экран или делать выборку данных из базы данных (это делается при помощи SQL команды SELECT), удалять строки из таблицы можно при помощи команды DELETE, а еще можно модифицировать или изменять значения в таблицах базы данных, эта операция реализована при помощи SQL команды UPDATE. Я не случайно использую словосочетание SQL команды, поскольку иногда люди называют INSERT, SELECT, UPDATE и DELETE SQL операторами, что на самом деле неверно, про SQL операторы мы рассказывали в четвертой теме.

 

Работа (создание, редактирование, наполнение и удаление) с таблицами базы данных при помощи языка SQL

К сожалению, здесь немного сбивается нумерация видео уроков по SQL и базам данных. Дело всё в том, что изначально в этом блоге появилась серия обучающих статей, на основе которых был снят данный видео курс. Но, я не учел разницу между видео и текстом: не все, что удобно объяснять видео, можно также легко и просто показать в тексте, поэтому чтобы нумерация видео совпадала с нумерацией статей, мною было принято решение пропустить 8 и 9 темы из публикаций в блоге, а затем наверстать упущенное в последующих темах видео. Тема номер десять посвящена подробному разговору о работе с таблицами базы данных при помощи языка SQL. Здесь мы более детально познакомимся с командами манипуляции данными и как они применяются в отношении таблиц базы данных. Начнем мы с того, что подробно и во всех деталях рассмотрим процесс создания таблицы в базе данных при помощи SQL команды CREATE TABLE. Далее мы поговорим об удалении таблиц из базы данных при помощи SQL команды DROP TABLE. Затем поговорим про редактирование и изменение структуры таблицы в базе данных при помощи команды ALTER TABLE. Еще мы разберемся с тем, как добавить данные (как вставить строки) в таблицу базы данных при помощи команды INSERT. Также мы рассмотрим команду UPDATE, которая позволяет нам изменять данные в таблицах базы данных путем модификации ячеек. И в завершении этой темы мы поговорим про удаление данных из таблиц базы данных путем удаления строк, делается это при помощи команды DELETE. В этой теме не рассмотрена выборка данных из базы данных, так как команде SELECT мы уделим целую тему.

 

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

Одиннадцатая тема видео уроков по SQL и основам реляционных баз данных очень важна для тех, кто хочет научиться проектировать базы данных. В третьей теме этого курса видео уроков мы разбирались с теорией реляционных баз данных и говорили про нормализацию, связи между таблицами, ключи и ключевые атрибуты, но это была голая теория. В этой теме мы закрепим теорию на практике и посмотрим как в SQL реализовать связи между таблицами (один ко многим и многие ко многим, заодно здесь мы увидим как реализуется нормализация на практике — в языке SQL) при помощи внешних ключей (FOREIGN KEY). Как создать для таблицы первичный ключ и вообще зачем нужен столбец PRIMARY KEY. Еще мы поговорим про ограничения уровня таблицы и ограничения уровня столбца, и посмотрим как эти правила помогают проектировать безопасные и защищенные базы данных

 

Учимся выводить данные на экран и делать выборку данных из базы данных.


Всё про SQL запрос SELECT в базах данных SQLite.

Двенадцатая тема курса по SQL и базам данных будет посвящена SQL запросу SELECT. Здесь мы научимся делать выборку данных из базы данных и выводить данные на экран, в общем, расскажем всё про SQL команду SELECT. Эту тему условно можно разделить на две части. Первая часть для начинающего SQL разработчика и в ней мы поговорим о том как делать простую выборку данных из базы данных, разберемся с клаузулами (уточняющими фразами), которые позволяют нам фильтровать данные при выборке (WHERE), группировать данные выборки (GROUP BY), накладывать дополнительные условия на выборку данных после группировки (HAVING). Также в первой части будут рассмотрены такие вопросы как сортировка строк (ORDER BY), ограничения количества строк в итоговой таблице (LIMIT и OFFSET), будет рассмотрено использование простых SQL операторов вместе с командой SELECT: поиск по шаблону LIKE, операторы условия AND и OR, оператор между BETWEEN, а еще мы посмотрим как исключить дублирующиеся строки при помощи ключевого слова DISTINCT.

 

Вторая часть уже несколько более специфичная и сложная, здесь мы будем говорить про SQL подзапросы SELECT. В своих описаниях я не пишу SQL с нуля до профи или базы данных от начинающего до профессионала, но могу сказать, если вы разберетесь с темами из последующих видео, то новичком в SQL вас уже не назовешь, вы поймете как работает команда SELECT, а значит поймете как работает SQL.
Вот то, о чем мы будем говорить: подзапросы SELECT с использованием оператора IN, SQL подзапросы и связанные подзапросы EXISTS, объединение результатов двух и более запросов SELECT (UNION и UNION ALL), сравнение результатов двух запросов (INTERSECT и EXCEPT), объединение двух таблиц в SQL (запросы SELECT JOIN), внутреннее объединение (INNER JOIN), внешнее объединение (SELECT OUTER JOIN), перекрестное объединение SQL таблиц (CROSS JOIN), естественное объединение таблиц (NATURAL JOIN) и объединение трех и более таблиц.

 

Представления в базах данных SQLite. Что такое хранимые запросы и зачем нужны VIEW в SQL?

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

 

Транзакции и все что с ними связано в SQL и базах данных: блокировки, ACID, параллельные транзакции, ROLLBACK, COMMIT, RELEASE

Мы продолжаем прокачивать себя как администратора баз данных и углубляем свои знания в языке SQL. Настало время поговорить о транзакциях в SQL и реляционных базах данных. Так же в этой части курса видео уроков мы разберемся с другими вопросами, которые так или иначе касаются транзакций. Начнем мы, конечно, с того, что следует понимать под словом транзакция в языке SQL и реляционных базах данных. Далее мы узнаем о такой аббревиатуре как ACID или требованиях, предъявляемых к транзакциям. Еще мы узнаем о проблемах, которые могут возникнуть при выполнении транзакций и посмотрим как изолировать транзакции Затем мы перейдем к практике и поговорим о том как начать транзакцию и о ее завершении: откате (ROLLBACK) и подтверждение (COMMIT), разберемся с вложенными транзакциями (RELEASE и SAVEPOINT), посмотрим как в базах данных SQLite реализована блокировка транзакций и в завершении мы увидим, что транзакции очень неплохо ускоряют выполнение SQL команды INSERT.

 

Триггеры в SQL и все что с ними связано в базах данных SQLite

Следующим шагом в нашем видео курсе по по базам данных и языку SQL будет изучение триггеров. Триггеры в SQL позволяют выполнять некоторые действия в базе данных автоматически, как реакцию на тот или иной запрос. Естественно, что мы начнем с простого и разберемся с тем, что такое триггеры зачем они нужны в SQL и базах данных. Далее мы разделим триггеры на несколько видов и поговорим о каждом виде триггеров в отдельности: триггеры BEFORE и AFTER, INSERT и DELETE триггеры, триггеры модификации или UPDATE триггеры. А в завершении мы поговорим про функцию RAIS, INSTEAD OF триггеры и рассмотрим особенности триггеров в базах данных SQLite.

 

Транзакции и все что с ними связано в SQL и базах данных: блокировки, ACID, параллельные транзакции, ROLLBACK, COMMIT, RELEASE

Мы продолжаем прокачивать себя как администратора баз данных и углубляем свои знания в языке SQL. Настало время поговорить о транзакциях в SQL и реляционных базах данных. Так же в этой части курса видео уроков мы разберемся с другими вопросами, которые так или иначе касаются транзакций. Начнем мы, конечно, с того, что следует понимать под словом транзакция в языке SQL и реляционных базах данных. Далее мы узнаем о такой аббревиатуре как ACID или требованиях, предъявляемых к транзакциям. Еще мы узнаем о проблемах, которые могут возникнуть при выполнении транзакций и посмотрим как изолировать транзакции Затем мы перейдем к практике и поговорим о том как начать транзакцию и о ее завершении: откате (ROLLBACK) и подтверждение (COMMIT), разберемся с вложенными транзакциями (RELEASE и SAVEPOINT), посмотрим как в базах данных SQLite реализована блокировка транзакций и в завершении мы увидим, что транзакции очень неплохо ускоряют выполнение SQL команды INSERT.

 

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

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

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

Семнадцатая тема наших видео уроков по SQL и реляционным базам данных будет посвящена скромным возможностям администрирования баз данных SQLite. Дело все в том, что SQLite встраиваемая СУБД и она не предусматривает взаимодействия клиент-сервер, соответственно, административных возможностей не так уж и много, но они есть. Сразу заметим, что SQL команд для управления пользователями в базах данных SQLite нет, далее мы поговорим о том, как создать базу данных в SQLite и как ее удалить. Еще мы посмотрим как управлять несколькими базами данных одновременно: как подключить базу данных (ATTACH DATABASE) и как ее отключить (DETACH DATABASE). Еще мы рассмотрим как отформатировать базу данных при помощи SQL команды VACUUM, сделаем бэкап базы данных или как говорят резервную копию базы данных и поговорим про импорт базы данных SQLite.

Встроенные SQL функции в базах данных SQLite

Мы близки к завершению и это предпоследняя тема из курса, в котором мы изучаем работу базы данных и языка запросов SQL. Здесь мы рассмотрим встроенные SQL функции, которые есть в базах данных SQLite. Конечно же, встроенные функции мы разобъем на группы по их назначению: математические функции в языке SQL, функции для работы со строками в базах данных, SQL функции для обработки NULL значений и проверки типа данных, SQL функции для работы со значениями даты и времени, функции агрегации в базах данных.

 

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

Практика по написанию SQL запросов и проектированию баз данных.

Серия данных уроков насчитывает 150 не очень продолжительных видео (от 3 до 10 минут), изучив их вы можете сказать: я знаю язык запросов SQL и умею работать с реляционными базами данных. Завершающая тема курса содержит разрозненные по тематике уроки, а также здесь вы найдете рекомендации о том, как изучить язык SQL на профессиональном уровне, что нужно читать и изучать (книги, документация, учебники, материалы), чтобы стать профессиональным архитектором баз данных.

 

 

Видео уроки по протоколу HTTP и веб-серверу Apache появятся очень скоро

Видео уроки по HTML скоро появятся

Еще чуть-чуть и видео по CSS верстке шаблонов и макетов будет здесь!

Немного осталось до появления ссылок на видео уроки по MySQL

Совсем скоро будет вам и JavaScript

MS SQL Server и T-SQL

Последнее обновление: 04.02.2021

SQL Server является одной из наиболее популярных систем управления базами данных (СУБД) в мире.

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

SQL Server был создан компанией Microsoft. Первая версия вышла в 1987 году. А текущей версией является версия 2019, которая вышла в 2019 году и которая будет использоваться в текущем руководстве.

SQL Server долгое время был исключительно системой управления базами данных для Windows, однако начиная с версии 16 эта система доступна и на Linux.

SQL Server характеризуется такими особенностями как:

  • Производительность. SQL Server работает очень быстро.

  • Надежность и безопасность. SQL Server предоставляет шифрование данных.

  • Простота. С данной СУБД относительно легко работать и вести администрирование.

Центральным аспектом в MS SQL Server, как и в любой СУБД, является база данных. База данных представляет хранилище данных, организованных определенным способом. Нередко физически база данных представляет файл на жестком диске, хотя такое соответствие необязательно.

Для хранения и администрирования баз данных применяются системы управления базами данных (database management system) или СУБД (DBMS). И как раз MS SQL Server является одной из такой СУБД.

Для организации баз данных MS SQL Server использует реляционную модель. Эта модель баз данных была разработана еще в 1970 году Эдгаром Коддом. А на сегодняшний день она фактически является стандартом для организации баз данных.

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

Для идентификации каждой строки в рамках таблицы применяется первичный ключ (primary key). В качестве первичного ключа может выступать один или несколько столбцов. Используя первичный ключ, мы можем ссылаться на определенную строку в таблице. Соответственно две строки не могут иметь один и тот же первичный ключ.

Через ключи одна таблица может быть связана с другой, то есть между двумя таблицами могут быть организованы связи. А сама таблица может быть представлена в виде отношения («relation»).

Для взаимодействия с базой данных применяется язык SQL (Structured Query Language). Клиент (например, внешняя программа) отправляет запрос на языке SQL посредством специального API. СУБД должным образом интерпретирует и выполняет запрос, а затем посылает клиенту результат выполнения.

Изначально язык SQL был разработан в компании IBM для системы баз данных, которая называлась System/R. При этом сам язык назывался SEQUEL (Structured English Query Language). Хотя в итоге ни база данных, ни сам язык не были впоследствии официально опубликованы, по традиции сам термин SQL нередко произносят как «сиквел».

В 1979 году компания Relational Software Inc. разработала первую систему управления баз данных, которая называлась Oracle и которая использовала язык SQL. В связи с успехом данного продукта компания была переименована в Oracle.

Впоследствии стали появляться другие системы баз данных, которые использовали SQL. В итоге в 1989 году Американский Национальный Институт Стандартов (ANSI) кодифицировал язык и опубликовал его первый стандарт. После этого стандарт периодически обновлялся и дополнялся. Последнее его обновление состоялось в 2011 году. Но несмотря на наличие стандарта нередко производители СУБД используют свои собственные реализации языка SQL, которые немного отличаются друг от друга.

Выделяются две разновидности языка SQL: PL-SQL и T-SQL. PL-SQL используется в таких СУБД как Oracle и MySQL. T-SQL (Transact-SQL) применяется в SQL Server. Собственно поэтому в рамках текущего руководства будет рассматриваться именно T-SQL.

В зависимости от задачи, которую выполняет команда T-SQL, он может принадлежать к одному из следующих типов:

  • DDL (Data Definition Language / Язык определения данных). К этому типу относятся различные команды, которые создают базу данных, таблицы, индексы, хранимые процедуры и т.д. В общем определяют данные.

    В частности, к этому типу мы можем отнести следующие команды:

    • CREATE: создает объекты базы данных (саму базу даных, таблицы, индексы и т. д.)

    • ALTER: изменяет объекты базы данных

    • DROP: удаляет объекты базы данных

    • TRUNCATE: удаляет все данные из таблиц

  • DML (Data Manipulation Language / Язык манипуляции данными). К этому типу относят команды на выбору данных, их обновление, добавление, удаление — в общем все те команды, с помощью которыми мы можем управлять данными.

    К этому типу относятся следующие команды:

    • SELECT: извлекает данные из БД

    • UPDATE: обновляет данные

    • INSERT: добавляет новые данные

    • DELETE: удаляет данные

  • DCL (Data Control Language / Язык управления доступа к данным). К этому типу относят команды, которые управляют правами по доступу к данным. В частности, это следующие команды:

НазадСодержаниеВперед

Основы SQL – Self-Learning – Авторские видеокурсы и книги по IT для начинающих

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

47 занятий

65 задач

156 вопросов в тестах

Поддержка ментора

Экзамен

Сертификат