Платформы корпоративных информационных систем

         

CREATE



CREATE

CREATE DATABASE dbname

CREATE TABLE name ( field_name field__type, ... )

CREATE INDEX name ON table ( column, ...)

CREATE FUNCTION name RETURNS values SONAME library

Создает новые элементы базы данных (или полностью новую базу). Предложение используется для создания баз данных, таблиц и функций, определяемых пользователем (UDFs).

Команда CREATE INDEX поддерживается для совместимости с другими реализациями SQL. В старых версиях SQL эта команда ничего не выполняла. В версии 3.22 это предложение эквивалентно ALTER TABLE ADD INDEX. Чтобы выполнить CREATE INDEX , вы должны иметь право INDEX для этой таблицы.

CREATE DATABASE создает полностью пустую базу данных. Это эквивалент утилите mysqladmin . Так же как и при запуске mysqladmin, вы должны иметь права администратора MySQL (обычно root или mysql) для выполнения этой команды.

CREATE FUNCTION позволяет предложениям MySQL получать доступ к прекомпилированным выполняемым функциям. Эти функции могут выполнять практически любые операции, так как они проектируются пользователем. Возвращаемое значение может быть STRING для символьных данных; REAL для чисел с плавающей запятой или INTEGER для целых чисел. MySQL преобразует возвращаемое значение С-функций к указанному типу. Библиотека, содержащая функцию, должна быть стандартной разделяемой библиотекой, которую MySQL может динамически присоединить к серверу.


CREATE TABLE определяет структуру таблицы в базе данных. Этим оператором создаются все таблицы MySQL. Предложение состоит из имени таблицы, за которым идет любое количество определений полей. Синтаксис определения полей включает в себя имя поля, за ним его тип, за ним любой модификатор (например: name char(30) not null ). MySQL поддерживает следующие типы данных, представленные в таблице 15-1.



CREATE

CREATE TABLE name field_name field_type, [field2 type2, ...]

CREATE SEQUENCE ON table [STEP value] [VALUE value]

CREATE INDEX name ON table ( column, ...)

Создает новые элементы базы данных (или полностью новые базы). Предложение используется для создания БД, таблиц, индексов и счетчиков.

CREATE SEQUENCE создает счетчик на таблицу. Счетчик - это простое значение, связанное с таблицей, за которым следит сервер mSQL. Наиболее часто счетчик используют для создания уникальных идентификаторов в таблицах. При прочтении значение счетчика каждый раз инкрементируется. Спецификатор STEP указывает на какое значение каждый раз инкрементируется счетчик. Спецификатор VALUE задает начальное значение счетчика.

Оператор CREATE INDEX определяет индекс для таблицы. Система mSQL поддерживает индексы, содержащие более одного поля. Вы должны дать индексу имя, необязательно осмысленное, поскольку конечным пользователям редко необходим доступ к индексам.

CREATE TABLE определяет структуру таблицы в базе данных. Этим оператором создаются все таблицы mSQL. Предложение состоит из имени таблицы, за которым идет любое количество определений полей. Синтаксис определения полей включает в себя имя поля, затем его тип, за которым следует любой модификатор (например: name char(30) not null). mSQL поддерживает следующие типы данных:

CHAR (length)

Текстовое значение фиксированной длины. Никакое значение не может быть больше заданной длины.

DATE

Стандартный тип даты.

INT

Стандартное четырехбайтовое целое в диапазоне от -2147483646 до 2147483647.

MONEY

Денежный тип, подходящий для аккуратного хранения денежных значений. Тип позволяет хранить десятичные значения (как 19.99) без необходимости использовать тип числа с плавающей запятой.

REAL

Стандартное восьмибайтовое число с плавающей запятой. Минимальные ненулевые значения +/-4.94Е-324 и максимальные значения +/- 1.79Е+308.

ТЕХТ( length)

Текстовое значение переменной длины. Заданная длина - это максимальное значение для большинства данных, однако могут быть введены и более длинные данные.

TIME

Стандартный тип времени.

UINT

Стандартное четырехбайтовое беззнаковое целое. Диапазон от 0 до 4294967295.

В дополнение к основным типам могут быть использованы несколько спецификаторов для уточнения свойств типа:

length

Это является максимальной длиной символьного типа. Для типа CHAR это абсолютный максимум, для типа TEXT это приблизительный максимум, применяющийся только к большинству данных. Более длинные данные могут быть введены в поле TEXT, однако это замедлит операции с таблицей.

NOT NULL

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

Примеры

# Создать 'простую таблицу

CREATE TABLE emp_data ( id INT, name CHAR(50) )

# Добавить счетчик к таблице 'checks' с начальным значением '1000' и # шагом инкрементации по умолчанию (1)

CREATE SEQUENCE ON checks VALUE 1000

# Создать индекс для таблицы 'music', включающий в себя

# поля 'artist','publisher' и 'title'.

CREATE INDEX idxl O.N music ( artist, publisher, title )

DELETE

DELETE FROM table [WHERE clause]

Удаляет запись из таблицы. Если применяется без предложения WHERE, будет полностью удалена вся таблица, а затем создана новая пустая

таблица. С использованием WHERE будут удалены записи, отвечающие условиям выражения.



Содержание раздела