Тарифы Услуги Сим-карты

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

Мартин Грабер «SQL для простых смертных» Лори, 2014 год, 382 стр. (11,2 мб. pdf)

Книгу можно охарактеризовать, как руководство для начинающих. Structured Query Language — SQL, язык программирования для создания и управления реляционными базами данных (прикладная, логическая модель построения совокупности (баз) данных). Книга рассчитана на самый простой (низкий) уровень подготовки в IT-сфере, то есть достаточно знаний в объеме школьной программы. Но это не значит, что материал руководства является только введением в этот язык программирования — нет, SQL описан довольно глубоко (утверждение автора).

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

Введение в SQL представлено в первых семи главах, которые обязательны к изучению — если вы используете руководство, как SQL для начинающих. В последующих семи (с 8 по 14) главах рассматриваются более сложные примеры: комбинированные запросы, запросы сразу к нескольким таблицам. Другие возможности SQL: создание и редактирование таблиц, ввод и установка значений, открытие и закрытие доступа к созданным таблицам - изложены в главах с 15 по 23. В заключении о структуре баз данных и о возможности использования SQL в программах, разработанных на других языках. В приложениях приводится руководство по командам SQL и ответы на задания. Книга идеально подойдет для начинающих изучать SQL.
ISBN: 978-5-85582-301-1

Глава 1. Введение в реляционные базы данных 1
Что такое реляционная база данных? 3
Пример базы данных 5
Итоги 7

Глава 2. Введение в SQL 9
Как работает SQL? 10
Различные типы данных 12
Итоги 15

Глава 3. Использование SQL для выборки данных из таблиц 17
Формирование запроса 18
Определение выборки - предложение WHERE 24
Итоги 26

Глава 4. Использование реляционных и булевых операторов для создания более сложных предикатов 29
Реляционные операторы 30
Булевы операторы 32
Итоги 37

Глава 5. Использование специальных операторов в «условиях» 39
Оператор IN 40
Оператор BETWEEN 41
Оператор LIKE 44
Оператор IS NULL 47
Итоги 49

Глава 6. Суммирование данных с помощью функции агрегирования 51
Что такое функции агрегирования? 52
Итоги 61

Глава 7. Форматирование результатов запросов 63
Строки и выражения 64
Упорядочение выходных полей 67
Итоги 71

Глава 8. Использование множества таблиц в одном запросе 75
Соединение таблиц 76
Итоги 81

Глава 9. Операция соединения, операнды которой представлены одной таблицей 83
Как выполняется операция соединения двух копий одной таблицы 84
Итоги 90

Глава 10. Вложение запросов 93
Как выполняются подзапросы? 94
Итоги 105

Глава 11. Связанные подзапросы 107
Как формировать связанные подзапросы 108
Итоги 115

Глава 12. Использование оператора EXISTS 117
Как работает оператор EXISTS? 118
Использование EXISTS со связанными подзапросами 119
Итоги 124

Глава 13. Использование операторов ANY, ALL и SOME 127
Специальный оператор ANY или SOME 128
Специальный оператор ALL 135
Функционирование ANY. ALL и EXISTS при потере данных или
с неизвестными данными 139
Итоги 143

Глава 14. Использование предложения UNION 145
Объединение множества запросов в один 146
Использование UNION с ORDER BY 151
Итоги 157

Глава 15. Ввод, удаление и изменение значений нолей 159
Команды обновления DML 160
Ввод значений 160
Исключение строк из таблицы 162
Изменение значений полей 163
Итоги 165

Глава 16. Использование подзапросов с командами обновления 167
Использование подзапросов в INSERT 168
Использование подзапросов с DELETE 170
Использование подзапросов с UPDATE 174
Итоги 177

Глава 17. Создание таблиц 178
Команда CREATE TABLE 179
Индексы 181
Изменение таблицы, которая уже была создана 182
Исключение таблицы 183
Итоги 185

Глава 18. Ограничения на множество допустимых значений данных 186
Ограничения в таблицах 195
Итоги 197

Глава 19. Поддержка целостности данных 198
Внешние и родительские ключи 199
Ограничения FOREIGN KEY (внешнего ключа) 204
Что происходит при выполнении команды обновления 209
Итоги 211

Глава 20. Введение в представления 212
Что такое представления? 212
Команда CREATE VIEW 221
Итоги 223

Глава 21. Изменение значений с помощью представлений 224
Обновление представлений 228
Выбор значений, размещенных в представлениях 232
Итоги 235

Глава 22. Определение прав доступа к данным 236
Пользователи 237
Передача привилегий 241
Лишение привилегий 245
Другие типы привилегий 247
Итоги 249

Глава 23. Глобальные аспекты SQL 250
Переименование таблиц 252
Каким образом база данных размещается для пользователя? 253
Когда изменения становятся постоянными? 255
Как SQL работает одновременно с множеством пользователей Итоги 259

