Справочник по MySQL

Примеры Добавить поле 'address2' к таблице 'people' и. задать ему тип данных 'VARCHAR' с максимальной длиной 200 символов.

ALTER TABLE people ADD COLUMN address2 VARCHAR(100)
Добавить два новых индекса к таблице 'hr', обычный индекс для поля'salary' и уникальный индекс для поля 'id'. Также продолжить выполнение, если найдены дублируемые значения при создании индекса 'id_idx' (очень опасно!).
ALTER TABLE hr ADD INDEX salary_idx ( salary )
ALTER IGNORE TABLE hr ADD UNIQUE id_idx ( id )
Изменить значение по умолчанию для поля 'price' в таблице'sprockets' на $19.95.
ALTER TABLE sprockets ALTER price SET DEFAULT '$19.95'
Удалить значение по умолчанию для поля 'middle_name' в таблице 'names'.
ALTER TABLE names ALTER middle_name DROP DEFAULT
Изменить тип данных для поля 'profits' с начального значения (которым, возможно, было INTEGER) на BIGINT.
ALTER TABLE finanaces CHANGE COLUMN profits profits BIGINT
Удалить поле 'secret_stuff' из таблицы 'not_private_anymore'
ALTER TABLE not_private_anymore DROP secret_stuff
удалить индекс с именем 'id_index' также как и первичный ключ из таблицы 'cars'.
ALTER TABLE cars DROP INDEX id_index, DROP PRIMARY KEY
Переименовать таблицу 'rates_current' на 'rates_1997'
ALTER TABLE rates_current RENAME AS rates_1997
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. Таблица 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'.

DATE
3
Значение даты, которое хранит год, месяц и день. Значения всегда выводятся в формате 'YYYY-MM-DD', но могут быть введены в любом из следующих форматов: 'YY-MM-DD', 'YYYY-MM-DD', 'YYMMDD' или 'YYYYMMDDHHMMSS' (часть, хранящая время, игнорируется).

TIME
3
Значение времени, хранящее часы, минуты и секунды. Значения всегда выводятся в формате 'НН: MM: SS', но могут быть введены в любом из следующих форматов: 'НН: MM: SS', 'HHMMSS', 'ННММ' (секунды равны '00'), или 'НН' (минуты и секунды обнуляются).

DATETIME
8
Сохраняет и дату и время. Значения вводятся и выводятся в формате 'YYYY-MM-DD HH: MM: SS'.

YEAR
1
Значение, сохраняющее год. Может быть введено либо в формате 'YYYY', либо 'YY', будет выведено либо как двухзначный, либо как четырехзначный год, в зависимости от формата ввода. Двухзначный год может находиться в диапазоне между 1970 и 2069 включительно. Этот тип данных в настоящее время поддерживает года с 1901 по 2155.

CHAR (length) /ШЬЮ (length-)
length
Строка фиксированной длины. Любой текст меньшей длины будет дополнен пробелами в конце строки. Все конечные пробелы, вставленные либо MySQL, либо пользователем, удаляются при выводе значения. MySQL по умолчанию считает текст не чувствительным к регистру (см. модификатор BINARY ниже). Тип BINARY эквивалентен CHAR с модификатором BINARY .

CHAR (length) VARYING/ VARCHAR (length)/ VARBINARY ( length)
length
Текстовая строка переменной длины (нечувствительная к регистру) с установленной максимальной длиной. Максимальная длина должна лежать в диапазоне между 1 и 255 символами. Все концевые пробелы удаляются при сохранении данных этого типа. Тип VARBINARY эквивалентен VARCHAR с BINARY модификатором.

TINYTEXT
length+1
Текстовое поле (нечувствительно к регистру) с максимальной длиной в 255 символов.

TINYBLOB
length+1
Двоичное поле (чувствительно к регистру) с максимальной длиной в 255 символов. Двоичные данные чувствительны к регистру.

TEXT/LONG VARCHAR
length+2
Текстовое поле с максимальной длиной в 64 Кбайт текста.

BLOB/LONG VARBINARY
length+2
Двоичное поле с максимальным размером в 64 Кбайт данных.

MEDIUMTEXT
length+3
Текстовое поле с максимальной длиной в 16 Мбайт текста.

MEDIUMBLOB
length+3
Двоичное поле с максимальным размером в 16 Мбайт данных.

LONGTEXT
length+4
Текстовое поле с максимальной длиной в 4 Гбайт текста.

LONGBLOB
length+4
Двоичное поле с максимальным размером в 4 Гбайт данных.

ENUM
1,2
Поле, которое может содержать одно значение из предварительно заданного набора (например ENUM ("apples", "oranges", "bananas")). Данные могут быть введены как одно из текстовых значений набора либо как число, соответствующее одному из элементов набора (номер первого элемента 1). В поле всегда может быть внесено значение NULL. Набор (коллекция) может содержать до 65535 разных элементов. Если в наборе меньше 256 элементов, поле займет только один байт (иначе его размер равен двум байтам).

SET
1—8
Поле может содержать любое количество предварительно заданных значений (например SET ("rock," "pop," "country," "western")). Данные могут быть заданы как список разделенных запятыми значений либо как двоичное битовое представление значений (например 12, т. е. 1100 в двоичном виде, относится к "country, western" в предыдущем примере). В одном наборе может быть до 64 элементов.

В дополнение к основным типам могут использоваться некоторые модификаторы.
decimal
Максимальное количество цифр справа от запятой в числе с плавающей запятой. Любое значение с более длинной дробной частью будет округлено. Например, для поля price FLOAT(5,2) значение 4.34 будет показано как 4.34, значение 234.27 будет показано как 234.3 (для соответствия общей максимальной длине), значение 3.331 будет выглядеть как 3.33 (для соответствия максимальной длине дробной части).
length
Количество символов для числовых значений, показываемое пользователю. Включает десятичные запятые, знаки и индикаторы экспонент. Например, поле peanuts INT(4) имеет допустимый диапазон от -999 до 9999. MySQL сохранит значение, выходящие за пределы заданного диапазона, пока оно не выйдет за пределы максимального размера для своего типа. Если вы сохраните значение вне заданного диапазона, MySQL выдаст предупреждение, но будет функционировать нормально.

Отправить комментарий

Проверка
Антиспам проверка
Image CAPTCHA
...