``` SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA = 'PILOT2001';```什么意思
时间: 2024-06-06 07:03:57 浏览: 100
这是一个MySQL数据库查询语句,它的作用是在名为'PILOT2001'的数据库中,查找所有存储过程和函数的信息。
具体来说,这个查询语句使用了MySQL系统库中的INFORMATION_SCHEMA数据库,其中包含了关于数据库中所有对象(如表、列、存储过程、函数等)的元数据信息。在这个语句中,ROUTINE_SCHEMA参数指定要查询的数据库名称,而'*'通配符表示查询所有的存储过程和函数信息。
请注意,在运行这个语句之前,您需要在MySQL数据库中连接到名为'PILOT2001'的数据库。
相关问题
information_schema.routines 详解
`information_schema.routines` 是 MySQL 系统数据库 `information_schema` 中的一个表,用于存储数据库中所有存储过程和函数的信息。该表包含以下列:
- `SPECIFIC_NAME`:存储过程或函数的唯一名称。
- `ROUTINE_CATALOG`:存储过程或函数所属的数据库名称。
- `ROUTINE_SCHEMA`:存储过程或函数所属的数据库名称。
- `ROUTINE_NAME`:存储过程或函数的名称。
- `ROUTINE_TYPE`:存储过程或函数的类型,取值为 "PROCEDURE" 或 "FUNCTION"。
- `DTD_IDENTIFIER`:存储过程或函数的返回类型,以及参数的类型和数量的描述。
- `ROUTINE_BODY`:存储过程或函数的实现体,取值为 "SQL" 或 "NATIVE"。
- `ROUTINE_DEFINITION`:存储过程或函数的定义体,即存储过程或函数的 SQL 语句。
- `EXTERNAL_NAME`:当存储过程或函数是外部函数时,存储外部函数的名称。
- `EXTERNAL_LANGUAGE`:当存储过程或函数是外部函数时,存储外部函数的编程语言。
使用 `information_schema.routines` 可以方便地查询数据库中所有存储过程和函数的信息,例如可以通过以下语句查询数据库中所有存储过程和函数的名称和类型:
```sql
SELECT ROUTINE_NAME, ROUTINE_TYPE FROM information_schema.routines;
```
该表还可以用于查询指定存储过程或函数的详细信息,例如可以通过以下语句查询指定存储过程的定义体:
```sql
SELECT ROUTINE_DEFINITION FROM information_schema.routines WHERE ROUTINE_NAME = 'my_proc';
```
需要注意的是,只有当用户对存储过程或函数有访问权限时,才能查询到该存储过程或函数的信息。
从information_schema.Routines表中查看存储过程的信息
可以使用以下SQL语句从information_schema.Routines表中查看存储过程的信息:
```
SELECT routine_name, routine_definition, created, last_altered
FROM information_schema.routines
WHERE routine_type = 'PROCEDURE';
```
这个查询语句会返回所有存储过程的名称、定义、创建时间和最后修改时间。其中,`routine_type = 'PROCEDURE'` 条件用于过滤掉所有函数,只返回存储过程的信息。
阅读全文