如何从sql动态表中获取数据

时间:2019-04-22 16:03:29

标签: mysql sql

如何从数据库的选定表中获取数据? 我将在c#应用程序中使用数据库,并且数据库包含该表:

  1. MyTable1;
  2. MyTable2;
  3. ...

我有 tbl 变量,它等于tbl = "MyTable2";。我要执行以下代码:select * from tbl


我尝试执行以下代码:

SELECT   *
FROM     (
          SELECT TABLE_NAME
          FROM   information_schema.tables
          WHERE TABLE_NAME = 'MyTable1'
          );

但是代码返回错误,每个派生表必须具有自己的别名


我想从名称等于我的变量( tbl )的表中获取所有数据,并且其值也可以更改。我该怎么办?

2 个答案:

答案 0 :(得分:1)

您可以使用MySQL中的预备语句来做到这一点:

SELECT TABLE_NAME
INTO @table
FROM information_schema.tables
WHERE TABLE_NAME = 'MyTable1';

SET @query = CONCAT('SELECT * FROM ', @table);
PREPARE stmt FROM @query;
EXECUTE stmt;

答案 1 :(得分:0)

SELECT   *
FROM     (
      SELECT TABLE_NAME
      FROM   information_schema.tables
      WHERE TABLE_NAME = 'MyTable1'
      ) AS Blah