Глава 24. Как поддерживается порядок в базе данных SQL 261
Системный каталог 262

От автора: вас обозвали чайником? Ну, это дело поправимое! Каждый самовар когда-то был чайником! Или каждый профессионал был когда-то самоваром? Нет, опять что-то не то! В общем, MySQL для начинающих.

Зачем чайникам MySQL

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

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

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

Основные понятия

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

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

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

SQL – язык структурированных запросов, с помощью которого разработчик «общается» с ядром (сервером) СУБД. Как и любой программный язык, SQL имеет свой синтаксис, набор команд и операторов, поддерживаемые типы данных.

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

Подбор правильного инструмента

Изрядно «порывшись» во всем ассортименте оболочек MySQL для начинающих, понял, что таких просто не существует. Все программные продукты для администрирования СУБД требуют наличия уже установленного сервера БД. В общем, решил в очередной раз не изобретать «самокат», и остановил свой выбор на отечественном пакете Denwer. Скачать его можно на официальном сайте .

В его состав уже входят все составляющие СУБД, позволяющие новичку сразу после несложной и понятной установки приступить к практическому знакомству с MySQL. Кроме этого Denwer включает в себя еще несколько необходимых для начинающего разработчика инструментов: локальный сервер, PHP.

Первые шаги

Не буду описывать процесс инсталляции «джентльменского» набора, поскольку там все происходит автоматически. После запуска инсталяхи успевай только нужные клавиши жать. Как раз то, что нужно в варианте MySQL для чайников .

Когда закончится процесс установки, запускайте локальный сервер, подождите пару секунд. После этого наберите в адресной строке браузера localhost.

На странице «Ура, заработало!» перейдите по одной из указанных на снимке ссылок. После чего вы попадете в phpMyAdmin – оболочку для администрирования баз данных.

Перейдя по ссылке http://downloads.mysql.com/docs/world.sql.zip, вы скачаете пример тестовой БД с официального сайта MySQL. Опять перейдите в phpMyAdmin, в основном меню сверху зайдите во вкладку «Импорт». В окне «Импорт на текущий» в первом разделе («Импортируемый файл») установите значение «Обзор вашего компьютера».

В окне проводника выберите архив со скачанным примером БД. Внизу основного окна не забудьте нажать «Ок».

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

Если все прошло хорошо, то вверху появится сообщение программы, что импорт выполнен успешно, а слева в списке БД — еще одна (word).

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

Нажмите на название БД MySQL для начинающих. Под ней отобразится список таблиц, из которых она состоит. Кликните по одной из них. Затем перейдите в пункт верхнего меню «Структура». В основной рабочей зоне отобразится структура таблицы: имена всех столбцов, типы данных и все атрибуты.

Structured Query Language (структурированный язык запросов) или SQL - это декларативный язык программирования для использования в квази-реляционных баз данных. Многие из оригинальных черт SQL были взяты для кортежных исчислений, но последние расширения SQL включают все больше реляционной алгебры.
SQL изначально создан IBM , но многие производители разработали собственные диалекты. Он была принят в качестве стандарта американским Национальным институтом стандартов (ANSI) в 1986 и ISO в 1987 . В стандарте языка программирования SQL, ANSI заявил, что официальный произношение SQL является "эс кью эль". Тем не менее, многие специалисты базы данных употребляли "сленговое" произношение «Сиквель», что отражает первоначальное название языка, Sequel, которое было изменено позже из-за возникшего конфликта торговых марок и наименований у компании IBM. Программирование для начинающих.
Язык программирования SQL был пересмотрен в 1992 , и эта версия известна как SQL-92 в. Потом было вновь пересмотрено 1999 , чтобы стать SQL: 1999 (AKA SQL3). Программирование для чайников. SQL 1999 поддерживает объекты, которые ранее не поддерживается и в других версиях, но только в конце 2001 года лишь несколько систем управления базами данных поддерживали SQL реализации: 1999.
SQL, хотя определяется как ANSI и ISO, имеет множество вариаций и расширений, большинство из которых имеют собственные характеристики, такие как реализация корпорации Oracle «PL / SQL» или реализация Sybase и Microsoft под названием «Transact-SQL», что может запутать знакрмящегося с основами программирования. Также не редкость для коммерческих реализаций опустить поддержку основных особенностей стандарта, такие типы данных как дата и время, предпочитая какой-то их собственный вариант. Как результат, в отличие от ANSI C или ANSI Fortran которые обычно можно портирована с платформы на платформу без серьезных структурных изменений, запросы языка программирования SQL редко могут быть перенесены между разными системами баз данных без существенных модификаций. Большинство людей в области баз данных считают, что это отсутствие совместимости является намеренным, с тем чтобы обеспечить каждого разработчика собственной системой управления базами данных и привязать покупателя к конкретной базе данных.
Как следует из названия, язык программирования SQL предназначен для конкретных, ограниченных целей - запросов данных, содержащихся в реляционной базе данных. Как таковой, он представляет собой набор инструкций языка программирования для создания выборок данных, а не процедурный язык, такой как C или BASIC , которые предназначены для решения гораздо более широкого круга проблем. Расширения языка, таких как «PL / SQL» предназначены для решения этого ограничения, добавив процедурные элементы для SQL при сохранении преимуществ SQL. Другой подход заключается в том, что позволяется в зопросы SQL встраивать команды процедурного языка программирования и взаимодействовать с базой данных. Например, Oracle и другие поддерживают язык Java в базе данных, в то время как PostgreSQL позволяет писать функции на Perl, Tcl, или С.
Один анекдот про SQL: "SQL не является ни структурированным, ни языком." Суть шутки состоит в том, что SQL не является языком Тьюринга. .

