Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BD-2007-0.doc
Скачиваний:
9
Добавлен:
01.03.2025
Размер:
3 Мб
Скачать
☆

Приложение 3. Инструкции языка sql для MySql

При описании инструкций языка SQL используется общепринятая нотация. Элементы в квадратных скобках считаются необязательными. Если имеются альтернативные варианты, они разделяются символами вертикальной черты.

Инструкции языка даются в алфавитном порядке. Такой порядок изложения описывает возможности MySQL не лучшим образом. Однако определить оптимальную последовательность изучения вряд ли возможно, поскольку почти всегда при изложении возможностей той или иной инструкции придется делать ссылки на еще не описанные команды и опции.

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

ALTER TABLE

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

ALTER [IGNORE] TABLE имя_таблицы

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

где спецификация:

ADD [COLUMN] определение [FIRST | AFTER столбец] ‑ добавляет столбец к таблице в конец, в начало или после указанного столбца;

ADD [COLUMN] (определение, определение,…) – добавляет группу новых столбцов. Определения столбцов разделяются запятыми.

ALTER [COLUMN] столбец { SET DEFAULT значение | DROP DEFAULT } ‑ устанавливает новое значение по умолчанию или отменяет старое;

CHANGE [COLUMN] столбец определение – меняет определение столбца;

DROP {[COLUMN] столбец | PRIMARY KEY | INDEX индекс} – удаляет столбец, первичный ключ или индекс из таблицы.

Команда ALTER TABLE может быть использована для изменения определения таблицы. ALTER TABLE работает с временно созданной таблицей, в которую копирует все данные из текущей таблицы. Когда копия готова, старая таблица удаляется, а новая переименуется в нее. Это выполнено таким способом, что все изменения автоматически переназначаются на новую таблицу.

Пока работает ALTER TABLE, старая таблица доступна для других клиентов. Обновления и запись в таблицу останавливаются и будут выполнены только после того, как новая таблица будет готова.

Флаг IGNORE заставляет программу MySQL игнорировать изменения, вносимые в таблицу. Если IGNORE не определен, то копирование будет прервано и процесс отработан назад в случае наличия любых уникальных ключей, дублированных в новой таблице.

Внимание!

  • ADD и CHANGE используют те же определения, что и CREATE TABLE. См. CREATE TABLE.

  • CHANGE столбец, DROP столбец и DROP INDEX являются MySQL расширениями ANSI SQL.

  • [COLUMN] ‑ факультативный параметр и может быть опущен.

  • Если вы удаляете столбец, который является частью составного ключа, то часть ключа будет удалена. Если все части ключа удалены, то будет удален весь ключ.

  • DROP PRIMARY KEY удаляет первый уникальный ключ в таблице.

  • CHANGE меняет определение столбца. Эта возможность не предусмотрена в стандарте SQL. Другие СУБД также допускают модификацию столбцов, однако MySQL наиболее гибка в этом плане.

Пример 1: Добавление столбцов в заданном порядке

ALTER TABLE address

ADD middlename VARCHAR(32) AFTER firstname,

ADD prefix VARCHAR(32) FIRST;

Пример 2: Добавление первичного ключа

ALTER TABLE address

ADD id INT NOT NULL AUTO_INCREMENT PRIMARY KEY

FIRST;

Пример 3: Добавление группы столбцов

ALTER TABLE address

ADD (

middlename VARCHAR(32),

prefix VARCHAR(32)

);

Пример 4: Задание значения по умолчанию

ALTER TABLE address

ALTER prefix SET DEFAULT ‘Mr.’;

Пример 5: Отмена значений по умолчанию

ALTER TABLE address

ALTER prefix DROP DEFAULT;

Пример 6: Изменение определения столбца

ALTER TABLE address

CHANGE prefix

prefix ENUM(‘Mr.’, ‘Mrs.’, ‘Miss’, ‘Ms’);

Пример 7: Удаление столбца

ALTER TABLE address

DROP middlename;

Пример 8: Изменение имени таблицы

