Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab_7_1.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
686.08 Кб
Скачать

2 Создание таблицы

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

Создадим простую таблицу, где будут храниться некоторые данные. Для этого используем язык SQL. Составить SQL-запрос и обратиться с ним к базе данных можно следующим образом:

$Query="текст запроса в формате SQL";

mysql_db_query("DatabaseName", $Query, $Link);

Так как SQL похож на обычный английский язык, запрос на создание базы данных будет выглядеть так:

$Query="CREATE table TABLENAME (column1, column2 и т.д . )";

Каждому столбцу, отделенному от других запятыми, необходимо присвоить имя и тип. Типичные типы — TEXT (текст) и INT (целое число). Теория реляционных БД требует, чтобы первый столбец создавался как первичный ключ, который мог бы однозначно идентифицировать всю строку. Поэтому запрос на создание таблицы должен быть таким:

$Query="CREATE table New Table(id INT PRIMARY KEY, information TEXT)";

Более подробные сведения о SQL содержатся на сайте MySQL.

Однако предоставленной здесь информации вполне достаточно для выполнения основных задач при работе с базами данных.

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

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

1. Откройте текстовый редактор и создайте новый РНР-документ следующего содержания.

  1. <HTML>

  2. <HEAD>

  3. <TITLE>Создание таблицы</TITLE></HEAD>

  4. <BODY>

  5. <?php

  6. // Установка значений переменных для доступа к базе данных.

  7. $Host = "localhost";

  8. $User = "root";

  9. $Password = "";

  10. $DBName = "db1";

  11. $TableName = "Feedback";

  1. $Link = mysql_connect ($Host, $User, $Password) ;

  2. mysql_select_db($DBName);

  1. $Query = "CREATE table $TableName (id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, FirstName TEXT, LastName TEXT, EmailAddress TEXT, Comments TEXT)";

  2. if (mysql_query ($Query)) {

  3. print ("Запрос успешно выполнен!<BR>\n");

  4. } else {

  5. print ("Запрос не был выполнен!<BR>\n". mysql_error());

  6. }

  7. mysql_close ($Link);

  8. ?>

  9. </BODY>

  10. </HTML>

Строки с № 1 по № 4 создают стандартный HTML-заголовок.

Строки с № 5 по № 11 открывают PHP-раздел сценария и задают переменные для доступа к базе данных.

Обратите внимание на то, что к списку из предыдущего листинга мы добавили еще одну переменную — "$TableName". Она будет содержать имя таблицы с данными.

Так как мы собираемся хранить информацию о пользователях, назовем нашу таблицу "Feedback" (обратная связь). Обратите внимание также на то, что в MySQL имена таблиц и столбцов являются регистрозависимыми.

Строка № 12 устанавливает связь с сервером.

Строка № 13 выбирает и инициализирует необходимую базу данных для работы.

Строка № 14 создаёт запрос. Проанализируем эту строку по частям.

Сначала создаем новую таблицу, написав "CREATE table $TableName" В этой строке имя переменной "$TableName" будет заменено значением переменной "$TableName" при выполнении запроса. В скобках перечислены все столбцы через запятые.

Первый столбец в таблице называется "id". Это будет целое число без знака. Запись "INT UNSIGNED" означает, что целое число может быть только положительным. Слова "NOT NULL" указывают, что данный столбец не может иметь пустое значение. При добавлении новой строки значения автоматически увеличиваются на единицу ("AUTO_INCREMENT") и исполняют функцию первичного ключа.

Следующие четыре столбца будут текстовыми: первый содержит имя, второй — фамилию, третий — адрес электронной почты, четвертый — комментарии.

Строки с № 15 по № 19 содержат запрос к базе данных и вывод соответствующих сообщений о результатах его выполнения.

Если запрос выполнен успешно (значение условной конструкции истинно), вы должны увидеть сообщение "Запрос успешно выполнен". Если таблица не была создана в результате ошибки в SQL, то результат будет — "Запрос не был выполнен!" и сообщение об ошибке, в результате которой запрос не был выполнен.

Строки с № 20 по № 23 закрывают соединение с сервером MySQL, PHP-раздел и HTML-документ.

2. Сохраните сценарий под именем "CreateTable.php", загрузите его на сервер и протестируйте в браузере.

Если попробуете еще раз запустить данный скрипт, то на экране должно появиться следующее сообщение, говорящее о том, что такая таблица уже была создана:

Необязательно писать SQL-запросы, периодически используя заглавные буквы, как в приведенном примере. Но такой стиль помогает легко отличать SQL от имен таблиц и столбцов. Имена таблиц и столбцов являются регистрозависимыми, а SQL-команды в основном нет.

Для проверки работоспособности данного скрипта зайдите в phpMyASdmin и нажмите на db1 в закладке Базы данных. Должно появиться следующее окно, отображающее, что в базе данных создана таблица Freedback:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]