MySQL按名称统计表中的列数
是否可以按列的名称计算表中的列数 乙二醇MySQL按名称统计表中的列数,mysql,sql,Mysql,Sql,是否可以按列的名称计算表中的列数 乙二醇 我有一个表,它为用户添加的自定义字段向表中添加列,我需要对添加的列进行计数,以便在while循环中使用结果。是的,这是可能的。您可能需要在的WHERE中使用列\u NAME来代替列——至少,它是这样列在: 在您的查询中喜欢 将像“%name%”一样放置为像“%name%”这样的东西也可以: SELECT T.name, COUNT(C.name) FROM sys.tables T INNER JOIN sys.columns C ON C.object
我有一个表,它为用户添加的自定义字段向表中添加列,我需要对添加的列进行计数,以便在while循环中使用结果。是的,这是可能的。您可能需要在
的WHERE
中使用列\u NAME
来代替列
——至少,它是这样列在:
在您的查询中喜欢
将
像“%name%”一样放置为像“%name%”
这样的东西也可以:
SELECT T.name, COUNT(C.name) FROM sys.tables T
INNER JOIN sys.columns C ON C.object_id = T.object_id
WHERE T.name = ('TableName') and C.name like '%name%'
GROUP BY T.name
这将在数据库中工作 您的%LIKE%
运算符是什么?抱歉,长夜睡眠不足,我认为它看起来不太正确,现在编辑要稍微少一点故意无知(;p)
%LIKE通配符是用来绕过搜索的字符串的,而不是LIKE关键字,即LIKE“%name%”
。
SELECT COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME LIKE '%name%'
AND table_schema = 'DB_NAME'
AND table_name = 'TABLE_NAME'
SELECT T.name, COUNT(C.name) FROM sys.tables T
INNER JOIN sys.columns C ON C.object_id = T.object_id
WHERE T.name = ('TableName') and C.name like '%name%'
GROUP BY T.name