Как настроить смартфоны и ПК. Информационный портал
  • Главная
  • Ошибки
  • Основы языка запросов SQL – оператор SELECT. SQL команды управления транзакциями. "Пристрелка" к нужным данным

Основы языка запросов SQL – оператор SELECT. SQL команды управления транзакциями. "Пристрелка" к нужным данным

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

Мой видео курс представляет собой набор видео скринкастов по теме SQL и базы данных, в качестве СУБД использовалась библиотека SQLite. Скринкасты разбиты на темы, темы в свою очередь разбиты на части, каждая часть — это отдельный видео урок продолжительностью 5-15 минут, в котором мы будем разбираться с теорией баз данных или SQL командами и запросами. Но не буду тянуть кота за хвост и сразу дам вам ссылку плейлист в Ютуб: SQL и реляционные базы данных . Видео в плейлисте расположены в том порядке, в котором я бы рекомендовал их смотреть. И не забудьте подписаться на мой канал, будет еще интереснее и больше!

Для кого будут полезны видео уроки из курса SQL и реляционные базы данных для начинающих?

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

Отмечу, что эти видео уроки будут полезны не только новичкам SQL, но и более продвинутым пользователям, которые имеют определенный набор знаний по SQL и базам данных, но этот набор знаний не систематизирован и не позволяет перейти к самостоятельной работе. Хоть начинаем мы и с простых вещей, которые я стараюсь рассказать доступно и внятно, но заканчиваем мы сложным SQL запросами, хотя кого я пугаю? :)) Сложных SQL запросов не бывает, бывают объемные запросы и запросы, потребляющие много ресурсов.

Как построены эти видео уроки?

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

Основы SQLite и особенности данной СУБД?

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

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

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

В этой теме мы попробуем написать несколько SQL запросов, познакомимся с синтаксисом языка SQL, реализованным в SQLite (в принципе синтаксис SQL в разных СУБД очень и очень похож) и знакомимся с полезными системными командами, которые есть в SQLite, которые помогут нам работать с базами данных..html

Теория реляционных баз данных

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

Язык запросов SQL

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

Типы данных в SQLite

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

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

Здесь мы начнем уже плотно работать с языком SQL и познакомимся с SQL команды опрделения данных, которые позволяют работать с объектами базы данных: создавать их, удалять и модифицировать. К объектам базы данных можно отнести: саму базу данных, таблицу в базе данных, VIEW, индексы, триггеры и др. Видео уроки данной темы посвящены синтаксису SQL команд CREATE, DROP, ALTER и их использованию..html

SQL команды манипуляции данными (DML команды)

Эта тема видео уроков познакомит вас с синтаксисом (правилами написания) SQL команд манипуляции данными (DML команд), к этим командам относятся: INSERT, DELETE, UPDATE, SELECT. Соответственно, команды позволяют: вставлять и добавлять строки в таблицы, удалять строки из таблиц, модифицировать данные в таблицах и делать выборку данных..html

SQL команды управления транзакциями

Данный раздел видео курса SQL и реляционные базы данных посвящен правилам написания команд, которые позволяют управлять транзакциями, спойлер открывать не буду, лишь скажу, что эти команды по-умному называются TCL, а также стоит добавить, что более детально мы будем разбираться с транзакциями в одной из последних тем..html

Работаем с таблицами базы данных

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

Обеспечение целостности данных

Эта тема моих видео уроков SQL хорошо демонстрирует применение теории реляционных баз данных на практике в языке SQL. Здесь мы научимся задавать различные ограничения, для того чтобы обезопасить свои данные! Также мы рассмотрим использование ключей или ключевых атрибутов на практике и научимся делать различные виды связей между таблицами..html

SQL триггеры на примере базы данных SQLite

Индексы SQL таблиц на примере баз данных SQLite

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

Здравствуйте! А где видео??? Где видео уроки то??? Весь сайт перерыл, все ссылки, всю карту сайта...

Please enable JavaScript to view the

Представляю Вашему вниманию вольный перевод статьи SQL for Beginners

Все больше современных веб-приложений взаимодействуют с базами данных, обычно используя язык SQL . К счастью для нас, этот язык довольно прост в изучении. В этой статье мы начнем изучение основ SQL-запросов и их взаимодействие с базой данных MySQL .

Что вам нужно

SQL (структурированный язык запросов) - язык разработанный для взаимодействия с реляционными системами управления базами данных (СУБД), таких как MySQL, Oracle, Sqlite и другими. Для выполнения SQL-запросов из этой статьи, я полагаю, что у вас установлен MySQL . Так же рекомендую использовать phpMyAdmin как визуальное средство отображения для MySQL .

Следующие приложения позволят легко установить MySQL и phpMyAdmin на ваш компьютер:

  • WAMP для Windows
  • MAMP для Mac

