INFORMATION_SCHEMA
Name
SHOW
Name
Remarks
COLLATION_NAME
Collation
CHARACTER_SET_NAME
Charset
9.12. Таблица INFORMATION_SCHEMA TABLE_CONSTRAINTS
Таблица TABLE_CONSTRAINTS описывает, которые таблицы имеют ограничения.
INFORMATION_SCHEMA
Name
SHOW
Name
Remarks
CONSTRAINT_CATALOG
NULL
CONSTRAINT_SCHEMA
CONSTRAINT_NAME
TABLE_SCHEMA
TABLE_NAME
CONSTRAINT_TYPE
Примечания:
Значение CONSTRAINT_TYPE может быть UNIQUE, PRIMARY KEY или FOREIGN KEY.
Информация UNIQUE и PRIMARY KEY соответствует полю Key_name в выводе SHOW INDEX, если поле Non_unique равно 0.
Столбец CONSTRAINT_TYPE может содержать одно из этих значений: UNIQUE, PRIMARY KEY, FOREIGN KEY, CHECK. Это столбец CHAR (не ENUM). Значение CHECK недоступно, пока пакет не поддерживает CHECK.
9.13. Таблица INFORMATION_SCHEMA KEY_COLUMN_USAGE
Таблица KEY_COLUMN_USAGE описывает, которые столбцы ключа имеют ограничения.
INFORMATION_SCHEMA
Name
SHOW
Name
Remarks
CONSTRAINT_CATALOG
NULL
CONSTRAINT_SCHEMA
CONSTRAINT_NAME
TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
COLUMN_NAME
ORDINAL_POSITION
POSITION_IN_UNIQUE_CONSTRAINT
REFERENCED_TABLE_SCHEMA
REFERENCED_TABLE_NAME
REFERENCED_COLUMN_NAME
Примечания:
Если ограничение внешний ключ, то это столбец внешнего ключа, не столбец, а не тот столюец, на который внешний ключ ссылается.
Значение ORDINAL_POSITION позиция столбца внутри ограничения, а не позиция столбца внутри таблицы. Позиции столбца пронумерованы, начиная с 1.
Значение POSITION_IN_UNIQUE_CONSTRAINT NULL для ограничений unique и primary-key. Для ограничений foreign-key это порядковая позиция в ключе таблицы, которая вызвана.
Например, предположите, что имеется две таблицы с именами t1 и t3, которые имеют следующие определения:
CREATE TABLE t1 (s1 INT, s2 INT, s3 INT, PRIMARY KEY(s3)) ENGINE=InnoDB;
CREATE TABLE t3 (s1 INT, s2 INT, s3 INT, KEY(s1),
CONSTRAINT CO FOREIGN KEY (s2) REFERENCES t1(s3)) ENGINE=InnoDB;
Для этих двух таблиц таблица KEY_COLUMN_USAGE имеет две строки:
Одна строка с CONSTRAINT_NAME = 'PRIMARY', TABLE_NAME = 't1', COLUMN_NAME = 's3', ORDINAL_POSITION = 1, POSITION_IN_UNIQUE_CONSTRAINT = NULL.
Одна строка с CONSTRAINT_NAME = 'CO', TABLE_NAME = 't3', COLUMN_NAME = 's2', ORDINAL_POSITION = 1, POSITION_IN_UNIQUE_CONSTRAINT = 1.
9.14. Таблица INFORMATION_SCHEMA ROUTINES
Таблица ROUTINES обеспечивает информацию относительно сохраненных подпрограмм (процедуры и функций). Таблица ROUTINES не включает определяемые пользователем функции (UDF).
Столбец mysql.proc name указывает столбец таблицы mysql.proc, который соответствует столбцу таблицы INFORMATION_SCHEMA.ROUTINES.
INFORMATION_SCHEMA
Name
mysql.proc
Name
Remarks
SPECIFIC_NAME
specific_name
ROUTINE_CATALOG
NULL
ROUTINE_SCHEMA
db
ROUTINE_NAME
name
ROUTINE_TYPE
type
{PROCEDURE|FUNCTION}
DTD_IDENTIFIER
(data type descriptor)
ROUTINE_BODY
SQL
ROUTINE_DEFINITION
body
EXTERNAL_NAME
NULL
EXTERNAL_LANGUAGE
language
NULL
PARAMETER_STYLE
SQL
IS_DETERMINISTIC
is_deterministic
SQL_DATA_ACCESS
sql_data_access
SQL_PATH
NULL
SECURITY_TYPE
security_type
CREATED
created
LAST_ALTERED
modified
SQL_MODE
sql_mode
MySQL extension
ROUTINE_COMMENT
comment
MySQL extension
DEFINER
definer
MySQL extension
Примечания:
MySQL вычисляет EXTERNAL_LANGUAGE так:
Если mysql.proc.language='SQL', EXTERNAL_LANGUAGE равен NULL
Иначе EXTERNAL_LANGUAGE равен mysql.proc.language. Однако, пока не имеется внешних языков, так что это всегда NULL.
9.15. Таблица INFORMATION_SCHEMA VIEWS
Таблица VIEWS обеспечивает информацию относительно view в базах данных. Вы должны иметь привилегию SHOW VIEW, чтобы обратиться к этой таблице.
INFORMATION_SCHEMA
Name
SHOW
Name
Remarks
TABLE_CATALOG
NULL
TABLE_SCHEMA
TABLE_NAME
VIEW_DEFINITION
CHECK_OPTION
IS_UPDATABLE
DEFINER
SECURITY_TYPE
Примечания:
Столбец VIEW_DEFINITION показывает большинство из того, что Вы видите в поле Create Table, которое выводится SHOW CREATE VIEW. Пропустите слова перед SELECT и перед WITH CHECK OPTION. Предположите, что первоначальная инструкция была такой:
CREATE VIEW v AS SELECT s2,s1 FROM t WHERE s1 > 5 ORDER BY s1 WITH CHECK OPTION;
Затем определение этого view выглядит следующим образом:
SELECT s2,s1 FROM t WHERE s1 > 5 ORDER BY s1
Столбец CHECK_OPTION всегда имеет значение NONE.
Столбец IS_UPDATABLE равен YES, если view обновляемый, в противном случае NO.
Столбец DEFINER указывает, кто определил view. SECURITY_TYPE имеет значение DEFINER или INVOKER.
9.16. Таблица INFORMATION_SCHEMA TRIGGERS
Таблица TRIGGERS обеспечивает информацию относительно триггеров. Вы должны иметь привилегию SUPER, чтобы обратиться к этой таблице.
INFORMATION_SCHEMA
Name
SHOW
Name
Remarks
TRIGGER_CATALOG
NULL
TRIGGER_SCHEMA
TRIGGER_NAME
Trigger
EVENT_MANIPULATION
Event
EVENT_OBJECT_CATALOG
NULL
EVENT_OBJECT_SCHEMA
EVENT_OBJECT_TABLE
Table
ACTION_ORDER
0
ACTION_CONDITION
NULL
ACTION_STATEMENT
Statement
ACTION_ORIENTATION
ROW
ACTION_TIMING
Timing
ACTION_REFERENCE_OLD_TABLE
NULL
ACTION_REFERENCE_NEW_TABLE
NULL
ACTION_REFERENCE_OLD_ROW
OLD
ACTION_REFERENCE_NEW_ROW
NEW
CREATED
NULL
(
0
)
SQL_MODE
MySQL extension
DEFINER
MySQL extension
Примечания:
Столбцы TRIGGER_SCHEMA и TRIGGER_NAME содержат имя базы данных, в которой находится триггер и его имя, соответственно.
Читать дальше