бд PHPMyAdmin. Open Server и MYSQL

бд PHPMyAdmin. Open Server и MYSQL.

Сегодня наш разговор будет про базу данных MySQL, а изучать мы её будем с помощью программы PHPMyAdmin. В прошлом видео я показал как установить локальный веб сервер на Open Server. В нём как раз установлен PHPMyAdmin. И не только в нём. Если у вас есть сайт расположенный на платном или бесплатном хостинге, то там наверняка установлен и PHPMyAdmin. Это самая удобная программа для управления базами данных. В ней мы научимся создавать базы данных, таблицы, импортировать и экспортировать свои таблицы. И многое другое.

Я не буду делать полный обзор работы с MySQL, а покажу только самое основное. 
Для начала запускаем Open Server и нажимаем на флажок правой кнопкой мыши. Во вкладке - Дополнительно выбираем PHPMyAdmin.
В браузере открывается страница управления базами данных. Если вы ничего не меняли, то по умолчанию у вас будет логин ROOT, а пароль или не указан или тоже ROOT.
На главной странице панели администрирования можно увидеть.
Слева это все базы данных что у вас установлены на текущий момент. Обычно это 3 базы. Здесь можно создать новую базу.
Основные настройки.

  • Здесь можно изменить пароль.
  • Задать кодировку.
  • Установить язык интерфейса
  • Сменить тему. Изменить размер шрифта. И так далее.
  • Здесь указана различная информация и ссылки на документацию. 

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

Рассмотрим как добавить таблицу
Можно создать с главной страницы или вкладки Структура или из вкладки Операции.
 
Здесь же вы можете указать количество столбцов в вашей таблице. Можете оставить это поле по умолчанию или указать любое число. Впоследствии вы всегда сможете добавить столбцы. Нам для примера нужны будут 4 столбца, поэтому я так и оставлю.
Я буду делать на примере работы с температурным датчиком DHT22, то мы и должны создать ТАБЛИЦУ с таким именем. Датчик выводит показания о температуре и влажности. А ещё нам понадобится поле с датой и временем и поле с номером ID нашего датчика. 
Это поле имеет очень большое значение. С помощью него мы будем обращаться к датчику, а в последствии связывать датчик с другими устройствами.
 
Теперь  по порядку.

Сначала надо создать поле ID
Окно с базами данных можно убрать тем самым увеличив поле для задания значений.
Я вам советую всегда называть это поле не просто ID а с добавление чего то ещё чтобы было проще понять , что это за ID. Я назову его ID_DHT22.

Следом идёт поле Тип. Здесь много различных типов. Мы будем изучать их по мере продвижения. Так как наш идентификатор будет числовой, то и тип мы ему укажем INT. 
Дальше указываем длину. Каждая цифра – это один знак. Если мы укажем 1, то мы сможем хранить всего 9 значений. 2 – 99 значений. 3 - 999 значений и так далее. В идеале чем меньше мы укажем значение, тем меньше места будет занимать наша база и тем быстрее она будет работать. Но это не Ардуино, и объёмы здесь значительно больше. Я не буду заполнять то поле, чтобы показать, что  можно сделать и так.
 

По умолчанию.
Это поле мы пока пропустим.
 

Сравнение
Что бы не вводить в каждом поле кодировку, можно сделать следующее.
Указать кодировку при создании базы данных. 
Указать кодировку сразу для всей таблицы. Даже если вы указали кодировку для базы, то всё равно лучше перестраховаться и указать кодировку для таблицы.
 
Атрибуты.
Так как индекс не может быть числом отрицательным, то указываем тип UNSIGNED. То есть число без знака. Но я думаю, что это вам и так знакомо.
Если установить галочку в поле NULL то это даёт возможность оставлять это поле пустым.

Дальше идёт Индекс.
Для этого поля надо обязательно указать, что это первичный ключ PRIMARY и чтобы не вводить постоянно число, надо поставить Автоинкремент. Теперь при записи нового значения он будет идти под следующим номером по порядку. Если вы удалите какое-то значение, то этот, уже использованный ID не будет использован снова.  


Теперь создадим поле Дата и время.
Зададим ему имя date_dht22.
 Если вы будете производить измерения раз в день, то достаточно установить тип DATE. Так как мы будем измерять температуру чаще то нам нужно будет использовать ещё и время. Выбираем DATETIME.  Длину для этого типа указывать не надо. Для вывода текущего времени и даты надо установить CURRENT_TIMESTAMP 

Создадим поле Температура.
Заполняем поле Имя. Так как наша таблица имеет имя DHT22, то и имя желательно давать соответствующее.
Например, Temp_ DHT22. Повторюсь. Так делаю я, а вы можете делать как вам будет угодно.
Так как это поле числовое с точкой, то и тип надо указывать FLOAT. И число знаков после запятой. 

