Основы работы с phpMyAdmin. Внешние ключи MySQL и их настройка в phpMyAdmin Phpmyadmin создать строки в таблице

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

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

Чтобы упростить себе работу с базами данных MySQL установим специальный набор скриптов phpMyAdmin . phpMyAdmin представляет интуитивный веб-интерфейс для управления базами данных MySQL. Используя данный инструмент, гораздо легче работать с базами данных, чем управлять MySQL через консоль.

Для установки phpMyAdmin загрузим архив и распакуем в папку C:\localhost , где находятся документы для php. Распакованную папку переименуем для краткости в phpMyAdmin .

В распакованном каталоге phpMyAdmin создадим файл config.inc.php со следующим содержанием:

И чтобы убедиться, что все настроено правильно, в браузере перейдем к phpMyAdmin, например, http://localhost:8080/phpmyadmin :

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

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

Создание базы данных MySQL в phpMyAdmin

Чтобы обмениваться данными с сервером MySQL (сохранять, изменять, удалять, получать данные), нам естественно нужна база данных. Создать базу данных мы можем из консоли MySQL, а также из визуального интерфейса phpMyAdmin.

Откроем интерфейс phpMyAdmin. Перейдем на вкладку Базы данных . Под меткой Создать базу данных введем какое-нибудь имя для новой бд, например, compstore и нажмем на кнопку "Создать".

И после этого мы получим сообщение об успешном создании новой бд, и она будет добавлена в списки баз данных.

Новая база данных пока пуста и не содержит ничего. Добавим в нее таблицу, которая будет хранить данные. Для этого нажмем на название базы данных и мы попадем на вкладку "Структура", где нам будут предложены опции новой таблицы. В поле "Имя" введем название новой таблицы. Пусть, таблицы будет хранить данные о моделях смартфонов, поэтому введем название "phones", а в качестве количества столбцов введем цифру 3:

Для создания таблицы нажмем на кнопку "Вперед". После этого у нас появится набор ячеек для установки параметров столбцов. Укажем последовательно для имен столбцов следующие: id, name, company. В качестве типа укажем для столбцов id тип INT , а для столбцов name и company - тип VARCHAR . Для столбцов name и company в поле "Длина/Значения" укажем число 200 - оно будет указывать максимальную длину строки в символах. Также для столбца id укажем в поле "Индекс" PRIMARY а в поле "A_I" (AutoIncrement) поставим галочку:

Таким образом, таблица будет иметь столбцы для уникального идентификатора, названия телефона и названия производителя. И затем нажмем внизу на кнопку "Сохранить".

После создания таблицы мы сможем увидеть в колонке баз данных таблицу и ее столбцы:

Это не единственный способ создания таблиц в phpMyAdmin, так как здесь мы можем управлять базой данных с помощью запросов SQL. Так, выделим в списке баз данных нашу базу и перейдем на вкладку "SQL". Она отображает поле для ввода команды на языке запросов SQL. Введем в него следующую команду:

CREATE Table phones1 (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(200) NOT NULL, company VARCHAR(200) NOT NULL)

Это стандартная команда создания таблицы на языке SQL. После ключевых слов CREATE Table идет название создаваемой таблицы, а затем в скобках идут через запятую определения столбцов.

Каждое определение столбцов содержит имя столбца, его тип и ряд дополнительных значений. Например, в определении столбца id (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY) указывается имя столбца, тип - INT, а также то, что столбец обязательно должен иметь значение - NOT NULL, что его значение будет автоматически увеличиваться на единицу с добавлением нового объекта - AUTO_INCREMENT, и что он играет роль первичного ключа - PRIMARY KEY.

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

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

Начнём с создания таблицы в PHPMyAdmin :

