Чтение онлайн

на главную - закладки

Жанры

MySQL: руководство профессионала

Паутов Алексей В.

Шрифт:

| tables | BASE TABLE | MyISAM |

| t7 | BASE TABLE | MyISAM |

| t3 | BASE TABLE | MyISAM |

| t2 | BASE TABLE | MyISAM |

| t | BASE TABLE | MyISAM |

| pk | BASE TABLE | InnoDB |

| loop | BASE TABLE | MyISAM |

| kurs | BASE TABLE | MyISAM |

| k | BASE TABLE | MyISAM |

| into | BASE TABLE | MyISAM |

| goto | BASE TABLE | MyISAM |

| fk2 | BASE TABLE | InnoDB |

| fk | BASE TABLE | InnoDB |

+------------+------------+--------+

17 rows in set (0.01 sec)

Объяснение:

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

Каждый пользователь MySQL имеет право обратиться к этим таблицам, но может видеть только строки в таблицах, которые соответствуют объектам, для которых пользователь имеет соответствующие привилегии доступа. В некоторых случаях (например, столбец ROUTINE_DEFINITION в таблице INFORMATION_SCHEMA.ROUTINES), пользователи, которые имеют недостаточные привилегии, будут видеть NULL.

Инструкция SELECT … FROM INFORMATION_SCHEMA предназначена как более непротиворечивый способ обеспечить доступ к информации, обеспеченной различными инструкциями SHOW, которые MySQL поддерживает (SHOW DATABASES, SHOW TABLES и им подобные). Использование SELECT имеет эти преимущества перед SHOW:

Это соответствует правилам Кодда. То есть, весь доступ выполнен на таблицах.

Никто не должен узнавать новый операторный синтаксис. Потому что они уже знают, как работает SELECT, они должны узнать только объектные имена.

Реализаторы не должны волноваться относительно добавления ключевых слов.

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

Миграция проще, потому что каждая другая СУБД понимает этот способ.

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

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

Реализация структур таблицы INFORMATION_SCHEMA в MySQL следует ANSI/ISO SQL:2003 Part 11 Schemata и в основном отвечает стандарту SQL:2003 core feature F021 Basic information schema.

Пользователи SQL Server 2000 (который также следует стандарту) могут обратить внимание на сильное сходство. Однако, MySQL опустил много столбцов, которые нерелевантными для этой реализации, и добавил столбцы, которые являются MySQL-специфическими. Один такой столбец: ENGINE в таблице INFORMATION_SCHEMA.TABLES.

Следующие разделы описывают каждую

из таблиц и столбцов, которые находятся в INFORMATION_SCHEMA. Для каждого столбца имеются три блока информации:

INFORMATION_SCHEMA Name указывает имя для столбца в таблице INFORMATION_SCHEMA. Это не соответствует стандартному имени SQL, если в поле Remarks значится MySQL extension.

SHOW Name указывает эквивалентное имя поля в самой близкой инструкции SHOW, если она имеется.

Remarks обеспечивает дополнительную информацию. Если это поле NULL, это означает, что значение столбца всегда NULL. Если это поле MySQL extension, столбец является расширением MySQL стандарта SQL.

Чтобы избегать использовать любое имя, которое зарезервировано в стандарте SQL, DB2 или Oracle, имена некоторых столбцов, отмеченных как MySQL extension переделаны. Например, COLLATION на TABLE_COLLATION в таблице TABLES. Ссписок зарезервированных слов изложен в конце статьи на http://www.dbazine.com/gulutzan5.shtml.

Определение для символьных столбцов (например, TABLES.TABLE_NAME) вообще VARCHAR(N) CHARACTER SET utf8, где N по крайней мере 64.

Каждый раздел указывает то, какая инструкция SHOW является эквивалентной SELECT, который собирает информацию из INFORMATION_SCHEMA, если имеется такая инструкция.

Обратите внимание: в настоящее время, имеются некоторые столбцы, расставленные не по порядку, а кое-какие еще вообще отсутствуют.

9.1. Таблица INFORMATION_SCHEMA SCHEMATA

Схема является базой данных, так что таблица SCHEMATA обеспечивает информацию относительно баз данных

INFORMATION_SCHEMA Name | SHOW Name | Remarks

CATALOG_NAME | | NULL 

SCHEMA_NAME | | База данных

DEFAULT_CHARACTER_SET_NAME | |

DEFAULT_COLLATION_NAME | |

SQL_PATH | | NULL

Следующие инструкции эквивалентны:

SELECT SCHEMA_NAME AS `Database` FROM INFORMATION_SCHEMA.SCHEMATA

[WHERE SCHEMA_NAME LIKE 'wild']

SHOW DATABASES [LIKE 'wild']

9.2. Таблица INFORMATION_SCHEMA TABLES

Таблица TABLES обеспечивает информацию относительно таблиц в базах данных.

INFORMATION_SCHEMA

Name

SHOW

Name

Remarks

TABLE_CATALOG

NULL

TABLE_SCHEMA

Table_

TABLE_NAME

Table_

TABLE_TYPE

ENGINE

Тип памяти

MySQL extension

VERSION

Version

MySQL extension

ROW_FORMAT

Row_format

Поделиться:
Популярные книги

Идеальный мир для Социопата 5

Сапфир Олег
5. Социопат
Фантастика:
боевая фантастика
рпг
5.50
рейтинг книги
Идеальный мир для Социопата 5

Титан империи 2

Артемов Александр Александрович
2. Титан Империи
Фантастика:
фэнтези
боевая фантастика
аниме
5.00
рейтинг книги
Титан империи 2

На границе империй. Том 9. Часть 3

INDIGO
16. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 9. Часть 3

Защитник

Кораблев Родион
11. Другая сторона
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Защитник

Тринадцатый II

NikL
2. Видящий смерть
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Тринадцатый II

Дворянская кровь

Седой Василий
1. Дворянская кровь
Фантастика:
попаданцы
альтернативная история
7.00
рейтинг книги
Дворянская кровь

Наследник старого рода

Шелег Дмитрий Витальевич
1. Живой лёд
Фантастика:
фэнтези
8.19
рейтинг книги
Наследник старого рода

Система Возвышения. (цикл 1-8) - Николай Раздоров

Раздоров Николай
Система Возвышения
Фантастика:
боевая фантастика
4.65
рейтинг книги
Система Возвышения. (цикл 1-8) - Николай Раздоров

Кодекс Охотника. Книга XIX

Винокуров Юрий
19. Кодекс Охотника
Фантастика:
фэнтези
5.00
рейтинг книги
Кодекс Охотника. Книга XIX

Младший научный сотрудник

Тамбовский Сергей
1. МНС
Фантастика:
попаданцы
альтернативная история
6.40
рейтинг книги
Младший научный сотрудник

Я – Стрела. Трилогия

Суббота Светлана
Я - Стрела
Любовные романы:
любовно-фантастические романы
эро литература
6.82
рейтинг книги
Я – Стрела. Трилогия

Измена. Он все еще любит!

Скай Рин
Любовные романы:
современные любовные романы
6.00
рейтинг книги
Измена. Он все еще любит!

Сумеречный Стрелок 4

Карелин Сергей Витальевич
4. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сумеречный Стрелок 4

Мимик нового Мира 3

Северный Лис
2. Мимик!
Фантастика:
юмористическая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Мимик нового Мира 3