Select * from T
C1 C2
1 a
2 b
C1 C2
1 a
2 b
Select C1 from T
C1
1
2
C1 C2
1 a
2 b
Select * from T where C1=1
C1 C2
1 a

Учитывая таблицу T, запрос Select * from T выведет на экран все элементы всех строк таблицы.
Из той же таблицы, запрос Select C1 from T выведет на экран элементы из столбца C1 всех строк таблицы.
Из той же таблицы, запрос Select * from T where C1=1 выведет на экран все элементы всех строк, где значение колонки С1 равно "1".

SQL ключевые слова

SQL слова делятся на ряд групп.

Первая - это Data Manipulation Language или DML (язык управления данными). DML является подмножеством языка, используемого для запроса к базам данных, добавления, обновления и удаления данных.

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

Три другие ключевых слова, можно сказать, что попадают в группу DML:

  • BEGIN WORK (или START TRANSACTION, в зависимости от диалекта SQL) могут быть использованы, чтобы отметить начало транзакции базы данных, которые либо выполнятся все полностью или вообще не выполнятся.
  • COMMIT устанавливает, что все изменения данных в после совершения операций сохраняются.
  • ROLLBACK определяет, что все изменения данных после последней фиксации или отката должны быть уничтожены, до того момента, который был зафиксирован в БД как «откат».

COMMIT и ROLLBACK применяются в таких областях, как контроль транзакций и блокировки. Обе инструкции завершают все текущие транзакции (наборы операций над БД) и снимают все блокировки на изменение данных в таблицах. Присутствие или отсутствие BEGIN WORK или аналогичного заявления зависит от конкретной реализации SQL.

Вторая группа ключевых слов относится к группе Data Definition Language или DDL (язык определения данных) . DDL позволяет пользователю определять новые таблицы и связанные с ними элементы. Большинство коммерческих баз данных SQL имеют собственные расширения в DDL, которые позволяют осуществлять контроль над нестандартныыми, но обычно жизненно важными элементами конкретной системы.
Основные пункты DDL являются команды создавать и удалять.

  • CREATE определяет объекты (например, таблицы), которые будут созданы в базе данных.
  • DROP определяет, какие существующие объекты в базе данных будут удалены, как правило, безвозвратно.
  • Некоторые системы баз данных также поддерживают команду ALTER, которая позволяет пользователю изменять существующий объект по-разному - например, так можно произвести добавление столбцов в существующую таблицу.

Третьей группой ключевых слов SQL является Data Control Language или DCL(язык контроля данных) . DCL отвечает за права доступа к данным и позволяет пользователю контролировать, кто имеет доступ, чтобы просматривать или манипулировать данными в базе данных. Здесь два основных ключевых слова:

  • GRANT - разрешает пользователю выполнять операции
  • REVOKE - удаляет или ограничивает возможность пользователю выполнять операции.

Системы баз данных с использованием SQL

  • InterBase
  • MySQL
  • Oracle
  • PostgreSQL
  • SQL Server

Как стать профессионалом по разработке сайтов и начать зарабатывать? Недорогие видео курсы с ознакомительным введением.

1 голос

Приветствую вас на моем блоге сайт. Сегодня поговорим про sql запросы для начинающих. У некоторых вебмастеров может возникнуть вопрос. Зачем изучать sql? Разве нельзя обойтись ?

Оказывается, что для создания профессионального интернет-проекта этого будет недостаточно. Sql используется чтобы работать с БД и создания приложений для Вордпресс. Рассмотрим, как использовать запросы подробнее.

Что это такое

Sql - язык структурированных запросов. Создан для определения типа данных, предоставления доступа к ним и обработке информации за короткие промежутки времени. Он описывает компоненты или какие-то результаты, которые вы хотите видеть на интернет-проекте.

