Программирование >>  Программный интерфейс приложений 

1 ... 201 202 203 [ 204 ] 205 206 207 ... 264


чений, возвращаемых функцией. Название файла с исполняемым кодом или функцией и путь к нему определяются элементом sharedJibraryname.

Ключевое слово AGGREGATE определяет, что функция является фуп-повой, например, как функции зим {) или МАХ (). Это ключевое слово впервые появилось в MySQL версии 3.23.5.

Для выполнения оператора CREATE FUNCTION необходимо, чтобы сервер бьщ построен в виде динамически связанного двоичного кода (не статического), поскольку динамические связи используются механизмом UDF. Указания по написанию определяемых пользователем функций можно найти в справочном руководстве по MySQL.

CREATE INDEX

CREATE [UNIQUE] INDEX Шехпате ON tbljname (index columns). Добавляет индекс indexjwme no таблице tblname. Этот оператор выполняется как оператор ALTER TABLE ADD INDEX ИЛИ ALTER TABLE ADD UNIQUE B

зависимости от того, добавлено или нет ключевое слово UNIQUE. Более детальную информацию о нем можно найти в описании оператора ALTER TABLE. Оператор CREATE INDEX Впервые появился в MySQL серии 3.22.

CREATE TABLE

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl name {create definition, . . .) I table options]

[[IGNORE I REPLACE] select statement]

create defwition:

{ col dedaration

PRIMARY KEY [index columns) KEY [ index name] (index columns) INDEX [indexname] {index columns) UNIQUE [INDEX] [index name] {index columns) [CONSTRAINT symbol] FOREIGN KEY indexjtame (index columns) [ reference defmition] CHECK {expr) )

coldeclaration:

col name coljype [NOT NULL I NULL] [DEFAULT defaull value] [AUTO lNCREMENT] [ PRIMARY KEY ] [ reference defwition]

reference definition:

REFERENCES tbl name I (index columns) ]

[MATCH FULL I MATCH PARTIAL] [ON DELETE reference option] [ON UPDATE reference option]

reference option:

{RESTRICT I CASCADE I SET NULL NO ACTION SET DEFAULT]



Оператор create table создает новую таблицу с именем tbl name. Если указывается ключевое слово temporary, таблица существует только до конца текущего клиентского соединения или запуска оператора drop table, после чего удаляется. Временную таблицу может видеть только создавший ее пользователь.

Как правило, попытка создать таблицу с уже используемым именем приводит к появлению ошибки. Эта ошибка, однако, не появляется в двух случаях. Во-первых, при определении предложения if not exists ошибка не выводится, хотя и таблица не создается. Во-вторых, если определено ключевое слово temporary, а ранее созданная таблица не является временной, создается новая временная таблица, однако на время ее существования исходная таблица tbl name недоступна для клиента. Все остальные клиенты могут продолжать с ней работать. Исходная таблица становится доступной в следующем сеансе работы или сразу после удаления временной таблицы с помошью оператора drop table.

Список createjdefinition определяет имена создаваемых столбцов и индексов. Он необязателен, если таблица создается с помощью вложенного оператора select. Предложение table options позволяет определить различные свойства таблицы. При определении оператора select statement (представленного в форме любого оператора select) таблица создается с помощью результируюшего набора, возвращаемого оператором select. Более подробно эти предложения описываются в следующих разделах.

Ключевое слово temporary, предложения if not exists и table options, a также возможность создания таблицы из результатов оператора select впервые появилась в версии MySQL 3.23.

В качестве описания createdeftnition может выступать описание столбца, определение индекса, предложение foreign key, reference definition или предложение check. Последние три задаются для совместимости с другими системами баз данных и во всех остальных случаях игнорируются.

Описание столбца coldeclaration начинается с имени столбца coljjame и его типа coltype и может сопровождаться несколькими необязательными ключевыми словами. В качестве типов столбца можно выбирать любой тип из описанных в приложении Б, Типы столбцов . В этом приложении можно также найти описание специфических атрибутов типов. При определении типа столбца можно определять следуюшие ключевые слова.

null или not null. Определяет, может или нет столбец содержать значения null. По умолчанию установлено значение null.

default default value. Определяет значение по умолчанию для столбца. Это ключевое слово нельзя использовать для типов blob или text. Если значение по умолчанию не определено, то такое значение присваивается автоматически. Так, в столбцах, в которых можно вводить значение null, по умолчанию устанавливается значение null. Если же это значение запрещено для ввода, значение по умолчанию устанавливается следующим образом.



Для числовых столбцов, кроме столбцов autoincrement, значение по умолчанию устанавливается равным 0. В столбце autoincrement значением по умолчанию является следующее значение в последовательности столбца.

Для типов даты и времени, кроме timestamp, по умолчанию устанавливается значение ZERO для типа (например, 0000:00:00 для типа date). Для типа timestamp по умолчанию устанавливается текущее значение даты и времени.

Для строковых типов, кроме типа enum, значением по умолчанию является пустая строка. Для типа enum таким значением является первый элемент перечня.

auto iNCREMENT. Это ключевое слово применяется только к столбцам целочисленных типов. Особенность столбца AUT0 C0LUMN заключается в том, что при вставке в него значения null реально встав/гяется целое число, которое на единицу больше максимального текущего значения столбца. По умолчанию значения столбца auto increment Начинаются с 1. Первое значение можно определять явным образом с помощью табличной опции auto increment. Кроме того, столбец должен быть определен как индекс unique или primary key и не должен иметь значения not null. Число столбцов auto increment в таблице не может превышать одного.

PRIMARY key. Определяет столбец как первичный ключ primary key.

unique. Определяет столбец как индекс unique. Этот атрибут можно определять в MySQL версии 3.23 и выше.

Предложения primary key, unique и key определяют индексы, причем первые два определяют индексы, которые должны содержать уникальные значения. Предложения index и key являются синонимами и определяют индексы, которые могут содержать повторяющиеся значения. Определяемый индекс базируется на перечисленных в indexcolumns столбцах, каждый из которых должен быть столбцом таблицы tblname. Если указывается сразу несколько столбцов, их названия следует разделить запятыми. Для столбцов типа char и varchar МОЖНО индексировать префикс столбца, используя синтаксис со1 пате(п} для индексирования первых л символов значений столбца. Нельзя индексировать весь столбец. Если пользователь не указьшает имя индекса indexjname, оно выбирается автоматически на основании имени первого индексируемого столбца.

В версиях, предшествующих версии MySQL 3.23, индексируемые столбцы необходимо определять как not null. Во всех более поздних версиях таким образом описывать необходимо только столбцы, входящие

в индексы primary key.

Предложение iab!e oplions появилось в версиях MySQL версии 3.23. Если оно присутствует, то может содержать одно или более количество описанных ниже опций. Если определяется сразу несколько опций, они



1 ... 201 202 203 [ 204 ] 205 206 207 ... 264

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика