MySQL & mSQL



              

MySQL SQL - часть 5


Команда 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.

Таблица 15-1. Типы данных

Тип

Размер (в байтах)

Комментарии

TINYIN'I ( length)/ INT1( length)

1

Целое с диапазоном значений от 0 до 255 без знака и от -128 до 127 со знаком.

SMALLINT ( length)/

2

Целое с диапазоном значений от

INT2( length)


0 до 65535 без знака и от -32768 до 32767 со знаком.

MEDIUMINT ( length)/

3

Целое с диапазоном значений от

INT3( length)/


0 до 16777215 без знака и от

MIDDLEINT ( length)


-8388608 до 8388607 со знаком.

INT (length)/

4

Целое с диапазоном значений от

INTEGER ( length)/


0 до 4294967295 без знака и от

INT4( length)


-2147483648 до 8388607 со знаком.

BIGINT (length)/

8

Целое с диапазоном значений от

INT8( length)


0 до 184467447370955165 без зна-



ка и от -9223372036854775808



до 9223372036854775807 со зна-



ком.

FLOAT/FLOAT (4)/ FLOAT

4

Число с плавающей запятой

(length, decimal )/ FLO-


с максимальным значением

AT4( length, decimal )


+/-3.402823466Е38 и минималь-



ным (не нулевым) значением



+/-1.175494351Е-38.

DOUBLEPRECISION

8

Число с плавающей запятой

(length, decimal )/


с максимальным значением

DOUBLE ( length, decimal )/


+/-1.7976931348623157Е308 и

REAL (length, decimal )/


минимальным (не нулевым) значе-

FLOAT8( length, decimal )/


нием +/-2.2250738585072014Е-308.

FLOAT (8)



DECIMAL ( length, decimal )/

length

Число с плавающей запятой с ди-

NUMERIC ( length, decimal )


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

TIMESTAMP (length)

4

Значение timestamp, которое обновляется каждый раз, когда изменяется запись. Также можно приписать значение вручную. При приписывании значения NULL в поле запишется текущее время. Поле длины (необязательное) определяет внешний формат записи. Длина 14 (значение по умолчанию) выводит строку типа ' YYYYMMDDHHMMSS' , 12 flacT'YYMMDDHHMMSS',' 8- 'YYYYMMDD', и 6 выдаст 'YYMMDD'.

<


Содержание  Назад  Вперед