Главная Случайная страница


Категории:

ДомЗдоровьеЗоологияИнформатикаИскусствоИскусствоКомпьютерыКулинарияМаркетингМатематикаМедицинаМенеджментОбразованиеПедагогикаПитомцыПрограммированиеПроизводствоПромышленностьПсихологияРазноеРелигияСоциологияСпортСтатистикаТранспортФизикаФилософияФинансыХимияХоббиЭкологияЭкономикаЭлектроника






Команды создания баз данных, таблиц и индексов.

CREATE DATABASE

Инструкция CREATE DATABASE создает базу данных. Синтаксис инструкции:

CREATE DATABASE [IF NOT EXISTS] имя_БД

В MySQL каждая база данных хранится в отдельном подкаталоге, поэтому при выполнении инструкции создается пустой каталог. Просмотреть список существующих баз данных можно с помощью инструкции SHOW DATABASES.

Пример:

CREATE DATABASE [IF NOT EXISTS] cars;

CREATE TABLE

Инструкция CREATE TABLE предназначена для создания таблиц. Это одна из наиболее сложных SQL-инструкций. Общий ее формат таков:

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] имя

[(спецификация, ...)]

[опция…]

[[IGNORE | REPLACE] запрос_на_выборку]

TEMPORARY задает создание временной таблицы, существующей в течение текущего сеанса. По завершении сеанса таблица удаляется.

IF NOT EXIST подавляет вывод сообщений об ошибках в случаях, если таблица с указанным именем уже существует. Имени таблицы может предшествовать имя базы данных, отделенное точкой (например, Сессия.ФИО). Если это не сделано, таблица будет создана в базе данных, которая установлена по умолчанию.

Можно задать имя таблицы с пробелами, для этого следует заключить его в обратные кавычки (`имя таблицы`). То же самое нужно будет делать во всех ссылках на таблицу, т.к. пробелы используются для разделения идентификаторов.

Спецификации столбцов и индексов приводятся в круглых скобках и разделяются запятыми.

Спецификация имеет следующий формат:

Имя_столбца тип

[NOT NULL | NULL]

[DEFAULT значение]

[AUTO_INCREMENT]

[PRIMARY KEY]

[ссылка]

Спецификация типа включает название типа и его размерность. Варианты использования различных наиболее часто применяемых типов показаны ниже в примере.

У любого столбца есть значение по умолчанию, которое задается явно с помощью предложения DEFAULT или выбирается MySQL автоматически. Поля-счетчики, создаваемые с помощью AUTO_INCREMENT, игнорируют значения по умолчанию, т.к. в них записываются порядковые номера. Тип счетчика должен быть беззнаковым целым (например, INTEGER(10) UNSIGNED).

Спецификация PRIMARY KEY позволяет назначить столбец первичным ключом. При этом для столбца будет создан индекс.

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

В конце инструкции CREATE TABLE может находиться запрос на выборку (в виде инструкции SELECT…). Результаты запроса на выборку будут занесены в создаваемую таблицу. Если в самой инструкции CREATE TABLE отсутствуют спецификации столбцов, то вид создаваемой таблицы будет соответствовать таблице результатов запроса. В противном случае столбцы результатов запроса будут добавлены к определенным ранее столбцам.

CREATE INDEX

Инструкция CREATE INDEX добавляет индекс с указанным именем к заданной таблице. Формат

CREATE [UNIQUE | FULLTEXT] INDEX имя

ON таблица (столбец [(длина)], …)

UNIQUE обеспечивает создание индекса с уникальным значением по таблице таблица.

FULLTEXT обеспечивает создание индекса, используемого для поиска больших двоичных объектов.

Команды изменения таблиц.

Инструкция ALTER TABLE позволяет менять определение таблицы. Для выполнения команды необходимо наличие привилегий ALTER, CREATE, INSERT. Общий формат команды

ALTER [IGNORE] TABLE имя_таблицы

спецификация [,спецификация ...]

где спецификация:

ADD [COLUMN] определение [FIRST | AFTER столбец] ‑ добавляет столбец к таблице в конец, в начало или после указанного столбца;

ADD [COLUMN] (определение, определение,…) – добавляет группу новых столбцов. Определения столбцов разделяются запятыми.

ALTER [COLUMN] столбец { SET DEFAULT значение | DROP DEFAULT } ‑ устанавливает новое значение по умолчанию или отменяет старое;

CHANGE [COLUMN] столбец определение – меняет определение столбца;

DROP {[COLUMN] столбец | PRIMARY KEY | INDEX индекс} – удаляет столбец, первичный ключ или индекс из таблицы.

 

Команда ALTER TABLE может быть использована для изменения определения таблицы. ALTER TABLE работает с временно созданной таблицей, в которую копирует все данные из текущей таблицы. Когда копия готова, старая таблица удаляется, а новая переименуется в нее. Это выполнено таким способом, что все изменения автоматически переназначаются на новую таблицу.

Пока работает ALTER TABLE, старая таблица доступна для других клиентов. Обновления и запись в таблицу останавливаются и будут выполнены только после того, как новая таблица будет готова.

Флаг IGNORE заставляет программу MySQL игнорировать изменения, вносимые в таблицу. Если IGNORE не определен, то копирование будет прервано и процесс отработан назад в случае наличия любых уникальных ключей, дублированных в новой таблице.

Внимание!

· ADD и CHANGE используют те же определения, что и CREATE TABLE. См. CREATE TABLE.

· CHANGE столбец, DROP столбец и DROP INDEX являются MySQL расширениями ANSI SQL.

· [COLUMN] ‑ факультативный параметр и может быть опущен.

· Если вы удаляете столбец, который является частью составного ключа, то часть ключа будет удалена. Если все части ключа удалены, то будет удален весь ключ.

· DROP PRIMARY KEY удаляет первый уникальный ключ в таблице.

· CHANGE меняет определение столбца. Эта возможность не предусмотрена в стандарте SQL. Другие СУБД также допускают модификацию столбцов, однако MySQL наиболее гибка в этом плане.

Разность отношений.

 

Разностью отношений R1 и R2 называется отношение, содержащее множество кортежей, принадлежащих R1 и не принадлежащих R2

 

R5 = R1 \ R2 = {r | r Î R1 Ç r Ï R2}

R6 = R2 \ R1 = {r | r Î R2 Ç r Ï R1}

 

Последнее изменение этой страницы: 2016-06-09

lectmania.ru. Все права принадлежат авторам данных материалов. В случае нарушения авторского права напишите нам сюда...