mysql.proc是MySQL系统数据库中的一个系统表,用于存储关于存储过程和函数的元数据信息,通过查询mysql.proc表,可以获取存储过程和函数的定义、参数列表、返回值和创建时间等信息,这
mysql.proc是MySQL系统数据库中的一个系统表,用于存储关于存储过程和函数的元数据信息,通过查询mysql.proc表,可以获取存储过程和函数的定义、参数列表、返回值和创建时间等信息,这些信息对于管理和维护数据库中的存储过程和函数非常有用。
本教程操作系统:Windows10系统、MySQL8版本、Dell G3电脑。
mysql.proc是MySQL系统数据库中的一个系统表,用于存储关于存储过程和函数的元数据信息。它是一个核心表,用于记录数据库中定义的存储过程和函数的详细信息,包括名称、参数、返回类型、定义语句等。
mysql.proc表的结构如下:
CREATE TABLE mysql.proc ( db char(64) COLLATE utf8_bin NOT NULL DEFAULT '', name char(64) COLLATE utf8_bin NOT NULL DEFAULT '', type enum('FUNCTION', 'PROCEDURE') COLLATE utf8_bin NOT NULL, specific_name char(64) COLLATE utf8_bin NOT NULL DEFAULT '', language enum('SQL') COLLATE utf8_bin NOT NULL DEFAULT 'SQL', sql_data_access enum('CONTAINS_SQL', 'NO_SQL', 'READS_SQL_DATA', 'MODIFIES_SQL_DATA') COLLATE utf8_bin NOT NULL DEFAULT 'CONTAINS_SQL', is_deterministic enum('YES', 'NO') COLLATE utf8_bin NOT NULL DEFAULT 'NO', security_type enum('INVOKER', 'DEFINER') COLLATE utf8_bin NOT NULL DEFAULT 'DEFINER', param_list blob NOT NULL, returns longblob NOT NULL, body longblob NOT NULL, definer char(93) COLLATE utf8_bin NOT NULL DEFAULT '', created timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), modified timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', sql_mode set('REAL_AS_FLOAT', 'PIPES_AS_CONCAT', 'ANSI_QUOTES', 'IGNORE_SPACE', 'IGNORE_BAD_TABLE_OPTIONS', 'ONLY_FULL_GROUP_BY', 'NO_UNSIGNED_SUBTRACTION', 'NO_DIR_IN_CREATE', 'POSTGRESQL', 'ORACLE', 'MSSQL', 'DB2', 'MAXDB', 'NO_KEY_OPTIONS', 'NO_TABLE_OPTIONS', 'NO_FIELD_OPTIONS', 'MYSQL323', 'MYSQL40', 'ANSI', 'NO_AUTO_VALUE_ON_ZERO', 'NO_BACKSLASH_ESCAPES', 'STRICT_TRANS_TABLES', 'STRICT_ALL_TABLES', 'NO_ZERO_IN_DATE', 'NO_ZERO_DATE', 'INVALID_DATES', 'ERROR_FOR_DIVISION_BY_ZERO', 'TRADITIONAL', 'NO_AUTO_CREATE_USER', 'HIGH_NOT_PRECEDENCE', 'NO_ENGINE_SUBSTITUTION', 'PAD_CHAR_TO_FULL_LENGTH') COLLATE utf8_bin NOT NULL DEFAULT '', comment char(64) COLLATE utf8_bin NOT NULL DEFAULT '', character_set_client char(32) COLLATE utf8_bin DEFAULT NULL, collation_connection char(32) COLLATE utf8_bin DEFAULT NULL, db_collation char(32) COLLATE utf8_bin DEFAULT NULL, body_utf8_long longblob ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Stored Procedures';
通过查询mysql.proc表,可以获取存储过程和函数的定义、参数列表、返回值和创建时间等信息。这些信息对于管理和维护数据库中的存储过程和函数非常有用。请注意,直接修改mysql.proc表的内容是不被推荐的,应该使用CREATE PROCEDURE或CREATE FUNCTION语句来定义、修改和删除存储过程和函数。