2011-08-18 72 views
4

我想在我的数据库中显示所有数据,而不必为每个表格编写select - 我该怎么做?显示所有表格的所有数据

我不想这样做:

select * from Customer 
select * from Employee 
select ............. 

我使用TSQL与MSSQL服务器。

+0

哪个DBMS?在MSSQL中创建一个游标并通过sysobjects进行交互以构建用于执行'SELECT'的动态SQL – rabudde

+0

http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html? – miku

回答

15
DECLARE @sqlText VARCHAR(MAX) 
SET @sqlText = '' 
SELECT @sqlText = @sqlText + ' SELECT * FROM ' + QUOTENAME(name) + CHAR(13) FROM sys.tables 
EXEC(@sqlText) 
+1

很好Vishal。谢谢 –

2

为MySQL:

  1. 运行 SELECT information_schema.TABLES.TABLE_NAME FROM INFORMATION_SCHEMA.TABLES其中TABLE_SCHEMA = 'DB_NAME'

  2. 创建一个回路,该回路将运行选择查询用于从得到的每个表第一个查询。

+0

谢谢大家。我在MSSQL服务器中使用T_SQL –

1

使用数据库管理工具在没有模式的情况下转储数据库。

0

你的问题对我来说相当有限。你在用什么语言?这样做的目的是什么? 因此,这是一个多部分的答案。

首先,为了查看MySql数据库中的所有数据,phpMyAdmin对于这项工作来说非常合适 - 这是我几乎可以保证大多数SQL人员都欣赏的工具。

对于问题的第二部分:我假设您想要动态地执行此操作,或者每次只有太多的表来编写查询。我会假设动态的,因为我在过去创建了数据库,随着数据的增长,数据库会自动添加表。 PHP中的这个解决方案是我刚刚为您写的应该在桌面上显示所有内容的解决方案。 编辑:此代码被窃听 - 所有的数据显示,但我得到了表格格式错误。 - 编辑:固定。

<?php 
listAll("table_name"); 
function listAll($db) { 
    mysql_connect("localhost","root",""); 
    mysql_select_db($db); 
    $tables = mysql_query("SHOW TABLES FROM $db"); 
    while (list($tableName)=mysql_fetch_array($tables)) { 
    $result = mysql_query("DESCRIBE $tableName"); 
    $rows = array(); 
    while (list($row)=mysql_fetch_array($result)) { 
     $rows[] = $row; 
    } 
    $count = count($rows); 
    if ($count>0) { 
     echo '<p><strong>',htmlentities($tableName),'</strong><br /><table border="1"><tr>'; 
     foreach ($rows as &$value) { 
     echo '<td><strong>',htmlentities($value),'</strong></td>'; 
     } 
     echo '</tr>'; 
     $result = mysql_query("SELECT * FROM $tableName"); 
     while ($row=mysql_fetch_array($result)) { 
     echo '<tr>'; 
     for ($i=0;$i<(count($row)/2);$i++) { 
      echo '<td>',htmlentities($row[$i]),'</td>'; 
     } 
     echo '</tr>'; 
     } 
     echo '</table></p>'; 
    } 
    } 
return FALSE; 
} 
?> 

并希望该代码段应为你工作就像是为我工作!

+0

扩展:通过语言我显然知道MySql,但我不确定他是使用命令行还是使用语言访问它 - 这就是我的意思。 – 2011-08-18 11:12:44