Создание и выбор базы данных
Если администратор при выдаче разрешения создаст для вас базу, с ней можно сразу начинать работу. В противном случае вам придется создать ее самостоятельно:
mysql> CREATE DATABASE menagerie;
В Unix имеет значение регистр символов в именах баз данных (в отличие от ключевых слов SQL), так что в этой ОС вам всегда придется называть свою базу menagerie , а не Menagerie , MENAGERIE или еще как-нибудь. Это же правило распространяется и на имена таблиц (в Windows данное ограничение не действует, однако при обращении к базам и таблицам в пределах одного запроса, тем не менее, можно использовать только один регистр).
При создании базы данных она автоматически не выбирается; выбирать ее нужно отдельно. Сделать menagerie текущей базой можно с помощью следующей команды:
mysql> USE menagerie Database changed
Создавать базу нужно только однажды, но выбирать ее приходится в каждом сеансе работы с mysql . Делать это можно с помощью команды USE, представленной выше. А можно выбирать базу и из командной строки при запуске mysql . Для этого достаточно лишь ввести ее имя после параметров соединения, которые нужно вводить в любом случае. Например:
shell> mysql -h host -u user -p menagerie Enter password: ********
Обратите внимание: в вышеприведенной команде menagerie не является паролем. Ввести пароль в командной строке после параметра -p можно без пробела (например, -pmypassword , а не -p mypassword ). Впрочем, пароль в командной строке все равно лучше не вводить, так как таким образом его могут и подсмотреть.
Создание таблицы
Как вы уже успели убедиться, создать базу данных было просто. Однако пока что в ней ничего нет - в этом можно удостовериться при помощи команды SHOW TABLES :
mysql> SHOW TABLES; Empty set (0.00 sec)
Гораздо труднее определиться со структурой своей базы, т.е. с тем, какие могут понадобиться таблицы, и какие столбцы должны содержаться в каждой изних.
Вам обязательно будет нужна таблица, содержащая по записи на каждое из животных. Назвать ее можно pet , и храниться в ней будут, как минимум, имена. Но так как само по себе имя неинформативно, в таблице должны будут присутствовать и другие данные. Например, если домашние животные есть более чем у одного члена вашей семьи, в таблицу можно добавить и имя владельца каждого животного. Кроме того, в базу стоит внести и описательную информацию - например, вид и пол животного.
Но вот как быть с возрастом? Эта информация тоже может оказаться полезной, но хранить такие данные в базе неудобно. Возраст со временем меняется, а это значит, что придется довольно часто обновлять записи. Значительно удобнее хранить фиксированные значения - например, даты рождения. В таком случае возраст всегда можно получить, вычислив разницу между текущей датой и датой рождения. В MySQL есть функции для арифметических действий над данными, так что это совсем несложно. Хранение даты рождения имеет и другие преимущества:
Базу данных можно использовать для выдачи напоминаний о приближающихся днях рождения животных (не спешите улыбаться: та же задача может возникнуть и при работе с деловой базой данных, которая должна уметь напоминать о днях рождения клиентов, облегчая таким образом рассылку поздравлений).
Возраст можно подсчитывать относительно любой даты, а не только для текущей. Например, если записать в базу и дату смерти животного, всегда можно будет узнать, сколько лет ему было на момент смерти.
Можно было бы придумать и еще какие-нибудь данные, которые неплохо было бы хранить в таблице pet, но пока что мы ограничимся уже выбранными: именем (name ), именем владельца (owner ), видом (species ), полом (sex ), датой рождения (birth ) и датой смерти (death ).
При помощи команды CREATE TABLE определим структуру новой таблицы:
mysql> CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20), -> species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);
Тип VARCHAR отлично подойдет для хранения имени животного, имени владельца и названия вида, так как длина данных этого типа может варьироваться. Конечно, длины таких столбцов вовсе не должны совпадать и не должны быть равны 20 - можно выбрать любое значение в пределах от 1 до 255 (если при выборе длины столбца вы ошибетесь, и при работе с базой окажется, что столбец маловат, можно будет исправить ошибку при помощи команды ALTER TABLE ).
Пол животного можно обозначать несколькими способами, например буквами "m" и "f", или словами male (мужской) и female (женский). С буквами "m" и "f" будет проще.
Применение типа данных DATE для хранения дат рождения и смерти вполне очевидно.
Теперь, когда таблица создана, команда 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 можно в любое время, например, если вы забудете имена столбцов или типы, к которым они относятся.
1 2 3 4 5 6 7
8 8 8
|