Числовой тип
В табл. 8.8 показано, что числовые типы делятся на целочисленные и типы с плавающей точкой.
Таблица 8.8
Определение | Тип | Описание |
TINYINT
| Целочисленный | 8-битный тип данных |
SMALLINT
| Целочисленный | 16-битный тип данных |
MEDIUMINT | | 24-битный тип данных |
INT
| Целочисленный | 32-битный тип данных. Это стандартный тип и хороший выбор для данных общего назначения |
BIGINT
| Целочисленный | 64-битный знаковый тип данных |
FLOAT(P)
| С плавающей точкой | Числа с плавающей точкой с точностью как минимум P знаков |
DOUBLE(<i>D, N</i>)
| С плавающей точкой | Числа с плавающей точкой и двойной точностью из <i>D</i> цифр и <i>N</i> десятичных знаков |
NUMERIC(<i>P, S</i>)
| С плавающей точкой | Действительные числа длиной <i>P</i> разрядов всего с <i>S</i> десятичными разрядами из них. В отличие от DOUBLE это точно заданное число (exact number), поэтому оно больше подходит для хранения денежных сумм, но обрабатывается менее эффективно |
DECIMAL(<i>Р, S</i>)
| С плавающей точкой | Синоним NUMERIC
|
Мы полагаем, что в основном вы будете пользоваться типами
INT
,
DOUBLE
и
NUMERIC
, поскольку они ближе всего к стандартным типам SQL. Остальные типы нестандартные и могут отсутствовать в тех системах управления базами данных, куда вы решите переместить данные когда-либо в будущем.
Временной тип
В табл. 8.9 перечислены пять имеющихся временны́х типов.
Таблица 8.9
Определение | Описание |
DATE
| Хранит даты с 1 января 1000 г. по 31 декабря 9999 г. |
TIME
| Хранит время с -838:59:59 до 838:59:59 |
TIMESTAMP
| Хранит метку времени, начиная с 1 января 1970 г. и по 2037 г. |
DATETIME
| Хранит даты с 1 января 1000 г. по последнюю секунду 31 декабря 9999 г. |
YEAR
| Хранит номер года. Будьте осторожны с двузначными величинами, поскольку они неоднозначны и автоматически преобразуются в четырехзначные числа. |
Учтите, что следует быть внимательными при сравнении значений типов
DATE
и
DATETIME
в отношении способа обработки значения времени; результаты могут оказаться неожиданными. Подробности ищите в руководстве по MySQL, поскольку поведение разных версий СУРБД слегка отличается.
Создание таблицы
Имея действующий сервер базы данных, зная как предоставлять права доступа пользователям и как создавать базу данных, а также ознакомившись с основными типами данных, можно переходить к созданию таблиц.
Таблица базы данных — это просто последовательность строк, каждая из которых содержит фиксированный набор столбцов. Она довольно похожа на электронную таблицу за исключением того, что у всех строк должно быть одно и то же число столбцов и одинаковые типы данных и каждая строка каким-то образом должна отличаться от всех остальных строк таблицы.
База данных может, если для этого есть разумные основания, содержать очень много, практически неограниченное количество таблиц. Однако лишь немногим СУРБД требуется более 100 таблиц, а большинству маленьких систем вполне достаточно 25 или около того таблиц.
Синтаксис языка SQL, посвященный созданию объектов баз данных и называемый DDL (data definition language, язык определения данных), невозможно охватить полностью в одной главе; все подробности есть в разделе документации, на Web-сайте MySQL.
Базовый синтаксис для создания таблиц следующий:
CREATE TABLE <<i>таблица</i>> {
column type [NULL | NOT | NULL] [AUTO_INCREMENT] [PRIMARY KEY]
[, ...]
[, PRIMARY KEY (столбец [, ...] ) ]
)
Удалять таблицы можно с помощью очень простой синтаксической формулы
DROP TABLE
.
DROP TABLE <<i>таблица</i>>
Есть всего лишь небольшое число ключевых слов, приведенных в табл. 8.10, которые вам необходимо знать для того, чтобы быстро создать таблицу.
Таблица 8.10
Ключевое слово | Описание |
AUTO INCREMENT
| Это специальное ключевое слово сообщает MySQL о том, что, когда вы пишете в данный столбец NULL , следует автоматически заполнить столбец данными с помощью автоматически формируемого числа с наращением. Это чрезвычайно полезное средство; оно позволяет применять MySQL для автоматического назначения уникальных номеров строкам ваших таблиц, хотя оно может применяться только в столбцах, являющихся также первичными ключами. В других системах управления базами данных оно часто реализуется порядковым типом или управляется более явно с помощью последовательности |
NULL
| Специальное значение в базе данных, обычно применяемое для обозначения "неизвестной" величины, но может также использоваться для обозначения "неподходящего" значения. Например, если вы заполняете таблицу подробными данными о сотрудниках, у вас может быть столбец с адресом электронной почты. В этом случае вы будете хранить NULL вместо адреса данного сотрудника, чтобы показать, что для конкретного человека эта информация не известна. Запись NOT NULL означает, что в этом столбце нельзя хранить значения NULL и может оказаться полезной для того, чтобы помешать вводу в такие столбцы значений NULL , если, например, значение всегда должно быть известно, как в случае фамилии сотрудника |
PRIMARY KEY
| Указывает на то, что данные в этом столбце будут уникальными и разными во всех строках данной таблицы. У каждой таблицы может быть только один первичный ключ |