Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从MYSQL sql中的搜索结果获取所有数据_Mysql_Sql_Database - Fatal编程技术网

从MYSQL sql中的搜索结果获取所有数据

从MYSQL sql中的搜索结果获取所有数据,mysql,sql,database,Mysql,Sql,Database,大家好,我有多个表,我想通过以下代码获得具有特定列名的表: SELECT COLUMN_NAME AS 'ColumnName' ,TABLE_NAME AS 'TableName' FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'DATABASENAME' AND COLUMN_NAME LIKE '%columnName_I_Need%' // Example not actual search ORDER BY T

大家好,我有多个表,我想通过以下代码获得具有特定列名的表:

SELECT COLUMN_NAME AS 'ColumnName'
    ,TABLE_NAME AS 'TableName'
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'DATABASENAME'
    AND COLUMN_NAME LIKE '%columnName_I_Need%' // Example not actual search
ORDER BY TableName
    ,ColumnName;
现在我想从结果表中获取所有数据。 例如,获取结果表中的所有列及其数据。 这是一个示例,但不起作用:

SELECT * WHERE columnName_I_Need = 1
MySQL可以做到这一点吗?
MySQL版本:
5.5.5-10.3.23 MariaDB

这是一个从表中访问数据的简单而基本的查询

从tablename中选择*
其中
可以在此处包含条件

*
用于选择每一列


可以使用列名访问特定列。

这是一个简单而基本的查询,用于访问表中的数据

从tablename中选择*
其中
可以在此处包含条件

*
用于选择每一列


可以使用列名访问特定列。

查询中缺少“发件人”。另外,当您指定列名时,它应该写在单引号内

    SELECT * FROM your_table_name WHERE columnName_you_Need = 'colum_id'

查询中缺少“发件人”。另外,当您指定列名时,它应该写在单引号内

    SELECT * FROM your_table_name WHERE columnName_you_Need = 'colum_id'

这相当复杂。如果只使用动态SQL,则需要循环机制。我的建议是生成SQL,然后手动运行:

SELECT GROUP_CONCAT('SELECT * FROM ', TABLE_NAME,
                    ' WHERE ', COLUMN_NAME, ' = 1'
                    SEPARATOR '; 
'
                   )
FROM  INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'DATABASENAME' AND
      COLUMN_NAME LIKE '%columnName_I_Need%';

然后复制语句并手动运行。

这相当复杂。如果只使用动态SQL,则需要循环机制。我的建议是生成SQL,然后手动运行:

SELECT GROUP_CONCAT('SELECT * FROM ', TABLE_NAME,
                    ' WHERE ', COLUMN_NAME, ' = 1'
                    SEPARATOR '; 
'
                   )
FROM  INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'DATABASENAME' AND
      COLUMN_NAME LIKE '%columnName_I_Need%';

然后复制语句并手动运行。

我认为这会非常复杂。但是你的建议让我的生活更轻松。谢谢,我会投票,并尝试接受它作为答案。PS:无法投票,但被接受为答案。我想这会很复杂。但是你的建议让我的生活更轻松。谢谢,我会投票,并尝试接受它作为答案。PS:无法投票,但被接受为答案。