2011-05-21 11 views

Respuesta

4

¿Esto es lo que quieres?

select count(*) 
from information_schema.columns 
where table_schema = 'your_schema' 

Se puede ejecutar como este para ver si es razonable:

select table_name, column_name 
from information_schema.columns 
where table_schema = 'your_schema' 
order by 1, 2 
3

probar este (mientras está conectado en su esquema actual):

select count(*) from information_schema.columns where table_schema = DATABASE(); 
0

Prueba esto:

SELECT COUNT(*) 
FROM INFORMATION_SCHEMA.COLUMNS 
0

Puede obtener las consultas que n de este proyecto de código abierto llamado anywhereindb. El resultado final de este proyecto va más allá de lo que necesita, pero puede examinar el código y sacar la parte donde se da cuenta de todas las partes de las tablas.

1

Soy nuevo en MySQL pero si la tabla INFORMATION_SCHEMA.COLUMNS es la mesa con nombre_tabla y COLUMN_NAME información entonces puede utilizar siguiente consulta

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

esto debe dar a todos los nombres de tabla con las respectivas número de columna utilizado en esa tabla ...

0

El siguiente ejemplo puede funcionar y modificar consultas según su requisito.

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' 

Ejemplo:

enter image description here

Cuestiones relacionadas