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

Для выполнения этой операции необходимо право DROP на таблицу. DROP - это, возможно, самое опасное из выражений SQL. Если вы имеете право на выполнение команд DROP, вы можете полностью стереть таблицу или даже целую базу данных. Это произойдет без предупреждения или запроса на подтверждение. Единственный способ отменить DROP - восстановление базы из резервной копии. Мораль отсюда такова: (1) всегда сохраняйте резервную копию базы (backup); (2) если в чем-то не уверены, - не используйте DROP; и (3) всегда сохраняйте резервную копию базы данных. Примеры # Полностью стереть с лица Земли БД 'important_data'.

DROP DATABASE important_data
# Удалить таблицы 'oh_no', 'help_me' и 'dont_do_it'
DROP TABLE oh_no, help_me, dont_do_it
#Удалить индекс с именем 'my_index' DROP INDEX my_index # Удалить из работающего сервера БД функцию 'myfunc'. Она может быть # добавлена обратно в любой момент с помощью CREATE FUNCTION.
DROP ФУНКЦИЯ myfunc
EXPLAIN EXPLAIN SELECT statement Выводит информацию о структуре и порядке выполнения запроса SELECT. Это может быть полезно для определения эффективности использования ключей. Пример
EXPLAIN SELECT customer.name, product.name FROM customer, product,
purchases
WHERE purchases.customer=customer.id AND purchases.product=product.id
FLUSH FLUSH option[, option...] Перезапускает различные внутренние процессы или сбрасывает данные на диск, в зависимости от указанного параметра. Для выполнения этой операции необходимо иметь право reload . Допустимы следующие параметры: HOSTS Обнуляет таблицу в кэше, хранящую информацию об именах клиентских хостов. Этот параметр следует использовать, если клиент поменял IP-адрес или есть ошибки, касающиеся установки связи с хостом. LOGS Закрывает все обычные файлы журналов и открывает их заново. Используется при смене номера индексного дескриптора. Если обновленному журналу не дано особое расширение, новый файл будет иметь расширение, увеличенное на единицу. PRIVILEGES Перезагружает все внутренние таблицы разрешений MySQL. Это делается для вступления в силу любых изменений, сделанных в этих таблицах. STATUS Обнуляет все переменные, которые следят за состоянием сервера. TABLES Закрывает все открытые таблицы и сбрасывает все кэшированные данные на диск. GRANT
GRANT privilege [ (column, ...) ] [, privilege [( column, ...) ] ...]
ON {table} TO user [IDENTIFIED BY 'password']
[, user [IDENTIFIED BY 'password'] ...] [WITH GRANT OPTION]
До версии MySQL 3.22.11 оператор GRANT распознавался, но не выполнялся. В текущих версиях функциональность присутствует. Этот оператор дает пользователю (или пользователям) права доступа. Возможно предоставление прав доступа на базу данных, таблицу или на отдельный столбец. Параметр table может быть указан как имя таблицы в текущей базе; как '*', и тогда будут предоставлены права на все таблицы текущей базы; как '*. *' - права на все таблицы во всех имеющихся базах; или как 'database. *', что будет иметь эффект для всех таблиц указанной базы данных. В настоящий момент поддерживаются следующие права: ALL PRIVILEDGES/ALL Все права доступа. ALTER Изменение структуры таблиц. CREATE Создание новых таблиц. DELETE Удаление записей из таблиц. DROP Удаление таблиц целиком. FILE Создание и удаление целых БД, а также управление файлами журналов. INDEX Создание и удаление индексов в таблицах. INSERT Ввод данных в таблицы. PROCESS Завершение потоков. REFERENCES (Справочник) Пока не реализовано. RELOAD Обновление различных внутренних таблиц (см. оператор FLUSH). SELECT Чтение данных из таблицы. SHUTDOWN Выключение (Shut down) сервера базы данных. UPDATE Модификация записей внутри таблиц. USAGE Нет никаких прав. Переменная user имеет вид user@hostname (пользователь@имя хоста). И user, и hostname могут включать в себя знаки подстановки SQL. При их использовании должно быть заключено в кавычки либо полностью имя, либо только часть с подстановочными знаками (например, joe@"%. com" и «joe@%.com» одинаково правильны). Использование user без hostname равносильно использованию user@«%». Если у вас есть право GRANT, вы можете указать необязательный параметр INDENTIFIED BY . Если описываемого пользователя не существует, он будет создан вместе с указанным паролем. Иначе будет изменен пароль существующего пользователя. Право GRANT задается с помощью спецификатора WITH GRANT OPTION . После его выполнения пользователь сможет предоставить любое из имеющихся у него прав другому пользователю. INSERT
INSERT [DELAYED | LOW_PRIORITY ] [INTO] table [ (column, ...) ] VALUES ( values )
[, ( values )... ]
INSERT [LOW_PRIORITY] [INTO] table [ (column, ...) ] SELECT ...
INSERT [LOW_PRIORITY] [INTO] table SET column=value, column=value,...
Записывает данные в таблицу. Первый вариант оператора просто вставит указанные значения в указанные столбцы. Поля, значения которых не определены, получат значение по умолчанию либо NULL. Второй вариант вставляет в таблицу результат запроса SELECT. Третий вариант является альтернативной формой первого, с более явным указанием того, каким полям какое, значение придать. Если INSERT первого вида написан со спецификатором DELAYED, все входящие запросы SELECT имеют приоритет перед оператором INSERT, он будет ждать окончания их действия перед добавлением данных. Таким же образом использование спецификатора LOW_PRIORITY с любой из форм INSERT приведет к тому, что добавление записей будет отложено до окончания всех других операций клиента. Невозможно применить выражение ORDER BY вместе с запросом SELECT, используемым внутри оператора INSERT. Также вы не можете добавлять данные в таблицы, из которых осуществляется выборка. Начиная с версии 3.22.5 MySQL позволяет вставлять более одной записи в таблицу за один раз. Это делается путем добавления дополнительного списка значений, разделенных запятыми. У вас должно быть право INSERT для использования этого оператора. Примеры # Вставить запись в таблицу 'people'
INSERT INTO people ( name, rank, serial_number )
VALUES ( 'Bob Smith', 'Captain', 12345 );
# Скопировать все записи, которые старше определенной даты, из таблицы 'data' в таблицу 'old_data'. Обычно за этим следует удаление старых записей из 'data'.
INSERT INTO old_data ( id, date, field ) SELECT ( id, date, field)
FROM data WHERE date < 87459300;
# Вставить З новые записи в таблицу 'people'.
INSERT INTO people (name, rank, serial_number )
VALUES ( 'Tim OVReilly', 'General', 1),
  ('Andy Oram', 'Major', 4342),
  ('Randy Yarger', 'Private', 9943);