ALTER TABLE address

RENAME addr;

CREATE DATABASE

Инструкция CREATE DATABASE создает базу данных. Синтаксис инструкции:

CREATE DATABASE [IF NOT EXISTS] имя_БД

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

Пример:

CREATE DATABASE [IF NOT EXISTS] cars;

CREATE TABLE

Инструкция CREATE TABLE предназначена для создания таблиц. Это одна из наиболее сложных SQL-инструкций. Общий ее формат таков:

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] имя

[(спецификация, ...)]

[опция…]

[[IGNORE | REPLACE] запрос_на_выборку]

TEMPORARY задает создание временной таблицы, существующей в течение текущего сеанса. По завершении сеанса таблица удаляется.

IF NOT EXIST подавляет вывод сообщений об ошибках в случаях, если таблица с указанным именем уже существует. Имени таблицы может предшествовать имя базы данных, отделенное точкой (например, Сессия.ФИО). Если это не сделано, таблица будет создана в базе данных, которая установлена по умолчанию.

Можно задать имя таблицы с пробелами, для этого следует заключить его в обратные кавычки (`имя таблицы`). То же самое нужно будет делать во всех ссылках на таблицу, т.к. пробелы используются для разделения идентификаторов.

Спецификации столбцов и индексов приводятся в круглых скобках и разделяются запятыми.

Спецификация имеет следующий формат:

Имя_столбца тип

[NOT NULL | NULL]

[DEFAULT значение]

[AUTO_INCREMENT]

[PRIMARY KEY]

[ссылка]

Спецификация типа включает название типа и его размерность. Варианты использования различных наиболее часто применяемых типов показаны ниже в примере.

У любого столбца есть значение по умолчанию, которое задается явно с помощью предложения DEFAULT или выбирается MySQL автоматически. Поля-счетчики, создаваемые с помощью AUTO_INCREMENT, игнорируют значения по умолчанию, т.к. в них записываются порядковые номера. Тип счетчика должен быть беззнаковым целым (например, INTEGER(10) UNSIGNED).

Спецификация PRIMARY KEY позволяет назначить столбец первичным ключом. При этом для столбца будет создан индекс.

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

В конце инструкции CREATE TABLE может находиться запрос на выборку (в виде инструкции SELECT…). Результаты запроса на выборку будут занесены в создаваемую таблицу. Если в самой инструкции CREATE TABLE отсутствуют спецификации столбцов, то вид создаваемой таблицы будет соответствовать таблице результатов запроса. В противном случае столбцы результатов запроса будут добавлены к определенным ранее столбцам.

Для создания таблицы Вы должны иметь права доступа create.

Замечания:

  • Если столбец имеет дополнительное ключевое слово AUTO_INCREMENT, то при вставке значение нуля в этот столбец вы получите номер столбца, который на 1 больше, чем самый большой предварительно использованный номер.

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

ВНИМАНИЕ!

Если Вы используете AUTO_INCREMENT, Вы можете использовать его только в одном поле таблицы. Обратите внимание также, что это поле должно быть объявлено как первичный ключ, и должно быть числовым.

  • ZEROFILL означает, что значение дополняется слева нулями до максимальной длины поля.

Пример 1:

CREATE TABLE IF NOT EXISTS player

(

id INT(11) UNSIGNED NOT NULL AUTO_INCREMENT ZEROFILL,

name CHAR(8) NOT NULL,

password CHAR(8) NOT NULL,

date_insert DATE NOT NULL DEFAULT ‘2003-01-29’,

rank FLOAT(4, 2) NOT NULL DEFAULT 50.0,

region ENUM(‘North’, ‘South’, ‘East’, ‘West’) NOT NULL,

PRIMARY KEY (id),

INDEX (region, rank)

);

Пример 2:

CREATE TABLE IF NOT EXISTS otherbase.exams

SELECT * FROM mainbase

WHERE mainbase.mark=5;

CREATE INDEX

Инструкция CREATE INDEX добавляет индекс с указанным именем к заданной таблице. Формат

