Опубликован: 16.01.2007 | Доступ: свободный | Студентов: 0 / 0 | Оценка: 4.33 / 4.16 | Длительность: 10:11:00
Лекция 9:

Работа с датой и временем

< Лекция 8 || Лекция 9: 1234 || Лекция 10 >
Аннотация: В лекции рассматриваются команды работы с датой и временем в MySql.

Работа с датой

Файл для работы с этой лекцией - скачать.

До сих пор мы имели дело с текстом ( 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, например, такого вида. Количество записей может быть произвольно.

INSERT INTO employee_per (e_id, address, phone, p_email, 
birth_date, sex, m_status, s_name, children) values (1,
 'Арбат, 12', 7176167, 'anna@yandex.ru', '1972-03-16', 
'F', 'Y', 'Анна Петрова', 2);

Затем загрузим этот файл, как мы делали раньше, в базу данных.

В системе 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, который был рассмотрен в "Типы данных столбцов" .

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. Поиск по дате рождения с использованием оператора >=
< Лекция 8 || Лекция 9: 1234 || Лекция 10 >
Александра Каева
Александра Каева
Диляра Кенжебай
Диляра Кенжебай