• strict warning: Non-static method view::load() should not be called statically in /var/www/codeacademy/sites/all/modules/views/views.module on line 1113.
  • strict warning: Declaration of views_handler_field::query() should be compatible with views_handler::query($group_by = false) in /var/www/codeacademy/sites/all/modules/views/handlers/views_handler_field.inc on line 0.
  • strict warning: Declaration of content_handler_field::element_type() should be compatible with views_handler_field::element_type($none_supported = false, $default_empty = false, $inline = false) in /var/www/codeacademy/sites/all/modules/cck/includes/views/handlers/content_handler_field.inc on line 0.
  • strict warning: Declaration of views_handler_sort::options_validate() should be compatible with views_handler::options_validate($form, &$form_state) in /var/www/codeacademy/sites/all/modules/views/handlers/views_handler_sort.inc on line 0.
  • strict warning: Declaration of views_handler_sort::options_submit() should be compatible with views_handler::options_submit($form, &$form_state) in /var/www/codeacademy/sites/all/modules/views/handlers/views_handler_sort.inc on line 0.
  • strict warning: Declaration of views_handler_sort::query() should be compatible with views_handler::query($group_by = false) in /var/www/codeacademy/sites/all/modules/views/handlers/views_handler_sort.inc on line 0.
  • strict warning: Declaration of views_handler_filter::options_validate() should be compatible with views_handler::options_validate($form, &$form_state) in /var/www/codeacademy/sites/all/modules/views/handlers/views_handler_filter.inc on line 0.
  • strict warning: Declaration of views_handler_filter::query() should be compatible with views_handler::query($group_by = false) in /var/www/codeacademy/sites/all/modules/views/handlers/views_handler_filter.inc on line 0.
  • strict warning: Declaration of views_plugin_query::options_submit() should be compatible with views_plugin::options_submit($form, &$form_state) in /var/www/codeacademy/sites/all/modules/views/plugins/views_plugin_query.inc on line 0.
  • strict warning: Declaration of views_plugin_style_default::options() should be compatible with views_object::options() in /var/www/codeacademy/sites/all/modules/views/plugins/views_plugin_style_default.inc on line 0.
  • strict warning: Declaration of views_plugin_row::options_validate() should be compatible with views_plugin::options_validate(&$form, &$form_state) in /var/www/codeacademy/sites/all/modules/views/plugins/views_plugin_row.inc on line 0.

Основы работы с базой данных MySQL

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

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

Для управления базами данных существует специальный язык запросов –

SQL (structured query language),

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

Сейчас мы создадим базу данных для хранения информации о пользователях вымышленной социальной сети. Как правило, такие данные представляют собой имя пользователя, его логин, пароль и дату рождения.
Любая база данных содержит в себе одну или несколько именованных таблиц, содержащие записи. Каждая запись состоит из полей. Например, наша база данных будет содержать пока что одну таблицу users с такими полями: user_id, name, login, password, date_of_birth (дата рождения).

Как вы видите, первое поле всех записей имеет название user_id, которое будет содержать порядковый номер строки таблицы. Такое поле будет присутствовать практически во всех таблицах базы данных MySQL. С помощью таких уникальных номеров записи в таблице не будут конфликтовать между собой и могут использоваться в качестве ссылок в других таблицах.
Итак, войдите в своем любимом браузере в систему управления базами данных MySQL по адресу http://localhost/Tools/phpMyAdmin/ . (Внимание перед переходом по ссылке не забудьте запустить Дэнвер). На экране вы увидите примерно такую картинку:

Здесь все просто – устанавливается кодировка MySQL и основные параметры отображения приложения. В верхнем меню выберите пункт "Базы данных", после чего вам предложат создать новую базу данных. Назовем ее, например, "myDB" и установим кодировку utf-8:

После нажатия на кнопку "создать" название нашей базы данных появится в списке слева (заглавные буквы при этом перешли в нижний регистр). Выбираем ее из списка и переходим в меню создания таблиц. Таблица у нас пока что только одна и будет иметь 5 столбцов (полей):

После того, как наша таблица будет создана, откроется окно с содержимым таблицы "users" – пять строк с пустыми элементами:

Имя первого поля у нас – user_id, его тип – int (integer), потому что здесь будут храниться целочисленные значения. Свойство "длина/значения" установите равным 10 (количество символов в значении поля). Далее, пропустим ненужные атрибуты и найдем поле "индекс". Установите его значение как "PRIMARY". Не будем слишком вдаваться в теорию структуры баз данных, скажу лишь одно – только что вы установили первичный ключ таблицы "users", а это значит, что поле "user_id" будет содержать уникальные значения, которые будут участвовать в поиске и использоваться в других таблицах для взаимосвязи с таблицей "users".

И последний необходимый нам атрибут для поля "user_id"– это AUTO_INCREMENT (A_I), где мы должны установить флажок. Атрибут AUTO_INCREMENT дает указание базе данных, что значение поля user_id при добавлении новой записи будет автоматически увеличиваться на единицу. Отлично, теперь вам не придется заботиться о том, чтобы каждый новый пользователь имел свой уникальный номер – он будет устанавливаться сам, увеличиваясь каждый раз на "1"!
Следующие поля name, login, password будут иметь одинаковые атрибуты - текстовый тип (VARCHAR) с максимальной длиной – 20 символов.

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

Не забудьте снова установить "сравнение" в utf-8 и нажмите кнопку "сохранить".
Таблица "users" была успешно создана!
Заполнение таблицы "users"
Теперь вы видите в нашей базе данных таблицу "users" и опции для работы с ней. Выберите пункт "вставить" и в открывшемся окне введите значения первой записи, например:

Как видите поле user_id мы оставляем пустым, ведь оно содержит атрибут AUTO_INCREMENT и его значение установится автоматически – для первой записи это будет единица. Кнопка "ок" сохраняет запись в базе данных. Таким образом, вы можете добавить сколь угодно много записей в таблицу, а чтобы просматривать ее содержимое используйте опцию "обзор".

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

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