CREATE [UNIQUE | FULLTEXT] INDEX имя

ON таблица (столбец [(длина)], …)

UNIQUE обеспечивает создание индекса с уникальным значением по таблице таблица.

FULLTEXT обеспечивает создание индекса, используемого для поиска больших двоичных объектов.

DELETE

Инструкция DELETE удаляет записи из таблицы. Ее синтаксис:

DELETE [LOW_PRIORITY] FROM таблица

[WHERE условие]

[LIMIT число_записей]

Здесь условие имеет формат:

условие1 | условие2 [AND|OR] условие3

а любое из составляющих условий (1,2,3) имеет формат:

колонка [>|>=|=|<>|<=|<] колонка|константа or

колонка LIKE колонка|константа or

колонка IS NULL | колонка IS NOT NULL

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

LOW_PRIORITY откладывает операцию удаления до того момента, пока не завершатся все операции чтения таблицы.

LIMIT ограничивает число удаляемых записей.

Программа MySQL лишь помечает удаляемую строку как освобожденную. Пока она не будет затерта другой новой строкой, ее данные остаются на диске. Инструкция OPTIMIZE TABLE удаляет неиспользуемые строки и восстанавливает правильный формат таблицы, т.е. уничтожает неиспользуемые записи, соединяет разделенные строки и выполняет сортировку индексов.

Инструкция DELETE:

  • Возвращает количество обработанных записей.

  • Если она (инструкция) используется без WHERE, то таблица будет очищена. В этом случае DELETE вернет 0 для числа обработанных записей.

Замечания:

  • Все строки сравниваются без учета регистра. Если нужно сделать чувствительный к регистру поиск, можно использовать функцию BINARY, которая объявляет строку двоичной и позволяет учесть регистр при сравнении (например, where binary marka='ВАЗ').

  • Сравнение с явным NULL (столбец == NULL) эквивалентно условию IS NULL, то есть использованию (столбец IS NULL). Это было сделано для совместимости с mSQL.

  • Необходимо иметь права доступа delete для удаления записей.

Пример:

DELETE LOW PRIORITY FROM user

WHERE lastlogin < (NOW() – INTERVAL 30 DAY)

LIMIT 10;

Если нужно подсчитать число удаленных строк, можно использовать следующий прием:

Пример:

DELETE FROM tbl_name where 1>0;

Правда эта команда будет выполняться ощутимо медленнее.

DESCRIBE

Инструкция DESCRIBE возвращает таблицу, содержащую описание одного или нескольких столбцов заданной таблицы. Формат:

{DESCRIBE|DESC} таблица [столбец|условие отбора]

Описывает таблицу или столбец. Эта команда подобна команде SHOW. Факультативный параметр может быть именем столбца или строкой c условием отбора.

Если параметр - строка, то он может содержать символы подстановки.

DROP DATABASE

Инструкция DROP DATABASE удаляет базу данных из системы. Формат инструкции:

DROP DATABASE [IF EXISTS] имя_таблицы

Вместе с базой данных удаляются все таблицы и вся хранимая информация (в том числе индексы). Если каталог базы данных пуст, он также удаляется. Если в каталоге присутствуют посторонние файлы, то сама база данных останется. Удаление каталога файловой системы тоже приводит к удалению базы данных.

Вы должны иметь права доступа delete, чтобы использовать DROP.

DROP INDEX

Инструкция DROP INDEX удаляет индекс таблицы с указанным именем. Формат инструкции:

DROP INDEX имя ON таблица

DROP TABLE

Инструкция DROP TABLE удаляет все файлы, относящиеся к таблице. Она имеет следующий синтаксис:

DROP TABLE [IF EXISTS] таблица [, таблица ...]

Если Вы хотите только удалить все данные в таблице и сохранить ее структуру для будущего повторного заполнения, Вы можете использовать команду DELETE.

ОСТЕРЕГАЙТЕСЬ! DROP TABLE полностью удалит именованную таблицу(ы) из вашей системы. Не предусмотрено никакого UNDO или UNERASE (если Вы не имеете резервной копии, конечно).

