簡體   English   中英

數據庫中所有表中的字段總數

[英]Total number of fields in all tables in database

我有一個包含數百個表的龐大數據庫,我想找出所有表中定義的總字段(列)。

有沒有可以給我的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 where table_schema = DATABASE();

我在mysql中是新的,但如果表INFORMATION_SCHEMA.COLUMNS表名列名的信息,那么你可以使用下面的查詢表

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'

例:

在此輸入圖像描述

試試這個:

SELECT COUNT(*) 
FROM INFORMATION_SCHEMA.COLUMNS

您可以從這個名為anywhereindb的開源項目中獲取所需的查詢。 這個項目的最終結果比你需要的更進一步,但是你可以查看代碼並取出它找出表格所有部分的部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM