Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.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 数据库中所有表中的字段总数_Mysql_Sql_Database - Fatal编程技术网

Mysql 数据库中所有表中的字段总数

Mysql 数据库中所有表中的字段总数,mysql,sql,database,Mysql,Sql,Database,我有一个包含数百个表的大型数据库,我想找出所有表中定义的字段(列)总数 有一个sql查询可以给我这个结果吗?如果没有,最好的办法是什么?这就是你想要的吗 select count(*) from information_schema.columns where table_schema = 'your_schema' 您可以这样运行它,看看它是否合理: select table_name, column_name from information_schema.columns where ta

我有一个包含数百个表的大型数据库,我想找出所有表中定义的字段(列)总数

有一个sql查询可以给我这个结果吗?如果没有,最好的办法是什么?

这就是你想要的吗

select count(*)
from information_schema.columns
where table_schema = 'your_schema'
您可以这样运行它,看看它是否合理:

select table_name, column_name
from information_schema.columns
where table_schema = 'your_schema'
order by 1, 2
尝试以下操作(登录到当前架构时):

试试这个:

SELECT COUNT(*) 
FROM INFORMATION_SCHEMA.COLUMNS

您可以从这个名为的开源项目中获得所需的查询。这个项目的最终结果超出了你的需要,但是您可以查看代码并找出其中的部分来计算表的所有部分。

我在mysql中是新手,但是如果表信息\u模式。列是包含表名列名信息的表,那么您可以使用以下查询

select table_name, count( distinct column_name ) column_number_used
from information_schema.columns 
where table_schema = 'your_schema' 
group by table_name

这应该给出所有表名以及该表中使用的相应列号。

下面的示例可以根据您的要求工作和修改查询

Use [Your_DB_Name]

/* Count Total Number Of Tables */
SELECT COUNT(*) AS 'Total Tables' FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE'

/* Count Total Number Of Views */
SELECT COUNT(*)  AS 'Total Views'  FROM INFORMATION_SCHEMA.VIEWS

/* Count Total Number Of Stored Procedures */
SELECT COUNT(*)  AS 'Total SPs'  FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_TYPE = 'PROCEDURE'

/* Count Total Number Of UDF(User Defined Functions) */
SELECT COUNT(*)  AS 'Total Functions' FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_TYPE = 'FUNCTION'
示例:

Use [Your_DB_Name]

/* Count Total Number Of Tables */
SELECT COUNT(*) AS 'Total Tables' FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE'

/* Count Total Number Of Views */
SELECT COUNT(*)  AS 'Total Views'  FROM INFORMATION_SCHEMA.VIEWS

/* Count Total Number Of Stored Procedures */
SELECT COUNT(*)  AS 'Total SPs'  FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_TYPE = 'PROCEDURE'

/* Count Total Number Of UDF(User Defined Functions) */
SELECT COUNT(*)  AS 'Total Functions' FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_TYPE = 'FUNCTION'