MySQL是最常用的關系型數據庫之一,它提供了許多常用的函數,用于處理數據并完成各種操作。這些函數通常包括數學函數、字符串函數、日期時間函數等,它們各司其職,在不同的場景下發揮作用。
那么,MySQL函數到底保存在哪里呢?
MySQL函數是保存在MySQL的系統數據庫中的。具體來說,MySQL系統數據庫是指mysql數據庫,它包含一些用于管理MySQL系統的表和視圖。其中,mysql.func表就是用于存儲MySQL函數的地方。
mysql>use mysql; Database changed mysql>show tables; +---------------------------+ | Tables_in_mysql | +---------------------------+ | audit_user | | column_stats | | columns_priv | | db | | event | | func | | general_log | | gtid_slave_pos | | help_category | | help_keyword | | help_relation | | help_topic | | innodb_index_stats | | innodb_table_stats | | log | | ndb_binlog_index | | plugin | | proc | | procs_priv | | proxies_priv | | roles_mapping | | servers | | slow_log | | table_stats | | tables_priv | | time_zone | | time_zone_leap_second | | time_zone_name | | time_zone_transition | | time_zone_transition_type | | user | +---------------------------+ 31 rows in set (0.00 sec)
在上面的示例中,我們進入了mysql數據庫,并展示了其中的表。其中,func就是存儲MySQL函數的表。
在MySQL中創建函數時,可以選擇將其保存在哪個數據庫中,如果沒有指定,則默認保存在mysql數據庫中,func表中。
除了可以查看func表以外,我們還可以使用show function status命令來查看當前MySQL實例中的所有函數及其狀態,其中就包括函數的保存位置。
mysql>show function status; +---------------+-------------+-----------------+------------+----------------------+----------------------+----------------------+ | Db | Name | Type | Definer | Modified | Created | Security_type | +---------------+-------------+-----------------+------------+----------------------+----------------------+----------------------+ | INFORMATION_SCHEMA | CHARACTER_SETS | SYSTEM | | 2022-08-08 03:58:36 | 2022-08-08 03:58:36 | DEFINER | | INFORMATION_SCHEMA | COLLATIONS | SYSTEM | | 2022-08-08 03:58:36 | 2022-08-08 03:58:36 | DEFINER | | INFORMATION_SCHEMA | COLLATION_CHARACTER_SET_APPLICABILITY | SYSTEM | | 2022-08-08 03:58:36 | 2022-08-08 03:58:36 | DEFINER | | INFORMATION_SCHEMA | COLUMNS | SYSTEM | | 2022-08-08 03:58:36 | 2022-08-08 03:58:36 | DEFINER | | INFORMATION_SCHEMA | COLUMN_PRIVILEGES | SYSTEM | | 2022-08-08 03:58:36 | 2022-08-08 03:58:36 | DEFINER | ...省略部分輸出... | mysql | t | FUNCTION | test@% | 2022-08-08 12:45:15 | 2022-08-08 12:45:15 | NO_SECURITY_TYPE | +-------------------------+------------+---------------------+------------+-----------------------+-----------------------+-----------------------+ 44 rows in set (0.00 sec)
綜上所述,MySQL函數是保存在系統數據庫mysql的func表中的,使用show function status命令可以查看函數的保存位置。
上一篇c 獲取json中key
下一篇mysql函數有哪些