Если говорить по-простому, то этот язык программирования позволяет добавлять, изменять, искать и отображать информацию в БД. Популярность mysql связана с тем, что он используется для создания динамических интернет-проектов, основа которых составляет база данных. Поэтому для разработки функционального блога вам необходимо выучить этот язык.

Что может делать

Язык sql позволяет:

  • создавать таблицы;
  • изменять получать и хранить разные данные;
  • объединять информацию в блоки;
  • защитить данные;
  • создавать запросы в access.

Важно! Разобравшись с sql вы сможете писать приложения для Вордпресс любой сложности.

Какая структура

БД состоит из таблиц, которые можно представить в виде Эксель файла.

У нее имеется имя, колонки и ряд с какой-то информацией. Создавать подобные таблицы можно при помощи sql запросов.

Что нужно знать


Основные моменты при изучении Sql

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

Create database ‘bazaname’

В кавычках пишем имя БД на латинице. Старайтесь придумать для нее понятное имя. Не создавайте базу типа «111», «www» и тому подобное.

После создания БД устанавливаем :

SET NAMES ‘utf-8’

Это нужно чтобы контент на сайте правильно отображаться.

Теперь создаем таблицу:

CREATE TABLE ‘bazaname’ . ‘table’ (

id INT(8) NOT NULL AUTO_INCREMENT PRIMARY KEY,

log VARCHAR(10),

pass VARCHAR(10),

date DATE

Во второй строке мы прописали три атрибута. Посмотрим, что они означают:

  • Атрибут NOT NULL означает, что ячейка не будет пустой (поле обязательное для заполнения);
  • Значение AUTO_INCREMENT — автозаполнение;
  • PRIMARY KEY — первичный ключ.

Как добавить информацию

Чтобы заполнить поля созданной таблицы значениями, используется оператор INSERT. Пишем такие строки кода:

INSERT INTO ‘table’

(login , pass , date) VALUES

(‘Vasa’, ‘87654321’, ‘2017-06-21 18:38:44’);

В скобках указываем название столбцов, а в следующей - значения.

Важно! Соблюдайте последовательность названий и значений столбцов.

Как обновить информацию

Для этого используется команда UPDATE. Посмотрим, как изменить пароль для конкретного пользователя. Пишем такие строки кода:

UPDATE ‘table’ SET pass = ‘12345678’ WHERE id = ‘1’

Теперь поменяйте пароль ‘12345678’. Изменения происходят в строке с «id»=1. Если не писать команду WHERE - поменяются все строки, а не конкретная.

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

Как удалить запись

Если вы написали что-то не так, исправьте это при помощи команды DELETE. Работает так же, как и UPDATE. Пишем такой код:

DELETE FROM ‘table’ WHERE id = ‘1’

Выборка информации

Для извлечения значений из БД используется команда SELECT. Пишем такой код:

SELECT * FROM ‘table’ WHERE id = ‘1’

В данном примере в таблице выбираем все имеющиеся поля. Это происходит если прописать в команде звездочку «*». Если нужно выбрать какое-то выборочное значение пишем так:

SELECT log , pass FROM table WHERE id = ‘1’

Необходимо отметить, что умения работать с базами данных будет недостаточно. Для создания профессионального интернет-проекта придется научиться добавлять на страницы данные из БД. Для этого ознакомьтесь с языком веб-программирования php. В этом вам поможет классный курс Михаила Русакова .


Удаление таблицы

Происходит при помощи запроса DROP. Для этого напишем такие строки:

DROP TABLE table;

Вывод записи из таблицы по определенному условию

Рассмотрим такой код:

SELECT id, countri, city FROM table WHERE people>150000000

Он отобразит записи стран где населения больше ста пятидесяти миллионов.

Объединение

Связать вместе несколько таблиц возможно используя Join. Как это работает посмотрите подробнее в этом видео:

PHP и MySQL

Еще раз хочу подчеркнуть, что запросы при создании интернет-проекта - это обычное дело. Чтобы их использовать в php-документах выполните такой алгоритм действий:

  • Соединяемся с БД при помощи команды mysql_connect();
  • Используя mysql_select_db() выбираем нужную БД;
  • Обрабатываем запрос при помощи mysql_fetch_array();
  • Закрываем соединение командой mysql_close().

Важно! Работать с БД не сложно. Главное - правильно написать запрос.

Начинающие вебмастера подумают. А что почитать по этой теме? Хотелось бы порекомендовать книгу Мартина Грабера «SQL для простых смертных ». Она написана так, что новичкам все будет понятно. Используйте ее в качестве настольной книги.

Но это теория. Как же обстоит дело на практике? В действительности интернет-проект нужно не только создать, но еще и вывести в ТОП Гугла и Яндекса. В этом вас поможет видеокурс «Создание и раскрутка сайта ».


Видео инструкция

Остались еще вопросы? Посмотрите подробнее онлайн видео.

Вывод

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