Приступим к выполнению запросов в командной строке. WAMP уже содержит ее в консоли MySQL . Для MAMP , возможно потребуется прочитать вот это.

CREATE DATABASE: Создание базы данных

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

Первым делом откройте консоль MySQL и залогинтесь. Для WAMP , по-умолчанию, используется пустой пароль. Для MAMP пароль должен быть "root".

После входа напечатайте вот этот запрос и нажмите Enter :

CREATE DATABASE my_first_db;

Обратите внимание, точка с запятой (;) добавляется в конце запроса, так же как в конце строки в коде.

Так же, ключевые слова CREATE DATABASE нечувствительны к регистру, как и все ключевые слова в SQL . Но мы будем писать их в верхнем регистре для улучшения читаемости.

На заметку: набор символов и порядок сопоставления

Если вы хотите установить набор символов и порядок сопоставления по-умолчанию, используйте подобный запрос:

CREATE DATABASE my_first_db DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

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

SHOW DATABASES: Список всех баз данных

Этот запрос используется для отображения всех баз данных.


DROP DATABASE: Удалить базу данных

С помощью этого запроса вы можете удалить существующую базу данных.


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

С технической точки зрения это не запрос. Это "оператор" и не требует точки с запятой в конце.


Он сообщает MySQL , что нужно выбрать базу данных по-умолчанию и работать с ней до конца сессии. Теперь мы готовы создать таблицы и остальное в этой базе данных.

Что такое таблица базы данных?

Вы можете думать о таблице в базе данных как о обычной таблице или как о csv-файле, который имеет структурированные данные.


Как в этом примере, в таблице есть имена строк и столбцы с данными. Используя SQL-запросы мы можем создать эту таблицу. Еще мы можем добавлять, считывать, изменять и удалять данные.

CREATE TABLE: Создать таблицу

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

Следующий запрос создает таблицу с двумя столбцами.

CREATE TABLE users (username VARCHAR(20), create_date DATE);

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

С первой строкой все просто. Мы создаем таблицу с именем users . Далее, в скобках, перечисляются столбцы таблицы через запятую. После каждого имени столбца идет тип данных, например, VARCHAR или DATE .

VARCHAR(20) означает, что столбец строкового типа и может быть не более 20 символов в длину. DATE - тип данных предназначенный для хранения дат в формате: "YYYY-MM-DD".

Первичный ключ

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

Запрос становится таким:

CREATE TABLE users (user_id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(20), create_date DATE);

INT - 32х битный целочисленный тип (числовой). AUTO_INCREMENT автоматически создает новый номер id каждый раз при добавлении строки данных. Оно не обязательно, но с ним удобнее.

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

Давайте выполним запрос:


SHOW TABLES: Список всех таблиц

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


EXPLAIN: Показать структуру таблицы

Используйте этот запрос для того, чтобы посмотреть структуру существующей таблицы.


В результате показаны поля (столбцы) и их свойства.

DROP TABLE: Удалить таблицу

Как и DROP DATABASES , этот запрос удаляет таблицу и ее содержимое без каких либо предупреждений.


ALTER TABLE: Изменить таблицу

Такой запрос может иметь сложную структуру , потому что может совершать множественные изменения в таблице. Посмотрим на простые примеры.

Благодаря читабельности SQL , этот запрос не нуждается в объяснении.



Удалить так же просто. Используйте запрос с осторожностью, данные удаляются без предупроеждений.

Заново добавим поле email , позже оно еще понадобится:

ALTER TABLE users ADD email VARCHAR(100) AFTER username;

Иногда вам может понадобится изменить свойства столбца, для этого не обязательно его удалять и создавать опять.


Этот запрос переименовывает поле username в user_name и изменяет его тип с VARCHAR(20) на VARCHAR(30) . Такие изменения не влияют на данные в таблице.

INSERT: Добавляем данные в таблицу

Давайте добавим записи в таблицу, используя запросы.


Как вы можете видеть, VALUES() содержит список значений, разделенный запятыми. Строковые значения заключаются в одинарные кавычки. Значения должны следовать в порядке, заданном при создании таблицы.

Обратите внимание, первое значение равно NULL для первичного ключа, поле которого мы назвали user_id . Все потому что поле отмечено как AUTO_INCREMENT и id генерируется автоматически. Первая строка данных будет иметь id равный 1. Следующая добавленная строка - 2 и т.д.

Альтернативный синтаксис

Вот другой синтаксис вставки строк.


На этот раз мы использовали ключевое слово SET вместо VALUES . Отметим несколько вещей:

  • Столбец может быть опущен. Например, мы не присвоили значение полю user_id , потому что оно отмечено как AUTO_INCREMENT . Если не присвоить значение полю с типом VARCHAR , то по-умолчанию оно примет значение пустой строки (если другое значение по-умолчанию не было задано при создании таблицы).
  • К каждому столбцу можно обращаться по имени. Поэтому поля могут идти в любом порядке, в отличии от предыдущего синтаксиса.