Можно указывать несколько имен таблиц, разделяя их запятыми.

Вы должны иметь права доступа delete, чтобы использовать DROP.

Пример:

DROP TABLE IF EXISTS message, log

GRANT

Инструкция GRANT предоставляет указанным пользователям требуемые привилегии, создавая учетную запись пользователя в случае необходимости. Общий формат инструкции:

GRANT (ALL [PRIVILEGES])|(ALTER, CREATE, DELETE, DROP, FILE,

INDEX, INSERT, PROCESS, RELOAD, SELECT, SHUTDOWN, UPDATE,USAGE (список_столбцов))

ON таблица

TO пользователь[@узел] [IDENTIFIED BY пароль]

[, пользователь [IDENTIFIED BY пароль]...]

[WITH GRANT OPTION]

Некоторые основные привилегии

Тип

Описание

ALL [PRIVILEGES]

Пользователю предоставляются все права, кроме права самостоятельной передачи привилегий

ALTER

Пользователь может изменять определение для таблиц

CREATE

Пользователь может создавать таблицы и базы данных

DELETE

Пользователь может удалять записи из таблиц

DROP

Пользователь может удалять таблицы и базы данных

FILE

Пользователь получает доступ к файлам на локальном диске и может выполнять репликацию

INDEX

Пользователь может добавлять и удалять индексы

INSERT

Пользователь может добавлять записи в таблицу

PROCESS

Пользователь может просматривать список активных потоков и удалять потоки

RELOAD

Пользователь может очищать кэш-буферы

SELECT

Пользователь может создавать запросы к таблицам

SHUTDOWN

Пользователь может останавливать работу сервера

UPDATE

Пользователь может изменять значения столбцов таблицы

USAGE

Пользователь не имеет никаких прав и может лишь регистрироваться на сервере

Привилегии выдаются в зависимости от контекста:

‑ глобально,

‑ для конкретной базы,

‑ для таблицы или столбца.

В предложении ON возможно использование метасимвола *, соответствующего всем объектам диапазона.

Примеры использования метасимволов:

base.* ‑ соответствует выдаче привилегий для всех таблиц базы данных base.

*.* ‑ соответствует всем базам данных и всем таблицам, т.е. привилегии являются в этом случае глобальными.

Имя пользователя user[@узел] – это строка длиной не более 16 символов. Если вслед за именем стоят символ @ и сетевое имя, то привилегия применима только тогда, когда пользователь регистрируется на сервере с указанного компьютера. Если в именах пользователя и компьютера содержатся метасимволы, имена надо заключать в кавычки.

Вместо сетевого имени может стоять и IP-адрес. Если же узел не указан, то информация об узле вообще не будет учитываться.

Предложение IDENTIFIED BY задает пароль пользователя. Если учетная запись пользователя уже существует, его пароль меняется.

Спецификация WITH GRANT OPTION разрешает пользователю предоставлять имеющиеся привилегии другим пользователям.

Список привилегий для пользователя выводится инструкцией SHOW GRANTS.

Пример:

GRANT SELECT, INSERT, UPDATE, DELETE

ON store.*

TO gwb@’%.whitehowse.gov’

WITH GRANT OPTION

INSERT

Инструкция INSERT добавляет записи в таблицу. Ее синтаксис:

INSERT [LOW_PRIORITY | DELAYED] [IGNORE]

[INTO] таблица [(столбец, …)]

{VALUES (значение, …),(…), … | запрос | SET столбец=значение, …}

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

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

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

Пример:

INSERT IGNORE INTO team (name)

VALUES (‘ЦСКА’, ‘Спартак’, ‘Динамо’);

KILL

Инструкция KILL разрывает соединение с базой данных. Ей передается идентификатор потока:

KILL поток

Все потоки пронумерованы. Инструкция SHOW PROCESSLIST отображает список активных потоков. Обычно пользователь имеет право уничтожать только свои собственные потоки, но с помощью привилегии PROCESS ему можно удалять любые потоки.

