До сих пор мы имели дело с текстом (varchar) и числами (int). Чтобы понять тип данных date (дата) создадим еще одну таблицу, аналогично тому, как была создана первая таблица.
Создадим в текстовом редакторе файл employee_per.dat, который содержит оператор создания таблицы CREATE следующего вида:
CREATE TABLE employee_per (e_id int unsigned not null primary key, -- идентификационный номерaddress varchar(60), -- адресphone int, -- номер телефонаp_email varchar(60), -- адрес e-mailbirth_date DATE, -- дата рожденияsex ENUM('M', 'F'), -- полm_status ENUM('Y','N'), -- статусs_name varchar(40), -- имяchildren int); -- количество детей
и последовательность операторов INSERT, например, такого вида. Количество записей может быть произвольно.
Затем загрузим этот файл, как мы делали раньше, в базу данных.
В системе Windows
1). Поместите файл в каталог c:\mysql\bin.
2). Выполните в приглашении DOS команду.
dosprompt> mysql employees <employee_per.dat
3). Запустите программу клиента mysql и проверьте, что таблица была создана, с помощью команды SHOW TABLES;.
В системе Linux
1). Перейдите в каталог, в котором находится файл.
2). В приглашении введите следующую команду:
$prompt> mysql employees <employee_per.dat -u your_username -p
3). Проверьте, что таблица была создана с помощью команды SHOW TABLES; в программе клиента mysql.
Данные таблицы можно вывести с помощью команды DESCRIBE.
mysql> DESCRIBE employee_per;
Результат запроса представлен на рис. 9.1.
Рис. 9.1. Просмотр данных таблицы
Обратите внимание, что столбец birth_date имеет тип столбца date (дата). Здесь также присутствует еще один новый тип столбца ENUM, который был рассмотрен в лекции 4.
e-id: идентификатор сотрудника, такой же как в таблице employee_data
address: адрес сотрудника
phone: номер телефона
p_email: личный адрес e-mail
birth_date: дата рождения
sex: Пол сотрудника, мужской (M) или Женский (F)
m_status: семейное положение, в браке (Y) или холост (N).
s_name: Имя супруга (NULL, если сотрудник холост)
children: Число детей (NULL, если детей нет)
Даты в MySQL всегда представлены с годом, за которым следует месяц и затем день месяца. Даты часто записывают в виде YYYY-MM-DD, где YYYY -- 4 цифры года, MM -- 2 цифры месяца и DD -- 2 цифры дня месяца.
Тип столбца даты позволяет выполнять несколько операций, таких как сортировка, проверка условий с помощью операторов сравнения и т.д.
Использование операторов = и !=
select p_email, phone from employee_per where birth_date = '1969-12-31';
Результат запроса представлен на рис. 9.2.
Рис. 9.2. Поиск по дате рождения
Примечание: MySQL требует, чтобы даты были заключены в кавычки.
Использование операторов >= и <=
select e_id, birth_date from employee_per where birth_date >= '1970-01-01';
Результат запроса представлен на рис. 9.3.
Рис. 9.3. Поиск по дате рождения с использованием оператора >=