PHP скрипты

MySQL

Apache

phpMyADmin

2.6: Создание таблицы MySQL

Главная Страница » Книги по PHP » MySQL уроки для начинающих с нуля » Создание таблицы MySQL

Создание базы данных дело простое, но сейчас база пустая, о чем и сообщает команда SHOW TABLES:

mysql> SHOW TABLES;
Empty set (0.00 sec)

Эта команда показывает (SHOW), какие таблицы (TABLES) присутствуют в базе данных. Обратите внимание, что большинство команд SQL весьма прозрачны для понимания. Строку Empty set (0.00 sec) следует понимать так: в базе данных ничего нет, сервер потратил на обработку 0.00 секунд своего времени, что и понятно, так как обрабатывать ему было нечего.

Наиболее трудная часть этого дела: решить, какова будет структура вашей базы данных, в каких таблицах вы будете нуждаться, и какие столбцы будут в каждой из них.

У вас будет таблица, которая содержит запись для каждого из ваших домашних животных. Она может быть названа pet и должна содержать, как минимум, имя каждого животного. Так как имя само по себе не очень интересно, таблица должна содержать и другую информацию. Например, если больше чем один человек в вашем семействе имеет домашних животных, вы могли бы внести в список владельца каждого животного. Вы могли бы также записывать некоторую базисную описательную информацию, вроде разновидности и пола.

Каков приблизительный возраст? Это могло бы быть интересным, но лучше не вписывать такие данные в таблицу. Возраст изменяется, а это означает, что вы должны будете часто модифицировать записи. Вместо этого лучше сохранить фиксированное значение, типа даты рождения. Затем всякий раз, когда вы нуждаетесь в данных о возрасте, вы можете вычислить его как различие (но не разность!) между текущей датой и датой рождения. MySQL обеспечивает функции для подсчета даты, так что это нетрудно. Сохранение даты рождения имеет также и другие преимущества:

  • вы можете использовать базу данных для задач, типа оповещений о приближающихся со страшной скоростью днях рождения любимых. Если вы думаете, что этот тип запроса несколько глуп, подумайте, как здорово он будет смотреться в контексте деловой базы данных, по которой надо разослать постоянным клиентам поздравления с днем рождения. В плане рекламы фирмы хорошие отношения с постоянными клиентами имеют важнейшее значение;
  • вы можете вычислять возраст относительно других дат, а не текущей. Например, если Вы сохраняете дату гибели животного, вычислить его возраст не составит никакого труда.

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

Теперь надо создать таблицу в базе данных MySQL. В языке SQL (а значит, и в MySQL) все создается командой CREATE, вы это уже видели. Теперь надо создать не базу данных, а таблицу (TABLE). Значит, используйте инструкцию CREATE TABLE, чтобы определить вашу таблицу:

mysql> CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20),
    -> species VARCHAR(20), sex CHAR(l), birth DATE, death DATE);

Сколько новых слов! He пугайтесь: все проще, чем кажется. По большей части они задают столбцы: сначала следует имя столбца (например, owner), а затем его тип (например, VARCHAR(20)). Сейчас не так уж важно, что именно представляют собой типы, до этого мы еще дойдем. Сейчас надо научиться работать с базой данных.

VARCHAR представляет собой хороший выбор для столбцов имени, владельца и разновидности животного, потому что значения столбца изменяются по длине. Длины столбцов паше, owner и species не должны превышать 20 символов (именно 20 указано в скобках сразу после имени типа).

Вообще-то, для этого типа столбцов вы можете выбирать любую длину от 1 до 255, какая покажется наиболее приемлемой. Если вы сделаете столбец недостаточных размеров, а позже окажется, что вы нуждаетесь в более длинном поле, MySQL обеспечит инструкцию ALTER TABLE, чтобы переделать таблицу. Об этом речь пойдет в главе 7, где рассмотрены манипуляции с таблицами.

Пол животных можно представить разными путями, например, m и f или словами male и female. Самое простое: использовать одиночные символы m и f.

Использование типа данных DATE (дата) для столбцов рождения и гибели (birth и death) - явно довольно очевидный выбор.

Теперь, когда вы создали таблицу MySQL, команда SHOW TABLES должна произвести некоторый вывод:

mysql> SHOW TABLES;
+---------------------+
| Tables in menagerie |
+---------------------+
| pet                 |
+---------------------+

Чтобы проверить, что ваша таблица MySQL была создана именно тем путем, какой вы ожидали, используйте инструкцию DESCRIBE: она покажет структуру таблицы и много сведений о ней:

mysql> DESCRIBE pet;
+---------+---------------+------+-----+---------+-------+
| Field   | Type          | Null | Key | Default | Extra |
+---------+---------------+------+-----+---------+-------+
| name    | varchar(20)   | YES  |     | NULL    |       |
| owner   | varchar(20)   | YES  |     | NULL    |       |
| species | varchar(20)   | YES  |     | NULL    |       |
| sex     | char(1)       | YES  |     | NULL    |       |
| birth   | date          | YES  |     | NULL    |       |
| death   | date          | YES  |     | NULL    |       |
+---------+---------------+------+-----+---------+-------+

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

Поделиться с друзьями