5.3.2 Создание таблицы
Создание базы данных — это простая часть, но на данном этапе она пуста, как говорит SHOW TABLES:
mysql> SHOW TABLES;
Empty set (0.00 sec)
Более сложная задача — определить структуру вашей базы данных: какие таблицы вам нужны и какие столбцы должны быть в каждой из них.
Вам нужна таблица, которая содержит запись для каждого вашего питомца. Это может называться таблицей pet, и она должна содержать, как минимум, имя каждого животного. Поскольку само имя не очень интересно, таблица должна содержать другую информацию. Например, если более одного человека в вашей семье содержит питомцев, вы можете указать владельца каждого животного. Вы также можете записывать некоторую базовую описательную информацию, такую как вид и пол.
А как насчет возраста? Это может быть интересно, но это нехорошо хранить в базе данных. Возраст меняется со временем, что означает, что вам нужно будет часто обновлять записи. Вместо этого лучше хранить фиксированное значение, такое как дата рождения. Затем, когда вам понадобится возраст, вы можете вычислить его как разницу между текущей датой и датой рождения. MySQL предоставляет функции для выполнения арифметических операций с датами, поэтому это несложно. Хранение даты рождения вместо возраста также имеет другие преимущества:
Вы можете использовать базу данных для задач, таких как создание напоминаний о предстоящих днях рождения питомцев. (Если вам кажется, что этот тип запроса немного глупый, обратите внимание, что тот же вопрос можно задать в контексте бизнес-базы данных для определения клиентов, которым нужно отправить поздравления с днем рождения на текущей неделе или месяце, для того самого компьютерно-ассистируемого личного контакта.)
Вы можете рассчитать возраст относительно дат, отличных от текущей. Например, если вы сохраните дату смерти в базе данных, вы можете легко рассчитать, сколько лет было питомцу, когда он умер.
Вы, вероятно, можете придумать и другие типы информации, которые были бы полезны в таблице pet, но указанных до сих пор достаточно: имя, владелец, вид, пол, дата рождения и дата смерти.
Используйте оператор CREATE TABLE для указания структуры вашей таблицы:
mysql> CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20),
species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);
VARCHAR — хороший выбор для столбцов name, owner и species, потому что значения столбцов изменяются по длине. Длины в этих определениях столбцов могут быть разными и не должны быть 20. Обычно вы можете выбрать любую длину от 1 до 65535, что кажется вам наиболее разумным. Если вы сделаете плохой выбор и позже выяснится, что вам нужен более длинный столбец, MySQL предоставляет оператор ALTER
TABLE.
Для представления пола в записях о животных можно выбрать несколько типов значений, таких как 'm' и 'f', или, возможно, 'male' и 'female'. Проще всего использовать одиночные символы 'm' и 'f'.
Использование типа данных DATE для столбцов birth и death — довольно очевидный выбор.
После создания таблицы, SHOW
TABLES должно выдать некоторый результат:
mysql> SHOW TABLES;
+---------------------+
| Tables in menagerie |
+---------------------+
| pet |
+---------------------+
Чтобы проверить, что ваша таблица была создана так, как вы ожидали, используйте оператор 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 | |
+---------+-------------+------+-----+---------+-------+
Вы можете использовать DESCRIBE в любое время, например, если вы забудете имена столбцов в вашей таблице или какие у них типы.
Более подробную информацию о типах данных MySQL см. в Главе 13, Типы данных.
© 2025 Oracle
Licensed under the GPLv2 License.