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

При использовании с типом TIMESTAMP модификатор length определяет формат, используемый для timestamp. При использовании с символьными (текстовыми) типами length определяет количество символов. Для символьных типов с фиксированной длиной length это точное число символов, используемое для хранения данных. Для текстовых типов с переменной длиной length это максимально возможная длина строки. Атрибут length является необязательным для всех типов, кроме DECIMAL/NUMERIC , CHAR и VARCHAR . Поскольку тип DECIMAL/NUMERIC хранится как символьная строка, он ограничен максимальной длиной точно так же, как и поле CHAR. Поэтому ввод чисел больше указанного диапазона вызовет такую же ошибку, что и при вводе слишком длинной строки в поле CHAR. precision Этот атрибут доступен для типа FLOAT в целях совместимости с системой ODBC. Значение этого атрибута, равное 4, указывает на обычное вещественное число (то же, что и FLOAT без атрибута точности), а значение 8 определяет число с плавающей запятой двойной точности (то же, что поле DOUBLE). AUTO_INCREMENT Атрибут позволяет автоматически обновлять числовое поле. Это удобно для создания уникальных идентификаторов для записей в таблице. Данные могут быть записаны и прочитаны из такого поля, как из обычного, но при вводе значения NULL или 0 существующее значение автоматически увеличивается на единицу. Текущее значение поля AUTO_INCREMENT может быть получено с помощью функции LAST_INSERT_ID (см. SELECT ниже). BINARY Атрибут используется с типами CHAR и VARCHAR- для указания на двоичные данные в текстовой строке. Единственным эффектом этого атрибута будет чувствительность к регистру при сортировке данных. По умолчанию MySQL игнорирует регистр при сортировке текста. DEFAULT value Атрибут приписывает полю значение по умолчанию. Это значение будет присвоено полю в случае, если во вводимой в таблицу записи это поле пустое. Если значение по умолчанию не определено и нет ограничения NOT NULL , то будет записано значение NULL. В случае NOT NULL MySQL запишет значение на основе типа поля. NOT NULL Этот атрибут гарантирует, что каждая запись в столбце будет иметь какое-либо, отличное от NULL, значение. Попытка вставить в такое поле значение NULL вызовет ошибку. NULL Атрибут указывает на допустимость значения NULL. Это атрибут по умолчанию в случае, если никакой атрибут не указан. Поля, входящие в состав индекса, не могут иметь атрибут NULL. (Он будет проигнорирован, даже если он указан.) PRIMARY KEY Атрибут автоматически делает поле первичным ключом таблицы. Таблица может иметь только один первичный ключ (см. ниже). Любое поле, являющееся первичным ключом, должно иметь атрибут NOT NULL.

