Лабораторная работа
Тема: Создание базы в MySQL
Цель работы: Знакомство с объектами БД MySQL. Применение технологий импортирования объектов из приложения MS Access в БД MySQL.
Порядок выполнения работы
1. Запустить браузер Интернета - Internet Explorer, в поле адрес введите ссылку test1.ru/php/ и нажмите Enter.
2. В поле Сопоставление соединения с MySQL выбрать стандартную кодировку cp1251_general_ci, которая позволяет игнорировать регистры букв.
3. В поле Создать новую БД введите название базы – FRIENDS и кликните по кнопке Создать.
Создание таблицы
4. В открывшейся странице укажите: имя таблицы – PET; количество полей – 6.
Кликните по кнопке Пошел.
5. Заполните поля таблицы данными, указав Сравнение для каждого поля – cp1251_general_ci. Для поля name установите индекс, выбрав переключатель
кличка
владелец
вид
пол (м/ж)
дата рожд. дата потери
После ввода данных кликните по кнопке Сохранить. В результате появится SQL-запрос и созданная структура таблицы.
Загрузка данных в таблицу
1. В меню страницы выберите команду Вставить
2. В открывшемся окне заполнить поля Значение следующими данными:
После заполнения всех предложенных записей, укажите Вставить новую запись и кликните Пошел.
Для просмотра введенных данных выберите команду SQL на панели инструментов и в окне Выполнить запросы SQL на БД, записан запрос на выборку: SELECT * FROM `PET` WHERE 1. Для выполнения запроса кликните Пошел.
Запросы на SQL
1. Выберите команду SQL на панели инструментов и создайте запрос, определяющий владельцев и их животных, которые родились после 1998 года:
SELECT * FROM `PET` WHERE birth>="1998-1-1".
2. Создайте запрос, выбирающий всех кошек и кобелей:
SELECT * FROM `PET` WHERE (species="кот" AND sex="ж") OR (species="собака" AND sex="м")
3. Создайте запрос, выбирающий животных отсортированных сначала по типу животного, потом - по дате рождения и затем – расположить наиболее молодых животных определенного типа в начале списка:
SELECT name, species, birth FROM PET order by species, birth DESC
4. Создайте запрос, вычисляющий возраст любого из животных. Для этого нужно вычислить разницу между текущим годом и годом его рождения, а из результата вычесть единицу, если текущий день находится к началу календаря ближе, нежели день рождения животного
SELECT name, birth, current_ date, (year (current_date) - year(birth)) – (right (current_date,5) < right(birth,5)) as age FROM PET order by age
5. Найти все клички животных, содержащие «и»
SELECT * FROM PET WHERE name like "%и%"
6. Найти все имена, содержащие ровно пять символов, можно при помощи шаблонного символа «_».
SELECT * FROM PET WHERE name like "_____"
Самостоятельная работа
1. Создайте таблицу EVENT (события), которая содержит дополнительную информацию о посещении ветеринара или рождении потомства, следующей структуры:
Name Date Type remark
Матильда 1995-05-15 рождение 5 котят
Кеша 1999-06-23 рождение 4 птенца
Слим 1998-06-19 ветеринар осмотр
Тузик 1999-03-21 ветеринар прививка
Чика 1999-08-03 ветеринар сломано крыло
2. Узнайте в каком возрасте животные давали приплод.
select pet.name,(to_days(date) - to_days(birth))/365 as age, remark from pet, event where pet.name=event.name and type ="рождение"
Импортирование таблиц в БД MySQL
1. Из БД Конференция (Access) экспортируйте таблицу Делегация в текстовый файл Del, используя команду Файл – Экспорт:
На первом шаге мастера укажите: с разделителями - поля разделяются запятыми или табуляцией.
На следующем шаге: Разделители полей - ; Ограничитель текста - “
Текстовый файл сохраните в свою папку.
2. В MySQL создайте БД FORUM
3. Создайте таблицу Delegaciy аналогичной структуре таблице Делегация
4. В командном меню выберите . В открывшимся окне укажите:
месторасположение текстового файла, использовав кнопку Обзор
кодировку - cp1251
номер выбираемой первой записи – 0
отметьте CSV using LOAD DATA и проверьте: поля разделены - ; поля заключены в – “
кликните по кнопке Пошел.
5. Для проверки полученных записей выполните запрос выборки всех записей (количество записей -29)
6. В БД Конференция (Access) создайте запрос Создание таблицы, в которой будут продублированы записи таблицы Участники, с изменением формата дат. Даты должны иметь формат гггг – мм – дд. Для этого в запросе измените поле ДатаЗаезда на выражение
ДатаЗаезда: Year(Конференция!ДатаЗаезда) & "-" & Month(Конференция!ДатаЗаезда) & "-" & Day(Конференция!ДатаЗаезда)
Аналогично измените формат поля ДатаОтъезда
7. Для таблицы Участники проделайте пункты 1,3-5.
Текстовому файлу дайте имя - Ych
Импортированная таблица в MySQL называется Ychastnici
Тема: Доступ к базе данных из программ на РНР
Порядок выполнения работы
1. В папке LR, находящейся по адресу: c:Webservershome est1.ruwwwLR, содержатся php-файлы: Сonfig.php, Index.php и Pet.php.
2. Файл конфигурации Сonfig.php содержит описание подключения к базе данных FRIENDS. Для соединения с БД используется функция:
@mysql_connect($dbhost,$dblogin,$dbpassword), где переменные
$dbhost = localhost; #сервер
$dblogin = root; #логин
$dbpassword = ; #пароль
2.1. Для выбора БД используется функция:
mysql_select_db($db, $dbcon ), где переменные
$db = FRIENDS
$dbcon = @mysql_connect($dbhost,$dblogin,$dbpassword); #дескриптор соединения
2.2. Функция mysql_select_db возвращает сообщения о соединении
3. Главный файл Index.php создан для отображения главного меню. В центре располагается название работы «Лабораторная работа». Для отображения данных базы Friends используется таблица с двумя ссылками:
<center><a HREF="pet.php">Таблица №1 Pet</a></center>
<center><a HREF="event.php">Таблица №2 Event</a></center>
4. Файл описания таблицы Pet.php содержит само описание таблицы PET и действий, которые можно произвести с записями таблицы, выбрав ссылку на эту таблицу из главного меню.
4.1. В окне с таблицей PET есть ссылка и подсказка для возвращения на главное меню:
<a href=index.php title="Вернуться в главное меню"><font face="Comic Sans MS"><<=</font></a> (строка 171 файла pet.php)
4.2. Добавление новой записи передается через переменную do:
<a href=pet.php?do=add title="Добавить"><font face="Comic Sans MS">Добавить</font></a> (строка 173 файла pet.php)
Реакция программы на использование ссылки прописывается:
if ($_GET[do] == "add") (строка 13 файла pet.php)
4.3. Методом Post происходит добавление записи в таблицу. Таблица описывается:
<table width="300" align="center" height="87" border="0" cellpadding="0" cellspacing="0">(строка 50 файла pet.php)
Каждое поле описывается аналогичным образом:
<tr>
<td width="119" height="30" align="right"><font face="Comic Sans MS">Name:</font></td>
<td width="185" align="center"><input name="name" type="text" /></td>
</tr> (строки 51-81 файла pet.php)
После заполнения шаблона ввода данными и нажатия на кнопку по методу Post
<td height="29" colspan="2" align="center"><input name="add" type="submit" value="Добавить"></td> (строка 84 файла pet.php)
происходит переход на строку 27 и выполняется запрос на добавление записи в таблицу PET:
if ($_POST)
{
mysql_query("INSERT INTO `pet` VALUES (, ".$_POST[name].", ".$_POST[owner].", ".$_POST[species].", ".$_POST[sex].", ".$_POST[birth].", ".$_POST[death].");");
echo(" Информация успешно добавлена! <a href=pet.php>Вернуться назад.</a>");
}
После успешного добавления записи появится информация и ссылка:
4.4. Редактирование записи происходит при использовании ссылки . Сначала описывается форма для отображения записи (строка 120 файла pet.php):
<table width="300" align="center" height="87" border="0" cellpadding="0" cellspacing="0">
Параметр value дает отображение записи в форме.
По методу Get (щелчок мыши)
5. Папка IMG содержит иконки для отображения ссылок:
- удаление записи;
- редактирование записи
Создание базы в MySQL
Лабораторная работа по предмету «Web-программирование»