LOAD DATA INFILE

Инструкция LOAD DATA INFILE читает данные из текстового файла и вставляет их в указанную таблицу. Неполный формат инструкции:

LOAD DATA [LOW PRIORITY] [LOCAL] INFILE файл

INTO TABLE таблица

[FIELDS [TERMINATED BY разделитель]…

[ENCLOSED by ‘ ” ’]

[ESCAPED BY ‘\\’]]

[LINES TERMINATED BY признак_конца_строки]

[IGNORE число_строк LINES]

[(список_колонок)]

LOW PRIORITY означает, что процесс импорта данных должен быть отложен, пока не завершатся все операции чтения таблицы.

При отсутствии LOCAL файл открывается на сервере, в противном случае – в клиентской файловой системе. Для открытия файла на сервере следует иметь привилегию FILE.

Файл предполагает задание полного путевого имени файла. Неполные путевые имена вычисляются относительно каталога данных MySQL.

TERMINATED BY разделитель – указывает разделитель полей,

LINES TERMINATED BY признак_конца_строки – задает конечный символ строки.

ENCLOSED by – задает символ (обычно кавычку), который задается для дополнительного обособления значений.

ESCAPED BY ‘\\’ – задает символ, который будет отменять специальное назначение управляющих символов. Ограждающие символы разрешается просто удваивать. Например, если все поля файла заключены в двойные кавычки, то для вставки такой кавычки в поле можно записать “”, \”.

С помощью предложения IGNORE…LINES можно пропустить требуемое число строк файла (например, заголовки в импортируемых файлах).

Пример 1

LOAD DATA INFILE ‘/tmp/teams.txt’

INTO TABLE team

FIELDS TERMINATED by ‘\t’ /*Табуляция*/

ENCLOSED by ‘ ” ’ /*Двойные кавычки*/

ESCAPED BY ‘\\’

LINES TERMINATED BY ‘\r\n’ /*Возврат кар-ки, нов строка*/

IGNORE 1 LINES

(Name, id)

Пример 2 (Если значения разделены между собой запятыми, а поля заключены в двойные кавычки)

LOAD DATA LOCAL INFILE “my_tbl.txt” INTO TABLE my_tbl

FIELDS TERMINATED BY “,” ENCLOSED BY “\””

LOCK TABLES

Инструкция LOCK TABLES запрещает другим потокам осуществлять запись в ту или иную таблицу. Синтаксис инструкции:

LOCK TABLES таблица [AS псевдоним]

{READ [LOCAL] | [LOW_PRIORITY] WRITE}

[, таблица [AS псевдоним] {READ [LOCAL] | [LOW_PRIORITY] WRITE}

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

  • READ (нежесткая) – запрещает запись в таблицу всем потокам, включая тот, кому она принадлежит,

  • WRITE (жесткая) – разрешает доступ к таблице для чтения и записи только потоку-владельцу.

  • LOCAL – разрешает выполнять инструкции INSERT, не приводящие к конфликтам. Но тогда файлы с табличными данными становятся доступными для записи и появляется угроза нарушения целостности данных.

  • LOW_PRIORITY – жесткая блокировка будет представлена только тогда, когда нет отложенных нежестких блокировок. Обычно же приоритет жестких блокировок выше, чем у нежестких.

Пример:

LOCK TABLES team t READ, record r WRITE;

SELECT @max:=MAX(Score) FROM team t;

INSERT INTO record VALUES (NOW(), @max);

UNLOCK TABLES;

В примере блокируются две таблицы, Из таблицы team извлекается максимальное значение поля Score, которое заносится в переменную @max. Далее это значение заносится в таблицу record, после чего обе таблицы разблокируются.

Обратите внимание! В инструкцию SELECT встроен оператор присваивания (:=), который присваивает переменной @max значение поля Score.

Для снятия блокировок предназначена инструкция UNLOCK TABLES. Кроме того, блокировки снимаются при завершении потока или вводе другой инструкции LOCK TABLES.

С блокировками связаны также функции GET_LICK() и RELEASE_LOCK().

REPLACE

Инструкция REPLACE аналогична инструкции INSERT, за исключением того, что дублирующиеся записи заменяют собой существующие.

REPLACE [LOW_PRIORITY | DELAYED]… [INTO] таблица [(столбец, …)]

{VALUES (значение, …),(…), … | запрос | SET столбец=значение, …}

REVOKE

Инструкция REVOKE отменяет привилегии, выданные ранее инструкцией GRANT. Ее формат такой же, как и у инструкции GRANT:

REVOKE тип [(столбец), …)] [, тип [(столбец, …)] …]