Альтернативный синтаксис номер 2

Вот еще один пример.


Как и раньше к полям можно обращаться по имени, они могут идти в любом порядке.

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


NOW()

Пришло время показать вам как использовать функции MySQL в запросах.

Функция NOW() возвращает текущую дату. Используйте ее для автоматического добавления текущей даты в поле с типом DATE .


Обратите внимание, что мы получили предупреждение от MySQL , но это не так важно. Причина в том, что функция NOW() фактически возвращает информацию о времени.


Мы создали поле create_date , которое может содержать только дату, но не время, поэтому данные были усечены. Вместо NOW() мы могли бы использовать CURDATE() , которая возвращает только текущую дату, но в конечном итоге результат был бы тем же.

SELECT: Получение данных из таблицы

Очевидно, что данные которые мы записали бесполезны пока мы не можем их прочитать. На помощь приходит запрос SELECT .

Простейший пример использования запроса SELECT для чтения данных из таблицы:


Звездочка (*) означает, что мы хотим получить все столбцы таблицы. Если вам надо получить только определенные столбцы, используйте что-то вроде этого:


Чаще всего мы хотим получить только определенные строки, а не все. Например, давайте получим E-mail адрес пользователя nettuts .


Он подобен условию IF. WHERE позволяет задать условие в запросе и получить нужный результат.

Для условия равенства используется одиночный знак (=), а не двойной (==), который, возможно, вы используете в программировании.

Так же вы можете использовать другие условия:


AND и OR используются для комбинирования условий:


Обратите внимание, числовые значения не нужно заключать в кавычки.

IN()

Применяется для сравнения с несколькими значениями.


LIKE

Позволяет задавать шаблон для поиска.


Знак процента (%) используется для задания шаблона.

Условие ORDER BY

Используйте это условие, если хотите чтобы результат возвращался отсортированным:


По-умолчанию задан порядок ASC (по возрастанию). Добавьте DESC для сортировки в обратном порядке.

LIMIT … OFFSET …

Можно ограничивать количество возвращаемых строк.


LIMIT 2 берет две первых строки. LIMIT 1 OFFSET 2 берет одну строку, после первых двух. LIMIT 2, 1 означает тоже самое, только первое число это смещение, а второе - ограничивает количество строк.

UPDATE: Обновление данных в таблице

Этот запрос используется для обновления данных в таблице.


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

Для ограничения изменяемых строк, можно использовать LIMIT .


DELETE: Удаление данных из таблицы

Как и , этот запрос часто используется совместно с условием WHERE .


TRUNCATE TABLE

Для удаления содержимого из таблицы, используйте такой запрос:

DELETE FROM users;

Для повышения производительности используйте .


Также сбрасыват счетчик поля AUTO_INCREMENT , поэтому вновь добавленные строки будут иметь id равный 1. При использовании этого не произойдет и счетчик будет дальше рости.

Экранирование строковых значений и специальные слова

Строковые значения

Некоторые символы нужно экранировть, иначе могут быть проблемы.


Обратный слэщ (\) используется для экранирования.

Это очень важно по причинам безопасности. Любые пользовательские данные, перед записью в базу данных, должны быть экранированы. В PHP используйте функцию mysql_real_escape_string() или подготовленные запросы.

Специальные слова

