· До сих пор мы имели дело с текстом (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-mail· birth_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, если детей нет)
· Особенности типа данных Date
· Даты в 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. Поиск по дате рождения с использованием оператора >=Определение диапазонов
select e_id, birth_datefrom employee_per wherebirth_date BETWEEN'1969-01-01' AND '1974-01-01';
Результат запроса представлен на рис. 9.4.
Рис. 9.4. Поиск по дате рождения в определенном диапазоне
Тот же запрос можно представить без конструкции BETWEEN: