Управление таблицами в PHPMyAdmin
В этой статье я научу Вас управлять таблицами в PHPMyAdmin, то есть создавать, редактировать и удалять таблицы в базе данных. Эта статья очень важная, и Вам надо обязательно её изучить.
Начнём с создания таблицы в PHPMyAdmin:
- Зайти на главную страницу PHPMyAdmin.
- Выбрать из выпадающего списка имя базы данных, в которую Вы хотите добавить таблицу.
- Ввести имя новой таблицы, указать количество полей (столбцов) и нажать на кнопку "Пошёл".
- Укажите соответствующие настройки для каждого поля, потом для таблицы, а затем нажмите на кнопку "Пошёл".
Тут есть о чём поговорить. Начнём с настроек для полей таблицы:
- Имя, думаю, задать сможете. Единственное, не нарвитесь на зарезервинованное слово. То есть нельзя давать полю, например, такое имя "index".
- Тип. О типах полей подробно говорилось в этой статье: типы полей в MySQL, поэтому ничего добавлять не буду.
- Длины/значения. Здесь можно указать предельные значения(длины) переменных. Я, например, часто использую данную возможность для экономии ресурсов. Например, для пароля я ставлю тип 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.
- Выбрать из выпадающего списка имя базы данных, в которой находится искомая таблица.
- Кликнуть по имени таблицы, поле в которой Вы хотите отредактировать.
- Щёлкнуть на значок "Карандаша" напротив поля, которое Вы хотите отредактировать.
- Изменить необходимые настройки и нажать на кнопку "Сохранить".
Чтобы удалить таблицу в PHPMyAdmin надо сделать следующее:
- Зайти на главную страницу PHPMyAdmin.
- Выбрать из выпадающего списка имя базы данных, в которой находится искомая таблица.
- Кликнуть по имени таблицы, поле в которой Вы хотите отредактировать.
- Перейти по ссылке "Уничтожить".
- Подтвердить удаление.
И последнее - это удаление полей из таблиц в PHPMyAdmin:
- Зайти на главную страницу PHPMyAdmin.
- Выбрать из выпадающего списка имя базы данных, в которой находится искомая таблица.
- Кликнуть по имени таблицы, в которой Вы хотите удалить поле.
- Щёлкнуть на значок "Крестик" напротив того поля, которое Вы хотите удалить.
- Подтвердить удаление.
Всё. Надеюсь, Вам стало понятно, как управлять таблицами в PHPMyAdmin, ведь это нужно уметь обязательно.
Подробная работа с phpMyAdmin в новой версии разобрана в курсе "PHP и MySQL с Нуля до Гуру": http://srs.myrusakov.ru/php
P.S. Всех Вас с Рождеством!
-
- Михаил Русаков
Комментарии (25):
Михаил! В чём может быть причина? Создал на хостинге БД и таблицу для гостевой книги (идентично как у меня в Денвере). В Денвере всё работает, а на хостинге в таблицу из формы вместо русского текста попадает вот это: ??????????? и выводится то же самое. Числа и англисский текст записываются и выводятся правильно. Если текст (русский) вставляю в таблицу вручную, то он записывается правильно, но с таблицы выводится вот это: ???????????
Ответить
Служба поддержки хостинга пишет: "Подключите mysql_query("SET NAMES cp1251"); после mysql_connect". Что-то я их не понял! Что это значит? Где его нужно подключать???
Ответить
Это значит что нужно добавить sql запрос с изменением кодировки сразу после подключения к базе, в Вашем коде.
Ответить
Михаил, подскажите пожалуйста удалил строки из таблици через php MyAdmin подскажите их как нибудь можно восстановить?
Ответить
Переустановить phpMyAdmin, либо денвер.
Ответить
а если это уже давно работающий сайт и я удалил кучу контента?
Ответить
Вы хотите восстановить сайт? Если делали бэкапы, то нет проблем, если не делали, то узнайте у хостера, они иногда их делают. Если и они не делали, то уже никак не восстановить.
Ответить
Спасибо Вам, Михаил, за наше просвещение. И просьба к Вам. Расскажите, пожалуйста, как в PHPMyAdmin создавать запрос к БД.
Ответить
http://myrusakov.ru/phpmyadmin-sintaksissql.html
Ответить
Михаил! У меня получается только создать новую базу данных и новую таблицу. При попытке редактировать или изменить чистый экран справа. Могу пользоваться только "Вставить." Внизу не которые строчки с копировал с экрана. --------------------------------- http://localhost/tools/phpMyAdmin/index.php?db=mysite_local&token=cc444300c25ab5054eb4962ed86d9f76#PMAURL:db=mysite_local&server=1&target=db_structure.php&token=cc444300c25ab5054eb4962ed86d9f76 phpMyAdmin К началу Окно запроса Документация phpMyAdminДокументация Обновить фрейм навигации (Недавние таблицы) ...`mysite_local`.`articles``mysite-local`.`tablica``mysite-local`.`articles` (Базы данных) ... information_schema mysite-local mysite_local mysql performance_schema phpmyadmin Структураarticles Создать таблицуСоздать таблицу -------------------------------------Очень буду благодарен.
Ответить
Попробуйте для начала через другой браузер.
Ответить
Михаил! Я перешел на браузет Firefox и редактировать базу данных у меня получается.Локальный сервер Denver создает у меня на компьютере логический диск "Z". В Вашем видеоуроке я вижу такую строчку: C:\MyServer\home\myside.local\www\lib\functions.php Большая просьба помочь мне начать создавать папки - где их создавать и где должны находиться основные файлы сайта. Буду очень благодарен за ответ.
Ответить
В видеоуроке показано, где нужно создавать. Z или C:\MyServer - неважно, это синонимы, о чём в курсе говорилось.
Ответить
Внимательно еще раз посмотрел видеоурок и понял. Спасибо. Я создал упрощенную первую страницу, когда я перехожу по ссылке "Читать дальше" у меня пояляется такая строчка http://mysite.local/article.php?id=1 Далее на экране такое сообщение: "Fatal error: Call to a member function fetch_assoc() on a non-object in Z:\home\mysite.local\www\lib\functions.php on line 22". Все id=1, id=2, id=3,id=4 переключают правильно и записи на своем месте и везде одинаковый ответ -Z:\home\mysite.local\www\lib\functions.php on line 22". Мой файл functions.php <?php $mysqli = false; function connectDB() { global $mysqli; $mysqli = new mysqli("localhost", "root", "", "mysite-local"); $mysqli->query("SET NAMES 'utf8'"); } function getAllArticles() { global $mysqli; connectDB(); $result_set = $mysqli->query("SELECT * FROM `table`"); closeDB(); return resultSetToArray($result_set); } function getArticle($id) { global $mysqli; connectDB(); $result_set = $mysqli->query("SELECT * FROM `table` WHERE `id`=`$id`"); closeDB(); return $result_set->fetch_assoc(); } function resultSetToArray($result_set) { $array = array(); while (($row = $result_set->fetch_assoc()) !=false) $array[] = $row; return $array; } function closeDB() { global $mysqli; $mysqli->close(); } ?> Буду очень благодарен за помощь.
Ответить
http://myrusakov.ru/php-fetchassoc.html
Ответить
Здравствуйте, Михаил. Меня интересует вопрос с языком на страницах phpMyAdmin. В данном уроке видно, что вы используете русифицированную версию phpMyAdmin. Подскажите как поставить именно её, может быть это другая версия дэнвера? Я поставил дэнвер и в нём phpMyAdmin на английском. За ранее спасибо.
Ответить
http://myrusakov.ru/phpmyadmin-russian.html
Ответить
Михаил, скажите пожалуйста, есть ли какой то разумный лимит на количество полей в одной таблице. (к примеру 30 - это много?). Спасибо.
Ответить
Тут зависит больше от того, что в них содержится.
Ответить
текст - макимум символов 250 - 300
Ответить
Это нормально.
Ответить
спасибо.
Ответить
Здравствуйте. Столкнулся с такой проблемой. Нужно чтобы при удалении из одной таблицы автоматически удалялись соответствующие записи из второй. Ну например есть таблица Teams где 2 поля team_id и name. И есть таблица Players где поля player_id, name, team_id. нужно чтобы при удалении записи из таблицы Teams удалялись все записи из таблицы Players в которых одинаковые значения team_id. Помогите пожалуйста а то совсем не получается
Ответить
Михаил, подскажите пожалуйста, почему, когда я пытаюсь изменить поля в таблице, у меня выводится вот такая ошибка: #1063 - Incorrect column specifier for column 'login'?
Ответить
Доброго дня! пытаюсь удалить в базе записи по условию ранее определённой даты, но пхпмойадмин выдаёт ошибку синтаксиса delete from where my_date_field < DATE("2012-12-31") - INTERVAL 1 MONTHS; таблиц много поэтому надо просто удалить все записи ранее определённой даты. Поиском ничего путного не нашёл уточнение - хотелось сделать это запросом, но не в одной таблице а во всей базе
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.