[Iws] Общие понятия - lesson 05


Веб-программирование. База данных MySQL. MySQL WorkBench первоначальные операции с базой данных.

1. Что такое MySQL. База данных — совокупность данных, хранимых в соответствии со схемой данных, манипулирование которыми выполняют в соответствии с правилами средств моделирования данных. СУБД - Система управления базами данных - совокупность программных средств, обеспечивающих управление созданием и использованием баз данных. MySQL - свободная реляционная система управления базами данных (БД). MySQL Сервер – программа выполняющая управление базой данных, обеспечивает операции ввода-вывода при доступе MySQL клиента к информации. MySQL Локальный сервер – то же что и MySQL Сервер, создается при установке программы WorkBench на локальном ПК и имеет имя «localhost». При этом базы данных располагаются на Вашем ПК, что обуславливает высокую скорость работы. MySQL Клиент – программа, использующая базы данных расположенных на сервере. Архитектура клиент-сервер – позволяет размещать серверы на мощных машинах (например в интернете), а приложениям, использующим базы данных, обеспечить доступ к ним с менее мощных машин-клиентов (например Вашего ПК). PHPMyAdmin - веб-приложение с открытым кодом, написанное на языке PHP и представляющее собой веб-интерфейс для администрирования (управления) СУБД MySQL. PHPMyAdmin позволяет через браузер осуществлять администрирование сервера MySQL, позволяет управлять СУБД MySQL без непосредственного ввода SQL команд. Обычно располагается на сервере Вашего Хоста, и предоставляется бесплатно. MySQL WorkBench – платная программа для визуального проектирования баз данных и для администрирования (управления) СУБД MySQL. Я в работе буду использовать MySQL WorkBench, Вы можете пользоваться PHPMyAdmin – все операции выполняются аналогично (разный интерфейс и скорость работы). 2. Создать новое подключение к серверу MySQL. Открываем программу MySQL WorkBench (далее просто WorkBench); Создадим новое подключение к базам данных на локальном сервере.  Справа от надписи MySQL Connection нажимаем кнопку «+» Справа от надписи MySQL Connection нажимаем кнопку «+». В открывшемся окне заполняем поля: Connection name - имя подключения (любой имя). Если мы подключаемся к локальному серверу – можно ввести «localhost»; Если к удаленному серверу, то желательно ввести имя базы, разрешенное вашим провайдером; Username – имя пользователя. Вы его должны были задать при установке программы MySQL WorkBench, см. урок «Сайтостроение - lesson 03 пункт 5. Устанавливаем и настраиваем среду для работы с базами данных MySQL - MySQL Workbench.» Password – нажимаем кнопку «Store in Vault» и вводим пароль. Вы его должны были задать при установке программы MySQL WorkBench, см. урок «Сайтостроение - lesson 03 пункт 5. Устанавливаем и настраиваем среду для работы с базами данных MySQL - MySQL Workbench.» Нажимаем кнопку «Test connection» - должно появиться окно об успешном подключении (иначе ищите ошибку); Если все хорошо в окне «Setup new connection» нажимаем кнопку «Ок»; Будет создано новое подключение с именем, которое Вы ввели. Откроем это подключение двойным щелчком мыши. Что мы видим: Синий прямоугольник – вкладки с открытыми подключениями к серверу MySQL; Ниже – меню и панель инструментов; Красный прямоугольник - навигатор по подключению, может находиться в двух режимах (выбор внизу панели): Management – режим «Управление»; Schemas – режим схемы; В нем видим две базы данных – host1554822 и sys (голубые прямоугольники); В базе данных есть папка с таблицами (малиновые прямоугольники) и другие папки; Во розовом прямоугольнике «Рабочая область» в ней будут отображаться таблицы, запросы и др. Ниже панель «Output» - в ней отображаются результаты наших действий; Справа вверху (темно-зелёный прямоугольник) настройки отображения. 3. Создать базу данных в MySQL WorkBench. Создадим базу данных в подключении «Localhost»: В навигаторе перейдем в режим «Schemas»: Внутри панели вызываем всплывающее меню и выбираем «Create schema»; В рабочей области откроется панель «new_schema - Schema»: Вводим имя «my_new_base» и нажимаем «Apply»; Откроется панель «Apply SQL Script to Database», которое отображается в два шага: «Review ер SQL Script to be Applied on the Database» просмотр и подтверждение выполнения команды на языке SQL: «CREATE SCHEMA `my_new_base`;». Нажимаем кнопку «Apply»; «Applying SQL Script to Database» - отобразится результат выполнения SQL скрипта. Если все сделано правильно: новая база данных отобразится в навигаторе. Щелкнем по треугольнику слева от имени базы – откроются папки – пока в них пусто. Обратим внимание: Мы создали базу данных на языке SQL, которого мы пока не знаем, т.е. WorkBench позволяет автоматизировать работу по написанию скриптов на языке SQL. Этим можно будет воспользоваться в дальнейшем при изучении языка! Прежде чем выполнить команду WorkBench требует подтверждения на выполнение SQL скрипта. Почему? Потому что одним скриптом SQL можно удалить всю базу данных! Постоянно создавайте копии Вашей базы данных. 4. Удалить базу данных в MySQL WorkBench. выбираем базу данных на панели Навигатор; вызываем на ней Всплывающее меню; выбираем пункт «Drop schema»; в окне подтверждения: «Review SQL» - просмотреть SQL – скрипт (там же можно и выполнить «Execute») «Drop Now» - удалить (drop – отбросить) сейчас; выбираем «Drop Now» база будет удалена (возможности отменить это действие я не знаю!); Для продолжения нам нужна будет эта база, поэтому если Вы ее удалили – создайте снова. Обратите внимание вкладки на рабочей панели остаются открытыми – чтобы закрыть на вызываем на названии Всплывающее меню и выбираем один из пунктов «Close». 5. Создать таблицу в базе данных в MySQL WorkBench. выбираем базу данных на панели Навигатор; раскрываем – щелкаем по треугольнику справа; на папке «Tables» вызываем Всплывающее меню; выбираем «Create table»; В рабочей области откроется панель «new_table - Table». Внимание! НЕ ЗАПУТАЙТЕСЬ – мы создаём поля будущей таблицы с помощью таблицы в которой есть поля, например, «Table name» - имя поля в которое мы введем название таблицы; «Column name» - имя поля в которое мы будим вводить имена полей будущей таблицы; «Datatype» - имя поля к которое мы будем вводить тип поля в будущей таблице; И тд; Создадим таблицу: в поле «Table name» вводим имя таблицы - «my_table»; в поле «Column name» - вводим имена полей нашей будущей таблицы: id – поле со свойствами: числовое (INT) уникальное (Unique) не нулевое (Not NULL) поле с авто увеличением значения (Auto Increment). Такое поле служит для идентификации записи – в этом поле будет уникальное число для каждой записи; num – числовое поле; text - текстовое поле (не более 45 символов); img – поле для хранения двоичной информации – картинок, музыки, видео и тд. Подробней о типах полей можно узнать в интернете. Двойным щелчком на поле «Datatype» можно вызвать список типов полей. Обратите внимание все поля на панели отображаются дважды: в компактном виде и (ниже) в развернутом. Удалить поле можно наведя мышь на имя поля и в Всплывающем меню выбрать «Delete selected». После окончания ввода нажимаем «Apply». Откроется уже знакомая панель «Apply SQL Script to Database» с SQL скриптом создания таблицы, которое отображается в два шага: Выполнение SQL скрипта и проверка выполнения. Если все сделано правильно в базе данных будет создана таблица «my_table». 6. Операции с таблицей в базе данных в MySQL WorkBench. Удалить таблицу – аналогично удалению БД: вызываем на таблице Всплывающее меню, выбираем пункт «Drop table»; 6.1 Панели информации, структуры, содержания. Наведите мышь на таблицу – справа от имени появятся три значка: щелчок по первому значку откроет панель информации о таблице; щелчок по второму значку откроет панель изменения структуры таблицы (мы в ней создавали таблицу); щелчок по третьему значку откроет панель с содержимым таблицы – здесь можно производить ввод и редактирование информации, содержащейся в таблице (Почему можно? Потому что чаще это делается другими способами (не вручную)); 6.2 Добавление записи в таблицу: Откроем панель с содержимым таблицы что мы видим: нашу базу данных, в ней папку с таблицами, в ней таблицу «my_table», отображаемую в рабочей области; ниже мы видим панель краткой информации о таблице; справа от этой панели панель «Action output» - в ней пусто (я очитил); рабочая область таблицы поделена на две части по вертикали: вверху панель инструментов скриптов и область ввода скриптов на языке SQL; внизу область для просмотра и изменения содержимого таблицы; добавим запись: поле num = 1, поле text = «Привет», в поле img я добавил картинку – для этого: вызываем Всплывающее меню на поле «img» выбираем «Load value from the file…» и указываем на файл картинки. Поле id будет заполнено автоматически при сохранении записи; Сохраним запись в БД – жмем кнопку «Apply» («Revert» - отменить изменения). Откроется уже знакомая панель «Apply SQL Script to Database» с SQL скриптом создания записи; 6.3 Редактор полей. Вызовем Всплывающее меню на поле «img» и выберем «Open value in editor…» - отобразится панель редактирования: Слева вверху - отображение данных по типу: Слева внизу – сохранение и чтение данных; Справа внизу применить или закрыть без изменений: Внимание! После закрытия редактора чтобы изменения сохранились в записи необходимо нажать «Apply» на панели редактирования таблицы. То есть если не отобразилась панель «Apply SQL Script to Database» с SQL скриптом – запись не будет сохранена! 6.4 Панель «Output». Под рабочей панелью находится панель, предназначенная для отображения информации об произведённых операциях. В ней можно выбрать 3 режима отображения: Action output – информация о выполненных (или не выполненных) командах или SQL скриптах; # - номер команды; Time - время выполнения команды; Action – команда; message – сообщение, которая вернула команда; duration / fetch – продолжительность выполнения команды; Text output – здесь отображается текст команд; History output – история команд; 6.5 Панель «Output». Можно изменять внешний вид рабочей области в соответствии с текущими операциями: Wrap cell content – вкл/выкл перенос содержимого ячейки таблицы; В желтой рамке – кнопка, скрывающая / отображающая панель изменения вида отображения данных таблицы (в голубой рамке). Попробуйте и посмотрите; Вверху справа: Звездочка –настройки программы; Кнопка отображения /скрытия навигатора; Кнопка отображения /скрытия панели «Output»; Кнопка отображения /скрытия навигатора панели помощи; Кнопки на панелях инструментов осваивайте самостоятельно – ничего сложного я там не заметил. Назначение некоторых кнопок пока непонятно – не страшно – разберемся потом, когда они понадобятся. 7. Экспорт и Импорт базы данных. Экспорт: сохраним базу данных или отдельные таблицы в файл: Меню Server /Data Export, в рабочей области откроется панель экспорта с двумя вкладками «Administration – Data Export»: Вкладка “Object Selection” - выбор объекта для экспорта; Вкладка “Export progress” – отображение процесса и результатов экспорта; В нижней части панели, слева выводится подсказка по текущей операции и результату выполнения; На вкладке “Object Selection”: в левой части поля «Table to export» - выбираем БД, в правой выбираем таблицы для экспорта; В поле «Export option» выбираем «Export to Self-Contained File» и указываем файл для экспорта; Нажимаем кнопку «Start Export» (возможно появится предупреждение о несоответствии версий – проигнорируйте его); Откроется вкладка “Export progress” – отображение процесса и результатов экспорта; После окончания панель можно закрыть; Импорт: считаем базу данных или отдельные таблицы из файла. Панель «Administration – Data Import» аналогична панели «Administration – Data Export»: Меню Server /Data Import, в рабочей области откроется панель экспорта с двумя вкладками «Administration – Data Import»: Вкладка “Import From Disk” - выбор объекта для импорта; Вкладка “Import Progress” – отображение процесса и результатов импорта; В нижней части панели, слева выводится подсказка по текущей операции и результату выполнения; На вкладке “Import From Disk”: В поле «Import to Self-Contained File» указываем файл для импорта; В поле «Default Target Schema» указываем БД для импорта; Нажимаем кнопку «Start Import»; Откроется вкладка “Import progress” – отображение процесса и результатов импорта; После окончания панель можно закрыть;