Mysql
 sql >> база данни >  >> RDS >> Mysql

2 начина за изброяване на всички функции в MySQL

По-долу са две опции, които можем да използваме, за да върнем списък с функции в MySQL.

SHOW FUNCTION STATUS Команда

Най-бързият начин да изброите всички функции е да използвате SHOW FUNCTION STATUS команда.

Изпълнете следното, за да изброите всички функции:

SHOW FUNCTION STATUS; 

Синтаксисът е така:

SHOW FUNCTION STATUS
    [LIKE 'pattern' | WHERE expr] 

Така че можете да използвате LIKE или WHERE клауза за стесняване на резултатите.

Пример:

SHOW FUNCTION STATUS LIKE '%test%'; 

Примерен резултат:

+---------+--------------+---------+-------- --------+---------------------+------------------- --+--------------+--------+--------------------- -+---------------------+---------------------+| Db | Име | Тип | Определител | Променено | Създаден | Тип_защита | Коментар | символ_набор_клиент | съпоставяне_връзка | Съпоставяне на база данни |+----------+--------------+----------+-------- --------+---------------------+------------------- --+--------------+--------+--------------------- -+---------------------+---------------------+| PetHotel | тест_функция | ФУНКЦИЯ | [email protected] | 29.11.2021 08:09:26 | 29.11.2021 08:09:26 | ДЕФИНИР | | utf8mb4 | utf8mb4_0900_ai_ci | utf8mb4_0900_ai_ci |+---------+--------------+----------+--------- -------+---------------------+------------------- -+--------------+--------+--------------------- +---------------------+--------------------+

Можем да използваме WHERE клауза за филтриране на резултатите по колоните. Например, можем да филтрираме резултатите към дадена база данни:

SHOW FUNCTION STATUS WHERE db = 'sakila'; 

Примерен резултат:

+--------+----------------------------+-------- --+----------------+---------------------+-------- ------------+--------------+--------+--------- ------------+---------------------+-------------- ------+| Db | Име | Тип | Определител | Променено | Създаден | Тип_защита | Коментар | символ_набор_клиент | съпоставяне_връзка | Съпоставяне на база данни |+--------+----------------------------+-------- --+----------------+---------------------+-------- ------------+--------------+--------+--------- ------------+---------------------+-------------- ------+| sakila | get_customer_balance | ФУНКЦИЯ | [email protected] | 29.11.2021 08:04:31 | 29.11.2021 08:04:31 | ДЕФИНИР | | utf8mb4 | utf8mb4_0900_ai_ci | utf8mb4_0900_ai_ci || sakila | инвентар_държан_от_клиент | ФУНКЦИЯ | [email protected] | 29.11.2021 08:04:31 | 29.11.2021 08:04:31 | ДЕФИНИР | | utf8mb4 | utf8mb4_0900_ai_ci | utf8mb4_0900_ai_ci || sakila | инвентар_в_наличност | ФУНКЦИЯ | [email protected] | 29.11.2021 08:04:31 | 29.11.2021 08:04:31 | ДЕФИНИР | | utf8mb4 | utf8mb4_0900_ai_ci | utf8mb4_0900_ai_ci |+--------+----------------------------+-------- -+----------------+---------------------+-------- ------------+---------------+--------+---------- -----------+---------------------+-------------- -----+

SHOW FUNCTION STATUS командата работи много подобно на SHOW PROCEDURE STATUS команда, която връща списък със съхранени процедури.

information_schema.routines Таблица

Друг начин да получите списък с функции в MySQL е да потърсите information_schema.routines таблица.

Пример:

SELECT 
    routine_schema as "Database",
    routine_name
FROM 
    information_schema.routines
WHERE 
    routine_type = 'FUNCTION'
ORDER BY 
    routine_schema ASC, 
    routine_name ASC; 

Тази таблица също така съхранява информация за съхранените процедури. В горния пример ги изключих, като използвах WHERE клауза за връщане само на функции (т.е. обекти с routine_type на FUNCTION ).

За да включим съхранени процедури, можем да премахнем WHERE клауза:

SELECT 
    routine_schema as "Database",
    routine_name,
    routine_type
FROM 
    information_schema.routines
ORDER BY 
    routine_schema ASC, 
    routine_name ASC; 

В този случай добавих и routine_type колона, за да можем да правим разлика между процедурите и функциите.

Можем също да го ограничим до конкретна база данни:

SELECT 
    routine_schema as "Database",
    routine_name,
    routine_type
FROM 
    information_schema.routines
WHERE 
    routine_schema = 'pethotel'
ORDER BY 
    routine_name ASC; 

Примерен резултат:

<пред>+---------+--------------+--------------+| База данни | ROUTINE_NAME | ROUTINE_TYPE |+----------+--------------+--------------+| PetHotel | spGetAllPets | ПРОЦЕДУРА || PetHotel | spGetPetById | ПРОЦЕДУРА || PetHotel | тест_функция | ФУНКЦИЯ |+---------+--------------+--------------+


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Максимален брой записи в таблица на база данни на MySQL

  2. Python се свързва с MySQL база данни с MySQL конектор и пример за PyMySQL

  3. QUARTER() Примери – MySQL

  4. Изберете MySQL база данни на Linux чрез командния ред

  5. Как да се присъедините към три маси от laravel eloquent модел