Создадим поле Влажность.
Заполняем поле Имя. Например так, Hum_ DHT22.
Здесь я не буду выводить число с точкой, а выведу целое число INT. Так как значение может быть не больше 100, то длину указываем 3.

Для первого урока нам этого будет достаточно.
Нажимаем кнопку Сохранить и попадаем в раздел Структура.

Это структура созданной нами таблицы. Всё что мы нащёлкали видно здесь. 
Если вам надо добавить новое поле или несколько полей, то это можно сделать здесь. Так же здесь можно выбрать где разместить эти поля. Расположение полей ни как не скажется на работе. Это влияет только на восприятие страницы. 


Более подробно про таблицу или как выполнить какие-нибудь действия с ней можно в разделе Операции.
•    Можно переместить таблицу.
•    Изменить параметры таблицы.
•    Скопировать таблицу.
•    Очистить или удалить таблицу.

Вставить 
Теперь заполним нашу таблицу какими-нибудь данными для теста. 
По умолчанию загружаются поля ввода для 2 столбцов.
Поле ID заполнять не надо, оно заполнится автоматически.
Текущее время тоже установится автоматически. Если вы хотите, то можете установить время вручную.
Пока мы не подключили датчик заполним температуру и влажность самостоятельно.
Заполним и 2 столбец. 
Если хотите, то можете добавить ещё один столбец и сразу заполнить его. Я не буду этого делать, так как все последующие данные мы будем добавлять другим путём.
Теперь нажимаем кнопку вперёд. Наши данные добавились в таблицу, а нам открылась страница SQL.
Здесь мы видим SQL запрос на вставку данных в таблицу. 
 
В нём говорится, что надо в таблицу DHT22 сохранить ID, дату и время, Температуру и Влажность.
Теперь скопируем этот запрос, он нам ещё пригодится.

Переходим во вкладку Обзор и видим, что у нас в таблице появились 2 записи. На этой странице можно редактировать значения.

Если вы не хотите снова и снова заполнять поля во вкладке Вставить, то вы можете написать свой запрос и данные сохранятся в базу. Для этого мы и скопировали запрос на добавления 2 строк в таблицу. Переходим в базу данных и выбираем вкладку SQL. Вставляем код и редактируем его на нужные данные. И нажимаем кнопку Вперёд.

Заходим в таблицу и видим, что у нас добавилось ещё 2 значения. Давайте проделаем это ещё раз чтобы было больше данных. Это нам пригодится дальше в примере. 

Теперь у нас 6 значений. Теперь давайте удалим последнее. И добавим ещё два значения.

Мы видим, что ID установился на 7 и 8, а 6 нет.
Если у вас уже был задействован номер ID то он не может быть снова использован.

В закладке поиск вы можете производить поиск по значениям. Давайте например найдём поле со значением влажности 72. Мы видим что это поле с ID 4. Переходим в Обзор таблицы и видим что это действительно так.

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

Звёздочка в SQL запросе означает что надо вывести все значения.

Экспорт
Теперь переходим на вкладку Экспорт.
В PHPMyAdmin можно очень просто экспортировать как полностью базу, так и отдельные таблицы или даже часть строк. Лучше всего сохранять в формате SQL, но есть много других форматов. Нажав кнопку Вперёд вы сохраняете свою таблицу или базу.
Я экспортирую нашу базу и сохраню этот архив на сайте. Если вам будет влом набирать то что я показывал, то вы можете Импортировать архив и у вас создастся база и заполненная таблица DHT22.
Давайте откроем файл и посмотрим как выглядит наш экспорт. Открывать можно обычным блокнотом. Покак вам возможно будет не понятно что здесь написано, но скоро вы и сами будете писать запросы к базе. Это совсем не сложно.
Теперь переходим в раздел Операции. Здесь можно очистить таблицу. То есть удалить все значения оставив структуру таблицы не тронутой. А можно удаляем таблицу. Мы для примера удалим таблицу. Как видите таблицы больше нет.

Создадим таблицу из архива. Для этого в раздел SQL вставим код из файла. Как видите таблица создалась. И все значения на месте.

Теперь снова удаляем таблицу и создадим её другим путём. Для этого снова идём в Операции и удаляем таблицу.

Переходим в раздел Импорт и выбираем скаченный файл.
Видим, что таблица установлена и все данные на месте.

Теперь осталось проделать тоже самое с базой данных. Для этого надо нажать на ссылку Сервер. И вы окажетесь на главной странице phpMyAdmin. Переходим в Экспорт и сохраняем базу данных. Открываем сохранённый файл и копируем все значения. Теперь удаляем базу данных. Как видите базы больше нет.
Теперь заходим на вкладку SQL и вставляем скопированный код. Нажимаем вперёд и видим что база установлена.


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

Скетчи