创建一个MySQL存储过程,该存储过程以数据库名称作为参数,列出特定数据库中包含详细信息的表。

ID:1625 / 打印

亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《创建一个MySQL存储过程,该存储过程以数据库名称作为参数,列出特定数据库中包含详细信息的表。》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。

假设当前我们使用一个名为“query”的数据库,其中包含以下表格 -

mysql> Show tables in query; +-----------------+ | Tables_in_query | +-----------------+ | student_detail  | | student_info    | +-----------------+ 2 rows in set (0.00 sec)

现在,以下是一个存储过程,它将接受数据库的名称作为其参数,并为我们提供包含详细信息的表列表 -

mysql> DELIMITER// mysql> CREATE procedure tb_list(db_name varchar(40))    -> BEGIN    -> SET @z := CONCAT('Select * from information_schema.tables WHERE table_schema = ','\'',db_name,'\'');    -> Prepare stmt from @z;    -> EXECUTE stmt;    -> END // Query OK, 0 rows affected (0.06 sec)

现在通过提供数据库名称作为其参数来调用此存储过程 -

mysql> DELIMITER; mysql> CALL tb_list('query')\G *************************** 1. row ***************************         TABLE_CATALOG: def          TABLE_SCHEMA: query            TABLE_NAME: student_detail            TABLE_TYPE: BASE TABLE                ENGINE: InnoDB               VERSION: 10            ROW_FORMAT: Dynamic            TABLE_ROWS: 4        AVG_ROW_LENGTH: 4096           DATA_LENGTH: 16384       MAX_DATA_LENGTH: 0          INDEX_LENGTH: 0             DATA_FREE: 0        AUTO_INCREMENT: NULL           CREATE_TIME: 2017-12-13 16:25:44           UPDATE_TIME: NULL            CHECK_TIME: NULL       TABLE_COLLATION: latin1_swedish_ci              CHECKSUM: NULL        CREATE_OPTIONS:         TABLE_COMMENT: *************************** 2. row ***************************         TABLE_CATALOG: def          TABLE_SCHEMA: query            TABLE_NAME: student_info            TABLE_TYPE: BASE TABLE                ENGINE: InnoDB               VERSION: 10            ROW_FORMAT: Dynamic            TABLE_ROWS: 4        AVG_ROW_LENGTH: 4096           DATA_LENGTH: 16384       MAX_DATA_LENGTH: 0          INDEX_LENGTH: 0             DATA_FREE: 0        AUTO_INCREMENT: NULL           CREATE_TIME: 2017-12-12 09:52:51           UPDATE_TIME: NULL            CHECK_TIME: NULL       TABLE_COLLATION: latin1_swedish_ci              CHECKSUM: NULL        CREATE_OPTIONS:         TABLE_COMMENT: 2 rows in set (0.00 sec)

终于介绍完啦!小伙伴们,这篇关于《创建一个MySQL存储过程,该存储过程以数据库名称作为参数,列出特定数据库中包含详细信息的表。》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~the24.cn也会发布数据库相关知识,快来关注吧!

上一篇: 安装 MySQL 源代码发行版
下一篇: FOREIGN KEY 是什么意思以及我们如何在 MySQL 表中使用它?

作者:admin @ 24资源网   2024-09-04

本站所有软件、源码、文章均有网友提供,如有侵权联系308410122@qq.com

与本文相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。