如何行显示操纵“show databases”查询结果集中的数据

时间:2011-12-16 02:28:41

标签: mysql database

假设我有一个数据库data1,它给了我:

显示表格;


表1

表2

table3


现在,我想创建一个遍历“show databases”中显示的每个数据库的过程,而不是单独执行“select * from each table”。结果集,然后从该数据库的每个表执行select *。我想过使用向下滚动结果集的游标,将每个数据库名称保存在变量中,然后以相同的方式遍历该数据库的每个表上的select语句。在这种情况下,有人可以帮助我解决如何使用游标,因为我只知道在SELECT和UPDATE语句中使用游标。

顺便说一句,我使用的是MYSQL。

2 个答案:

答案 0 :(得分:2)

我不会问为什么要这样做。这是伪代码的一般策略;

[括号中的单词(SQL命令和表格)将在mySQL服务器上运行。]

使用您喜欢的工具/编程语言连接到您的mySQL服务器,并且:

-- (USE information_schema;)

for db in (select distinct table_schema from tables;)
do:    
    for table in (select table_name from tables where table_schema='$db';)
    do:
        select field,column,attribute from $table;
    done
done
祝你好运!

答案 1 :(得分:1)

您可以从information_Schema而不是'show databases'

获取查询