在MySQL中查询系统数据

在MySQL中查询系统数据,mysql,sql-server,database,Mysql,Sql Server,Database,我正在尝试在MySQL中查找列名 我在SQL Server中使用了如下内容: SELECT sysobjects.name AS table_name, syscolumns.name AS column_name, systypes.name AS datatype, syscolumns.LENGTH AS LENGTH FROM sysobjects INNER JOIN syscolumns ON sysobjects.id = syscolumns.id

我正在尝试在MySQL中查找列名

我在SQL Server中使用了如下内容:

SELECT
  sysobjects.name AS table_name, 
  syscolumns.name AS column_name, 
  systypes.name AS datatype, 
  syscolumns.LENGTH AS LENGTH
FROM sysobjects 
INNER JOIN
  syscolumns ON sysobjects.id = syscolumns.id 
INNER JOIN
  systypes ON syscolumns.xtype = systypes.xtype
WHERE (sysobjects.xtype = 'U')
AND (UPPER(syscolumns.name) like upper('%code%'))
ORDER BY sysobjects.name, syscolumns.colid

它返回一个表列表及其列以及每列的数据类型和长度。在SQL Server中,此信息存储在
sysobjects
syscolumns
systypes
表中。在MySQL中哪里可以找到类似的信息?

您可以在MySQL中查询simalar信息的信息模式

SELECT * FROM INFORMATION_SCHEMA.TABLES 
SELECT * FROM INFORMATION_SCHEMA.COLUMNS 

注意:仅适用于MySQL 5.0或更高版本,以下是有关MySQL()中信息模式的完整文档。

这是答案吗?XD您试图通过此查询实现什么?这可能有助于回答是否可以在mysql中进行查询(特别是在不熟悉SQL Server的情况下)。@AdamPorad,该查询正在查找包含列名称的表,如
%some_value%
@fthiella抱歉,我不会说英语:请注意,这些表在SQL Server中也可以工作,因此,可以使用这些标准视图重写原始查询。我正在尝试搜索一个列名。而不是在从
columns
表中选择时将该列添加到where子句中。