ВУЗ:
Составители:
Рубрика:
мандами, но такой подход имеет очевидные недостатки. Эти команды нельзя использовать
в простых запросах с соединениями, и, что существенно, они не соответствовали стандар-
там, будучи специфичными для MySQL.
В новой версии СУБД появилась новая служебная база данных –
INFORMATION_SCHEMA. Её наличие продиктовано тем же стандартом SQL:2003, и имен-
но она решает задачу реализации словаря данных (data dictionary).
INFORMATION_SCHEMA содержит таблицы, описывающие состояние и параметры серве-
ра, в том числе определения и сущности таблиц. Это виртуальная база данных – физически
(в виде файлов на диске) она не существует, вся информация динамически предоставляется
сервером. Пример использования этой таблицы:
mysql> SELECT table_name, table_type, engine
-> FROM INFORMATION_SCHEMA.tables
-> WHERE table_schema = ‘tp’
-> ORDER BY table_type ASC, table_name DESC;
+------------+------------+--------+
| table_name | table_type | engine |
+------------+------------+--------+
| t2 | BASE TABLE | MyISAM |
| t1 | BASE TABLE | InnoDB |
| v1 | VIEW | NULL |
+------------+------------+--------+
Другой пример работы со словарём данных – просмотр привелегий:
mysql> SELECT * FROM
-> INFORMATION_SCHEMA.COLUMN_PRIVILEGES\G
************************ 1. row ************************
GRANTEE: 'peter'@'%'
TABLE_CATALOG: NULL
TABLE_SCHEMA: tp
TABLE_NAME: t1
COLUMN_NAME: col1
PRIVILEGE_TYPE: UPDATE
IS_GRANTABLE: NO
************************ 2. row ************************
GRANTEE: 'trudy'@'%'
TABLE_CATALOG: NULL
TABLE_SCHEMA: tp
TABLE_NAME: t2
COLUMN_NAME: col1
PRIVILEGE_TYPE: SELECT
IS_GRANTABLE: YES
Объявление переменных
Объявление. DECLARE Local Variables
Следующая команда позволяет объявлять локальные переменные, содержит возмож-
ность задания значения по умолчанию. Переменная может быть объявлена как выра-
жения, не обязательна константа. Если значение по умолчанию не определено то
равно NULL.
DECLARE var_name[,...] type [DEFAULT value]
Присваивание Variable SET Statement
SET var_name = expr [, var_name = expr] ...
SELECT ... INTO Statement
Оператор SELECT может перенаправить результат в переменные. Таким образом
может быть преобразована только одна строка.
ПРИМЕР
57
Страницы
- « первая
- ‹ предыдущая
- …
- 55
- 56
- 57
- 58
- 59
- …
- следующая ›
- последняя »