Программирование >>  Создание клиентов mysql 

1 ... 61 62 63 [ 64 ] 65 66 67 ... 201




этой главе описаны инструкции языка SQL. В основном они являются частью стандарта ANSI, а некоторые - расширениями программы MySQL. Имена инструкций нечувствительны к регистру, но рекомендуется набирать их пропис-нтми буквами в отличие от пользовательских идентификаторов.

Для каждой инструкции приводится ее прототип. Слова, написанные прописными буквами, являются зарезервированными, как SELECT. Строчными буквами даны параметры, которые могут быть литералами, именами столбцов или таблиц. Элементы, находящиеся в квадратных скобках, считаются необязательными. Иногда допускается несколько уровней необязательных параметров. Символами вертикальной черты разделяются альтернативные варианты выбора.

Комментарии

Комментарии - это текст, сопровождающий инструкции и помогающий читателям разобраться в назначении программного кода. Программа MySQL игнорирует любой текст, стоящий после символа или двух символов косой черты с последующим пробелом. Игнорируется также текст, заключенный в блок / * и * /.

Комментарий, начинающийся с двух дефисов, описан в стандарте SQ. Но разработчики MySQL решили, что обязательным признаком такого комментария должен быть пробел после дефисов. Это позволяет изб егать неоднозначности таких конструкций, как, например, вычитание отрицательного числа. Поддержка подобных комментариев помогает переносить в MySQL базы данн1 созданнте в других СУБД (об этом пойдет речь в главе 28, Перенос даннхх в разные СУБД ).

В листинге 13.1 показаны три эквивалентных варианта комментариев.



SELECT NOW (); SELECT NOW{);

SELECT NOW();

Определяем текущее время - Определяем текущее время

Определяем текущее время

Полный списокинструкций

Ниже описаны все инструкции, поддерживаемые в MySQL.

ALTER TABLE

Инструкция ALTER TABLE позволяет менять определение таблицы. Для этого необходимо иметь привилегии ALTER, CREATE и INSERT. Общий ее формат таков:

ALTER [IGNORE] TABLE имя

спецификация [, спецификация

Поскольку программа MySQL способна вносить незаметные изменения в определения таблиц, существует вероятность того, что инструкция ALTER не возымеет никакого эффекта. Подробнее о такого рода изменениях пойдет речь при рассмотрении инструкции CREATE TABLE:

В качестве параметров инструкция ALTER TABLE принимает имя таблицы и как минимум одну спецификацию изменений. Спецификации отделяются друг от друга запятыми, и подобная форма записи является расширением стандарта языка SQL.

Флаг IGNORE заставляет программу MySQL игнорировать дубликаты, если данные, уже находящиеся в таблице, конфликтуют с ее новым определением. Например, когда столбец, содержащий дублирующиеся данные, объявляется первичным ключом, то по умолчанию программа отказывается вносить изменения. При наличии флага IGNORE изменения будут учтены, а вседублирующиеся записи, кроме одной, - выброшены.

В случае добавления нового столбца соответствующие ячейки существующих записей будут заданы равными NULL, если столбец это допускает, или же в них будут записаны значения по умолчанию.

Ниже описаны все возможные варианты спецификаций.

ADD [COLUMN] определение [FIRST AFTER столбец]

С помощью этой спецификации к таблице добавляется новый столбец. Формат определения столбца должен быть таким же, как и в инструкции CREATE TABLE. По умолчанию столбец добавляется в конец списка, но с помощью ключевого слова FIRST егоможно объявить первым, а с помощью предложение R - стоящим после заданного столбца.

В листинге 13.2 демонстрируется добавление двух столбцов, располагаем1х в определенном порядке. Возможно, эти столбцы не были учтены при создании таблицы.



Полный список инструкций 207

Другая причина добавления столбцов - введение первичного ключа. Так, в листинге 13.3 в таблицу вставляется -счетчик. В результате каждая строка получит уникальный идентификатор в поле ID.

ALTER TABLE address

ADD middleName VARCHAR(32) AFTER firstName, ADD prefix VARCHAR (32) FIRST

ALTER TABLE address

ADD ID INT NOT NULL AUTO INCREMENT PRIMARY KEY FIRST

ADD [COLUMN] (определение, определение,...)

С помощью это икации в конец списка столбцов добавляется группа но-вгх столбцов. Определения столбцов разделяются запятыми (листинг 13.4).

ALTER TABLE address ADD (

middleName VARCHAR (32) prefix VARCHAR (32)

ADD [CONSTRAINT имя] FOREIGN KEYим бец,...) ссылка

Эта спецификация существует дя совместимости с другими СУБД. Факт существования столбцов не проверяется, а информация об ограничении не сохраняется в таблице. Разработчики MySQL планируют добавить функции хранения внешних ключей в версию 4.0. Спецификация сс1ки рассматривается в разделе, посвященном инструкции CREATE TABLE.

ADD FULLTEXT [имя] (столбец, ...)

Эта спецификация предназначена для добавления к указанным столбцам текстового индекса. Об этом рассказывалось в главе 11, Типы столбцов и индексов .

AD EY №ЕХ} [имя] (столбец, ...)

Эта спецификация позволяет добавить индекс к одному или нескольким столбцам (листинг 13.5). Ключевые слова KEY и INDEX являются синонимами. Аналогичную функцию выполняет также инструкция CREATE INDEX.



1 ... 61 62 63 [ 64 ] 65 66 67 ... 201

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