Тут есть о чём поговорить. Начнём с настроек для полей таблицы:

  • Имя , думаю, задать сможете. Единственное, не нарвитесь на зарезервинованное слово. То есть нельзя давать полю, например, такое имя "index ".
  • Тип . О типах полей подробно говорилось в этой статье: , поэтому ничего добавлять не буду.
  • Длины/значения . Здесь можно указать предельные значения(длины) переменных. Я, например, часто использую данную возможность для экономии ресурсов. Например, для пароля я ставлю тип VARCHAR и максимальное количество символов - 32 . Тогда как, по умолчанию, VARCHAR позволяет хранить до 255 символов.
  • Кодировка . Разумеется, данная настройка актуальна только для строковых типов. Если Вы будете хранить в этом поле строки из только русского и латинского алфавита, то используйте кириллицу (cp1251_general_ci ), а если у Вас могут храниться другие символы, то используйте unicode (utf8_general_ci ).
  • Атрибуты . Относится только к числам. Если у Вас число заведомо положительное, то включите опцию "UNSIGNED ", что позволит расширить положительный диапазон значений выбранного типа. Также есть опция "UNSIGNED ZEROFILL ", которая редко используется, но делает она следующее: заполняет нулями все неиспользованные старшие разряды. То есть, допустим, у Вас число 4 , однако, храниться будет: "000000004 ", где количество нулей определяется свободными разрядами выбранного типа.
  • Ноль . Эта опция позволяет включить возможность значения "null ". Запомните: "null " - это не 0 , и не пустая строка. Это пустой объект, то есть ничего!
  • По умолчанию . Полезная опция, позволяющая задать значение поля по умолчанию.
  • Дополнительно . Позволяет задать "auto_increment ". Это очень важная возможность, которую Вы будете включать, думаю, что в каждой таблице. Эта опция позволяет при добавлении новой записи автоматически увеличивать на 1 значение поля. Идеальный вариант для ID (уникального идентификатора ), который должен быть уникален для каждой записи. И чтобы не думать об уникальности этого поля, достаточно просто включить опцию "auto_increment ".
  • Дальше идут радиопереключатели:
    • Первичный ключ . Как правило, этим ключом назначают поле ID . Означает этот ключ, что значение поля уникально для всей таблицы, более того, по этому полю создаётся индекс. О том, что такое индекс и для чего он нужен, мы поговорим в одной из следующих статей.
    • Индекс . Собственно, создавать или нет для этого поля индекс.
    • Уникальное . Если поставить эту опцию, то значение данного поля должно быть уникальным.
    • И флажок "ПолнТекст " означает, создавать полнотекстовый индекс или нет.
  • Комментарии . Это поле можете заполнять на своё усмотрение.
  • MIME-тип . Это поле нужно заполнять, если у Вас какой-нибудь особенное значение будет храниться в поле, например, изображение. Как правило, ставится "auto-detect ".
  • Трансформации браузера . Это я описывать не буду, так как используется крайне редко. Но если хотите, то можете почитать в самом PHPMyAdmin , там очень хорошо об этом написано, и разобраться не составит труда.
  • Опции трансформации браузера . Тут можно задать параметры для трансформации, если Вы их используете.

Настройки таблицы гораздо проще:

  • Комментарий к таблице . Можете заполнить, а можете ничего не писать.
  • Тип таблицы :
    • MyISAM . Самый популярный тип таблиц в MySQL , и он подходит для большинства задач.
    • Heap . Особенность данной таблицы в том, что она хранится в памяти, в результате данный тип таблиц обрабатывается ОЧЕНЬ быстро. Идеальный вариант для временных таблиц. Разумеется, при сбое в работе все данные будут утеряны.
    • Merge . Этот тип представляет собой совокупность обычный таблиц MyISAM . Сам я ещё не использовал данный тип, поэтому больше ничего сказать не могу, более того, данный тип - это ещё новшество, а, следовательно, за стабильность никто не ручается.
  • Кодировка таблицы . Абсолютно те же правила, что и для задания кодировки для полей.

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

Всем доброго времени суток! Сегодня я расскажу вам о том, как создать базу данных в phpmyadmin . И так, в первую очередь запускаем сервер и заходим в phpMyAdmin.Если у Вас сервер установлен на локальном компьютере , то в Danwer phpMyAdmin расположен по адресу http://localhost/tools/phpmyadmin/ , а в WAMP и в других серверах, phpMyAdmin доступен по адресу http://localhost/phpmyadmin/

На реальном хостинге, phpMyadmin доступен по другому адресу . По какому именно Вам нужно узнать у хостинга провайдера.

В версии 5.5 это выглядит так:


Далее в поле имя новой БД вводим название нашей БД, например test . В поле сравнение выбираем кодировку БД, utf8_general_ci . Если мы не указываем кодировку, то есть оставляем как есть "сравнение" то это кодировка выбирается по умолчанию. После того как заполнили эти поля, нажимаем на кнопку создать .


Посередине экрана появится сообщение, что База данных test была создана. Она появится в списке с созданными БД. Находим ее в этом списке, кликнем на ее название и попадаем внутри созданной БД. Изначально она пуста, поэтому давайте создадим таблицу.

Есть два способа для создания таблиц:

Первый способ: В левой колонке нажимаем на создать таблицу

И появится такое окно:


Задаем имя для таблицы и название для каждого поля. Например, мы хотим создать таблицу с категориями сайта. Поэтому задаем имя таблицы categories . Для этой таблицы нам понадобится только 2 поля, это id и название категорий (name ) По правилам в любой таблицы, первое поле всегда имеет название id, то есть идентификатор. Для этого поля обязательно выбираем тип INT и задаем длину значения в цифрах, например 2. Индекс выбираем PRIMARY, таким образом, мы задаем ей первичный ключ и вставляем галочку у A_I (Auto Increment) для того чтобы ее значение автоматически увеличивалось на единичку.

Для поля с названием категорий выбираем тип VARCHAR и задаем максимальную длину 255 символов.

Если вы хотите добавить еще одно или больше полей, то в поле добавить, введите то число, которое соответствует кол-ву полей, которые вы хотите добавить и нажмите ок.

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


Вот и все, таблица с названием categories создана. Она появится в списке таблиц, в левой части экрана.

Второй способ:

Сразу как вошли в БД видим такой блок Создать таблицу . В этом блоке есть 2 поля, где мы можем вводить название таблицы и кол-во столбцов в таблице. Создадим, например таблицу с регистрированными пользователями, назовем эту таблицу users . В этой таблицы будут такие поля: id, login, password, e-mail, f_name, s_name , В поле количество столбцов вводим 6 и нажимаем ок.