REFERENCES table [(column, . . . )] [MATCH FULL | MATCH PARTIAL] [ON
DELETE option] [ON UPDATE option]
Атрибут в настоящее время не имеет эффекта. MySQL понимает полный синтаксис команды, но не обрабатывает ее. Этот модификатор поля поддерживается для облегчения импорта SQL из разных источников. Возможно также, что следующая версия MySQL будет полностью поддерживать эту функцию. UNSIGNED Этот атрибут используется с целочисленными типами для указания на беззнаковое целое. Максимальное значение беззнакового целого вдвое превосходит свой аналог со знаком, но не может хранить отрицательные числа. Без модификатора все типы считаются знаковыми. ZEROFILL Атрибут используется с целочисленными типами для добавления нулей перед числом, пока не будет достигнута длина, максимальная для типа. Например, поле counter INT(5) ZEROFILL покажет число 132 как 00132. Indexes MySQL поддерживает концепцию индексирования таблиц, как описано в главе 2, «Проектирование баз данных». Индексы создаются посредством особых «типов», включенных в определение таблицы.
KEY/INDEX [name] (column, [column2, . . . ])
Создает обычный индекс для всех столбцов с именами. (KEY и INDEX в этом контексте будут синонимами.) Индексу может быть дано имя (не обязательно). Если имя не указано, будет приписано имя, основанное на имени первого столбца, и, если это необходимо для поддержания уникальности, к имени будет добавлена цифра. Если в индекс входит более одного столбца, то все столбцы слева будут объединены в подгруппы и проиндексированы. Обратите внимание на следующее определение индекса: INDEX idxl ( name, rank, serial ); При создании этого индекса будут проиндексированы следующие группы столбцов:·name, rank, serial·name, rank name PRIMARY KEY Создает первичный ключ. Первичный ключ — это особый ключ, который может быть только один для каждой таблицы. По сути, первичный ключ- это уникальный (UNIQUE) ключ с именем «PRIMARY». Несмотря на привилегированный статус, он функционирует как любой другой уникальный ключ.
UNIQUE [nаmе] (column, [column2, . , . ])
Создает особый индекс, все входящие значения которого должны быть уникальными (и соответственно они уникальны в индексированных полях). Попытка ввести существующее значение в уникальный индекс вызовет ошибку. Следующая команда создает уникальный индекс поля «nicknames»:
UNIQUE (nicknames);
В существующей реализации индексирования в MySQL значение NULL не допускается ни в одном из полей, входящих в индекс. При индексировании текстовых полей (CHAR, VARCHAR и их синонимы) возможно индексирование только первой части всего поля. Например, следующая команда создаст индекс числового поля 'id' вместе с первыми 20 символами текстового поля 'address':
INDEX adds ( id, address(20) );
При выполнении любого поиска в поле 'address' для сравнения будут использованы только первые 20 символов до тех пор, пока не встретится более одного совпадения. Поэтому можно получить большой выигрыш в производительности, если использовать для индексирования только некоторое количество символов текстового поля, которые, по вашему мнению, дадут уникальные значения. Поля, входящие в индекс, должны быть определены с атрибутом NOT NULL (см. выше). При создании индекса отдельной командой MySQL сгенерирует ошибку, если NOT NULL не указан. Однако при определении первичного ключа добавлением атрибута PRIMARY KEY к описанию таблицы, атрибут NOT NULL будет добавлен автоматически (без предупреждения), если он не указан явно. В добавление к описанным выше MySQL содержит следующие специальные «типы»:·FOREIGN KEY ( name (column, [column2, . . . ])·CHECK Эти ключевые слова не выполняют никаких действий. Они существуют для более легкого чтения SQL-кода, экспортированного из других баз данных. Также некоторая отсутствующая пока функциональность может быть добавлена в следующие версии MySQL. У вас должны быть право CREATE для базы данных, где используется предложение CREATE TABLE . Примеры Создать новую пустую базу данных 'employees'
CREATE DATABASE employees;
Создать простую таблицу
CREATE TABLE empjata ( id INT, name CHAR(50) );
Создать функцию make_coffee (которая хранится в библиотеке myfuncs.so и возвращает строковое значение).
CREATE FUNCTION make_coffee RETURNS string SONAME "myfuncs.so";
DELETE
DELETE FROM table [WHERE clause]
Удаляет запись из таблицы. При использовании без предложения WHERE будет полностью удалена вся таблица, а затем будет создана новая пустая таблица. С использованием WHERE будут удалены записи, отвечающие условиям выражения. Предложение DELETE возвращает пользователю количество удаленных записей. Как сказано выше, при использовании без выражения WHERE, будет удалена вся таблица. Этот эффективный метод значительно быстрее, чем удаление каждой записи по отдельности. При использовании этого метода MySQL вернет пользователю значение 0, так как нет способа узнать количество удаленных записей. В существующей реализации этот метод просто удаляет все файлы, относящиеся к таблице, кроме файла с ее определением. Поэтому этот метод удобен для обнуления таблиц с серьезно поврежденными данными (которые невозможно восстановить). Вы потеряете данные, но структура таблицы будет сохранена. Для использования следующего выражения у вас должно быть право DELETE для БД. Примеры Удалить все данные из таблицы 'olddata1 (но не саму таблицу).
DELETE FROM olddata
Удалить все записи из таблицы 'sales', где поле 'year' равно '1995'.
DELETE FROM sales WHERE year=1995
DESCRIBE DESC
DESCRIBE table [column] DESC table [column]
Выдает информацию о таблице или столбце. Хотя операция работает как описано, ее функциональные возможности (и многие другие) доступны в операторе SHOW. Оператор DESC поддерживается исключительно для совместимости с Oracle SQL. Имя столбца (не обязательное) может содержать знаки подстановки SQL, в этом случае будет выдана информация о всех подходящих столбцах. Пример Описать таблицу 'messy'
DESCRIBE messy
Показать информацию о всех столбцах таблицы 'big1 начинающихся с 'mу_'. Помните что ' ' является также знаком подстановки и следует избегать, его буквального употребления.
DESC big my\_%
DROP
DROP DATABASE name
DROP INDEX name
DROP TABLE [IF EXISTS] name[, name2, ...]
DROP ФУНКЦИЯ name
Удаляет базу данных, таблицу, индекс или функцию из системы MySQL. . DROP DATABASE Удаляет всю базу и все файлы, связанные с ней. Пользователю возвращается количество удаленных файлов. Так как большинство таблиц представлено тремя файлами, обычно возвращаемое значение равно числу таблиц, умноженному на три. Эквивалент выполнению утилиты mysqladmin drop. Для выполнения команды, так же как и при запуске утилиты mysqladmin, у вас должны быть права администратора MySQL (обычно root или mysql). DROP INDEX Команда поддерживается для совместимости с другими реализациями SQL. В старых версиях SQL эта команда ничего не выполняет. В версии 3.22 это предложение эквивалентно ALTER TABLE . . DROP INDEX. Для выполнения DROP INDEX вы должны иметь право SELECT, INSERT, DELETE, UPDATE, CREATE и DROP для этой таблицы. DROP TABLE Полностью стирает таблицу. В текущей реализации MySQL просто удаляет связанные с таблицей файлы. В версии 3.22, вы можете указать IF EXISTS , чтобы MySQL не возвращала ошибку при попытке удалить несуществующую таблицу. Для выполнения этой операции необходимо право DELETE на таблицу. DROP FUNCTION Удалит пользовательскую процедуру из выполняемого процесса MySQL. При этом файл библиотеки, содержащий процедуру, не удаляется. Вы всегда можете добавить эту функцию снова с помощью CREATE FUNCTION . В текущей реализации DROP FUNCTION просто удаляет пользовательскую функцию из таблицы функций БД MySQL, следящей за всеми активированными функциями.

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

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