Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие MySQL_4.doc
Скачиваний:
12
Добавлен:
24.09.2019
Размер:
7.78 Mб
Скачать

ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ

Государственное образовательное учреждение

Высшего профессионального образования

САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ

Работа с базами данных в СУБД MySQL

Учебное пособие для вузов

Санкт-Петербург

2009

Работа с базами данных в СУБД MySQL: Учебное пособие / СПбГУАП.СПб., 2009.

В учебном пособии описаны возможности для работы с базами данных в среде MySQL

Рецензенты:

Утверждено

Редакционно-издательским советом университета

в качестве учебного пособия

ГОУ ВПО «Санкт-Петербургский

государственный университет

аэрокосмического приборостроения», 2009

Введение

В данном пособии описаны методы выполнения основных действий с базами данных в среде MySQL. Рассмотрен синтаксис основных SQL-инструкций для создания и сопровождения реляционной базы данных. Приведены примеры управления привилегиями пользователей по работе с табличными данными. Для отладки и демонстрации примеров был использован сервер MySQL версии 5.0.1.

В приложении приведен список ключевых слов и выражений для сервера MySQL, что может быть использовано в качестве справочного пособия.

При написании учебного пособия в качестве базового источника сведений была выбрана книга [ 1 ] , т.к. в данной книге, по мнению авторов, необходимый для изучения материал представлен, во-первых, достаточно полно и, во-вторых, без излишнего нагромождения несущественных для первого ознакомления деталей.

  1. Типы данных MySql

Перед созданием базы данных необходимо точно определить, какие типы данных будут использованы.

Все типы данных, с которыми работает MySQL, можно разбить на три группы: числовые, текстовые и даты-времени. Рассмотрим эти типы данных по порядку.

    1. Числовые типы данных

Числовые типы столбцов используются для хранения чисел, все числовые типы можно разбить на два подтипа: для хранения точных чисел и чисел с плавающей точкой. Все числовые типы характеризуются длиной хранимых чисел, а типы с плавающей точкой еще и числом десятичных разрядов. Эти значения указываются после объявления типа столбца, например, FLOAT(10, 2). В примере указано, что запись числа содержит 10 символов и два знака после десятичного разделителя.

Объявление числовых типов можно заканчивать ключевыми словами ZEROFILL и (или) USIGNED. Ключевое слово USIGNED означает, что столбец содержит только положительные числа или нули. ZEROFILL означает, что число будет отображено с ведущими нулями.

Типы данных NUMERIC и DECIMAL (DEC) идентичны. Эти типы данных используются для хранения чисел с плавающей точкой. Обычно их используют для хранения денежных значений.

Тип данных INTEGER можно сократить до INT. Это означает целое число в заданном диапазоне. Для хранения этого типа данных отводится 4 байта, что соответствует числам от -2 147 483 648 до 2 147 483 647. Также существует несколько вариантов типа INTEGER.

Тип данных TINYINT используется для однобайтных чисел от -128 до 127. Для хранения двухбайтных чисел (от -32 768 до 32 767) используется тип данных SMALLINT, а для хранения самых больших целых чисел (от -263 до 263-1) используется тип BIGINT .

Числа с плавающей точкой имеют либо тип FLOAT (четырехбайтные числа в диапазоне от -3.4 * 10 38 до 3.4 * 1038 ), либо тип DOUBLE (восьмибайтные числа в диапазоне от -10 -308 до 10308 )

    1. Текстовые типы данных

В типах данных char и varchar хранятся данные, состоящие из следующих компонентов:

- знаки в верхнем и нижнем регистре, например a, b и C.

- цифры, например 1, 2 и 3.

- специальные знаки, например символы @, & !.

Тип CHAR используется для хранения строк фиксированной длины. После ключевого слова CHAR обычно указывается длина строки, например, CHAR(50). Если длина строки не указана, то считается, что длина равна одному символу. Максимальная длина поля данного типа равняется 255 символам. Если число переданных в строку символов меньше указанной длины, то строка будет дополнена пробелами, если больше, то обрезана. При возврате значения пробелы будут удалены из строки.

Тип VARCHAR предназначен для хранения строк переменной длины. Как и в предыдущем типе данных задается максимальная длина строки, например, VARCHAR(30). При этом, более длинные строки, переданные в этот столбец, будут обрезаны.

Разница двух описанных типов заключается в том, что по строкам с фиксированной длиной выборка идет намного быстрее. И если важна скорость работы с базой данных, то предпочтительно выбирать именно тип CHAR.

Тип полей TEXT используется для хранения более длинных фрагментов текста, чем допускается предыдущими типами. Тип BLOB означает большой двоичный объект. Эти два типа одинаковы за исключением того, что в типе BLOB сравнение строк идет с учетом регистра символов, а в типе TEXT без учета регистра. Оба типа имеют переменную длину и оба имеют некоторые вариации:

- TINYTEXT и TINYBLOB могут хранить до 255 символов;

- TEXT и BLOB могут хранить до 64 килобайт информации;

- MEDIUMTEXT и MEDIUMBLOB могут хранить до 16 мегабайт;

- LONGTEXT и LONGBLOB могут хранить до 4 гигабайт.

Тип ENUM позволяет перечислить набор возможных значений для ввода в поле и хранит только одно значение из представленного списка. Например, ENUM(`m`,`a`,`z`) . Если не указать, какое значение используется в поле по умолчанию, то будет использовано первое значение списка.

Тип SET аналогичен типу ENUM, но позволяет хранить несколько значений из списка значений в поле.

    1. Типы даты и времени

Тип DATE применяется для хранения дат в формате ( гггг-мм-дд ), а тип TIME применяется для хранения времени в формате (чч:мм:сс).

Тип DATETIME объединяет два предыдущих типа и имеет формат (гггг-мм-дд чч:мм:сс ) .

Поле типа TIMESTAMP обычно используется для хранения даты и времени, когда была создана или изменена соответствующая строка.

Поле типа YEAR содержит значение года. Возможны две длины: YEAR(2) и YEAR(4) для двух, и четырех цифр года соответственно. При использовании YEAR(2) диапазон дат принимается с 1970 по 2069 годы.