ON таблица

FROM пользователь [, пользователь …]

Типы привилегий те же, что и для инструкции GRANT. Инструкция REVOKE должна соответствовать определенному контексту и распространяет свое действие глобально, на базу данных, таблицу или столбцы.

Привилегии с более узким или более широким контекстом не затрагиваются.

Пример:

REVOKE INSERT, DELETE, UPDATE ON samp_db.member

FROM member_mgr@boa.snake.net

SET

Инструкция SET меняет значения опций и переменных. Синтаксис инструкции:

SET [OPTION] параметр=значение [, параметр=значение]…

Устанавливаемые значения действительны лишь в течение текущего сеанса и по его завершении сбрасываются.

Пример:

SET @text=”Проба”;

SHOW

Инструкция SHOW отображает различную информацию о базе данных MySQL. Формат инструкции для различных вариантов использования:

SHOW [COLUMNS|FIELDS] FROM таблица [FROM база_данных] ‑

[LIKE шаблон]

возвращает описание столбцов таблицы; возвращается таблица со столбцами:

-имя столбца таблицы;

-тип столбца;

- может или нет содержать значение NULL;

-является ли столбец индексируемым;

-значение по умолчанию;

-дополнительная информация о столбце;

-привилегии, выделенные для столбца.

SHOW CREATE TABLE таблица –

возвращает описание запроса, который необходим для создания указанной таблицы.

SHOW DATABASES [LIKE шаблон] ‑

возвращает список баз данных на сервере;

Пример:

SHOW DATABASES LIKE “test%”

SHOW GRANTS FOR пользователь ‑

выводит список привилегий для пользователя;

Пример 1:

SHOW GRANTS FOR Ivanov

Пример 2:

SHOW GRANTS FOR root@localhost

SHOW {INDEX | KEYS} FROM таблица [FROM база_данных] ‑

возвращает информацию об индексах таблицы;

SHOW [MASTER | SLAVE] STATUS [LIKE шаблон] ‑

возвращает статистическую информацию о сервере. Флаги MASTER или SLAVE указывают на то, что информация выдается соответственно о главном или подчиненном сервере;

SHOW TABLES [FROM база_данных] [LIKE шаблон] ‑

возвращает список таблиц в базе;

SHOW TABLE STATUS [FROM база_данных] [LIKE шаблон] ‑

выводит статусную информацию о таблицах;

-имя таблицы,

-тип таблицы,

-формат хранения строки,

-число строк в таблице,

-среднее число байт на строку,

-размер файла в байтах,

-время создания таблицы,

-время последнего изменения таблицы,

-…

Пример:

SHOW TABLE STATUS FROM mysql LIKE %priv

SHOW VARIABLES [LIKE шаблон] ‑

возвращает список серверных переменных.

При составлении шаблона (в правом операнде) метасимвол '%' соответствует произвольному числу символов, а метасимвол '_' – одиночному символу.

UPDATE

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

Формат команды

UPDATE [LOW_PRIORITY] таблица

SET колонка=выражение [, колонка1=выражение1] …

[WHERE условие] [LIMIT n]

LOW_PRIORITY означает, что инструкция не выполняется до тех пор, пока все клиенты не перестанут читать таблицу.

n в предложении LIMIT определяет максимальное число строк, которые будут обновлены.

USE

Инструкция USE задает базу данных, используемую по умолчанию:

USE база_данных

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]