Поскольку в MySQL много зарезервированных слов, таких как SELECT или , во избежании противоречий, заключайте имена столбцов и таблиц в кавычки. Причем нужно использовать не обычные кавычки, а обратные (`).

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


Заключение

Спасибо за прочтение статьи. Надеюсь я сумел показать вам, что язык SQL очень функционален и легок в изучении.

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

  • Основы реляционных баз данных

    В этой главе… | Организация информации | Что такое база данных | Что такое СУБД | Сравнение моделей баз данных | Что такое реляционная база данных

  • Основы SQL

    В этой главе… | Что такое SQL | Заблуждения, связанные с SQL | Взгляд на разные стандарты SQL | Знакомство со стандартными командами и зарезервированными словами SQL | Представление чисел, символов, дат, времени и других типов данных | Неопределенные значения и ограничения

  • Компоненты SQL

    В этой главе… | Создание баз данных | Обработка данных | Защита баз данных | SQL - это язык, специально разработанный, чтобы создавать и поддерживать данные в реляционных базах. И хотя компании, поставляющие системы для управления такими базами, предлагают свои реализации SQL, развитие самого языка определяется и контролируется стандартом ISO/ANSI.

  • Создание и поддержка простой базы данных

    В этой главе… | Создание, изменение и удаление таблицы из базы данных с помощью инструмента RAD. | Создание, изменение и удаление таблицы из базы данных с помощью SQL. | Перенос базы данных в другую СУБД.

  • Создание многотабличной реляционной базы данных

    В этой главе… | Что должно быть в базе данных | Определение отношений между элементами базы данных | Связывание таблиц с помощью ключей | Проектирование целостности данных | Нормализация базы данных | В этой главе будет представлен пример создания многотабличной базы данных.

  • Манипуляции данными из базы

    В этой главе… | Работа с данными | Получение из таблицы нужных данных | Вывод информации, выбранной из одной или множества таблиц | Обновление информации, находящейся в таблицах и представлениях | Добавление новой строки в таблицу

  • Определение значений

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

  • Сложные выражения со значением

    В этой главе… | Использование условных выражений case | Преобразование элемента данных из одного типа данных в другой | Экономия времени ввода данных с помощью выражений со значением типа запись | В главе 2 SQL был назван подъязыком данных.

  • "Пристрелка" к нужным данным

    В этой главе… | Указание требуемых таблиц | Отделение нужных строк от всех остальных | Создание эффективных предложений where | Как работать со значениями null | Создание составных выражений с логическими связками | Группирование вывода результата запроса по столбцу

  • Реляционные операторы

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

  • Использование вложенных запросов

    В этой главе… | Извлечение данных из множества таблиц с помощью одного оператора SQL | Поиск элементов данных путем сравнения значения из одной таблицы с набором значений из другой | Поиск элементов данных путем сравнения значения из одной таблицы с выбранным с помощью оператора select единственным значением из другой

  • Мартин Грабер «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

    Говоря простым языком, sql-запросы нужны для того, чтобы заносить и обрабатывать информацию в базе данных.

    База состоит из множества таблиц. Каждая строка - одна запись. Вот, к примеру, простая таблица для пользователей:

    Чтобы начать работать с sql-запросами, для начала надо .

    Рассмотрим самые простые запросы для начинающих.

    Создание базы данных - CREATE DATABASE

    CREATE DATABASE `mybase`

    В кавычках мы указываем имя нашей базы (кавычки не обязательны, но с ними легче работать).

    Установка кодировки - SET NAMES

    SET NAMES "utf-8"

    Установка кодировки часто помогает в избежание «кракозябр».

    Создание таблицы - CREATE TABLE

    Создадим таблицу, которая была представлена выше.

    CREATE TABLE `mybase`.`users`(`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, `login` VARCHAR(20), `password` VARCHAR(20), `regdate` DATE)

    Тут не всё так сложно. Здесь мы пишем, что создаём в базе «mybase» таблицу с названием «users».

    `название колонки` тип данных(количество макс. значения) атрибуты

    Атрибуты указывать необязательно.

    Например, тут мы создали колонку с именем «regdate» с типом данных «DATE».

    `regdate` DATE

    Здесь, ещё в скобках указали максимально-допустимое значение. Тип данных - символьный

    `login` VARCHAR(20),

    При создании столбца «id» мы написали атрибуты, рассмотрим их:

    • UNSIGNED - Только положительные числа;
    • NOT NULL - Ячейка не может быть пустой(обязательное заполнение);
    • AUTO_INCREMENT - Автоматическое заполнения поля, начиная от 0 и +1, при создании строки;
    • PRIMARY KEY - Значения поля не сможет повторяться в данным столбце ячеек, делает столбец первичным ключом;

    У «id» тип данных - целочисленный.

    Добавление информации в базу данных - INSERT

    INSERT INTO `users` (login`,`password`,`regdate`) VALUES ("Vasya", "12345", "2015-04-22 17:38:50")

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

    Поле «id» заполнять не нужно, оно создаётся автоматически.

    Обновление информации - UPDATE

    Теперь рассмотрим, как обновить данные в какой-либо строке таблицы. К примеру, поменяем пароль у конкретного пользователя.

    UPDATE `users` SET `password` = "54321" WHERE `id` = "1"

    Меняем значение поля «password» на новое в строке с «id» равным 1.

    Если убрать «WHERE» но изменятся все строки, а не конкретная строка.

    Удаление информации - DELETE

    Теперь удалим эту строку, со всеми её полями.

    DELETE FROM `users` WHERE `id` = "1"

    Работает также как и добавление.

    Выборка информации из базы данных SELECT

    Для работы с информацией в базе, нужно её выбрать.

    SELECT * FROM `users` WHERE `id` = "1"

    Здесь мы выбрали все строки в таблице «users» (* - все поля).

    А можно выбирать только конкретные поля.

    SELECT `login`,`password` FROM `users` WHERE `id` = "1"

  • Лучшие статьи по теме