KILL KILL thread_id Завершает указанный поток. ID потоков можно выяснить с помощью оператора SHOW PROCESSES . Завершение потоков, которые принадлежат не вам, а другим пользователям, требует права process . Пример # Завершить поток 3
KILL 3
LOAD LOAD DATA [LOCAL] INFILE file [REPLACE|IGNORE] INTO TABLE table [delimiters] [(columns)] Читает текстовый файл и вставляет данные в таблицу. Такой метод ввода данных гораздо быстрее, чем использование многих операторов INSERT. Хотя эта команда может быть вызвана с любого клиента, как и все остальные операторы SQL, считается, что указанный в предложении файл находится на сервере. Если путь к файлу полностью не указан, MySQL ищет его в том же каталоге, где расположена база данных. В версии MySQL3.22, при наличии спецификатора LOCAL, файл будет прочитан из локальной файловой системы клиентской машины. Без указанных разделителей (delimiters) оператор LOAD DATA INFILE будет считать, что текстовые поля в файле разделены символом табуляции, особые символы набраны через обратную косую черту (так называемый бэкслэш - «\»), и строки заканчиваются символом конца строки. Также можно указать собственные разделители с помощью следующих ключевых слов: FIELDS TERMINATED BY 'с' Определяет символ, используемый для разделения полей. Чтобы указать специальные символы, можно использовать стандартные управляющие коды языка С. Значение может содержать более одного символа. Например, FIELDS TERMINATED BY ', ' означает файл, разделенный запятыми, a FIELDS TERMINATED BY '\t' обозначает разделения табуляцией. Разделение табуляцией является значением по умолчанию.

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

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