Появится то же самое окно, как и в первом способе.


После того как заполняли все поля спускаемся чуть ниже и жмем на кнопку сохранить.

Все таблица users создана. Она также добавилась в левом списке с созданными БД.

На сегодня все. Теперь вы знаете, как создать базу данных и таблицы MySQL в phpmyadmin без трудностей и головоломок. Желаю всем удачи!

Понравилась статья?

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

Зачем нужны внешние ключи в таблице

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

В двух словах — во внешних ключах много плюсов, поэтому полезно знать, как ими оперировать.

Настройка внешних ключей

Я буду демонстрировать настройку в своем любимом потому что это очень удобно, кроме того, админ не утаивает сгенерированный код запросов и вы всегда сможете его посмотреть(запомнить, скопировать, раскритиковать ).

Пример ManyToOne и OneToMany

Две таблицы: goods(id, name, catalog_id) и catalogs(id, name) . В одном каталоге множество товаров(OneToMany), и сколько угодно товаров может быть в одном каталоге(ManyToOne). Внешним ключом в этом примере является поле catalog_id в таблице goods .

Создание таблиц в phpmyadmin

Сгенерированные запросы

CREATE TABLE mybd.goods (id name VARCHAR(255) NOT NULL , catalog_id INT NOT NULL , PRIMARY KEY (id), INDEX (catalog_id)) ENGINE = InnoDB; CREATE TABLE mybd.catalogs (id INT NOT NULL AUTO_INCREMENT , name VARCHAR(255) NOT NULL , PRIMARY KEY (id)) ENGINE = InnoDB;

Настройка внешнего ключа catalog_id

Пришло время создать связь между товарами и каталогами. Открываем таблицу goods , переходим во вкладку «структура» и ищем кнопку «связи».

В разделе «ограничения внешнего ключа» заполняем строки и выбираем действия «ON DELETE» и «ON UPDATE».

Сгенерированный запрос

ALTER TABLE goods ADD FOREIGN KEY (catalog_id) REFERENCES mybd.catalogs(id) ON DELETE CASCADE ON UPDATE RESTRICT;

Значения ON DELETE и ON UPDATE

CASCADE — Каскадное удаление и редактирование. Эта настройка означает, что при удалении каталога, все товары из него тоже удалятся. При редактировании, если мы изменим id каталога, у товаров автоматически изменится поле «catalog_id».

RESTRICT — При этой настройке, если мы попытаемся удалить каталог, в котором есть товары, или изменить его id, база данных выдаст нам ошибку и удаление не состоится.

SET NULL — Из названия видно, что если исчезнет(удалится или изменится) каталог с таким id, то у товаров в поле «catalog_id» установится значение NULL. С этой настройкой нужно вести себя осторожно, потому что по умолчанию индексы «NOT NULL».

NO ACTION — Игнорируем удаление и редактирование каталога, и пусть в поле «catalog_id» будет несуществующий идентификатор, просто игнорируем это.

Пример ManyToMany

Случай посложнее, в нем, чтобы не дублировать записи, создают отдельную таблицу связей, которая обычно состоит из двух полей. Рассмотрим пример: authors(id, name) , books(id, name) , author_book(author_id, book_id) . Книга может быть написана соавторами, и у автора может быть множество книг — отличный пример связи ManyToMany.

Создание таблицы связей

В phpmyadmin

Сгенерированный запрос

CREATE TABLE library.author_book (author_id INT NOT NULL , book_id INT NOT NULL , INDEX (author_id, book_id)) ENGINE = InnoDB;

author_id и book_id вместе являются составным индексом, осталось только добавить ограничения на каждый из них во вкладке «связи» и все готово!

Заключение

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

phpMyAdmin содержит инструмент под названием Дизайнер . Этот инструмент позволяет упростить работу по созданию таблиц в базе данных и связей между таблицами.

Для начала создайте базу данных и войдите с полученными данными пользователя в phpMyAdmin .

Этап I. Создание хранилища конфигурации

Этап II. Работа с Дизайнером

  • В левом поле со списком баз данных выберите вновь созданную
  • Переходим в меню Ещё и подменю Дизайнер

  • В панели инструмента справа выбираем Показать/Скрыть список таблиц
  • Слева откроется панель со списком таблиц. Скрыть/показать ненужные таблицы, относящиеся к Хранилищу настроек (pma) , можно снятием/установкой соответствующей галочки

Создание связи

  • Выбираем таблицы, между которыми необходимо настроить связи
  • Нажимаем Создать связь в панели инструментов
  • Далее у стрелки появится надпись Выберите ссылочный ключ . Необходимо нажать на первичный ключ таблицы. В нашем случае это ключ tbl1_id в таблице table1
  • Стрелка поменяет надпись на Выберите внешний ключ . Необходимо кликнуть на соответствующее поле связанной таблицы. В нашем случае это поле tbl1_id в таблице table2
  • В диалоговом окне выбираем ОК


mob_info