在MySQL中查询系统数据
我正在尝试在MySQL中查找列名 我在SQL Server中使用了如下内容:在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
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子句中。