¿Cómo obtendré el número de campos/entradas en una base de datos usando una declaración SQL?Obteniendo el número de campos en una base de datos con una instrucción SQL?
Respuesta
mmm todos los campos en todas las tablas? asumiendo normalización (MSSQL, MySQL, PostgreSQL) puede emitir una consulta sobre INFORMATION_SCHEMA.COLUMNS
SELECT COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
O agrupados por tabla:
SELECT TABLE_NAME, COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
GROUP BY TABLE_NAME
Si varios esquemas tiene el mismo nombre de la tabla en la misma base de datos, DEBE incluir el nombre del esquema también (es decir: dbo.Books, user.Books, company.Books, etc.) De lo contrario, obtendrá los resultados incorrectos. Así que la mejor práctica es:
SELECT TABLE_SCHEMA, TABLE_NAME, COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
GROUP BY TABLE_SCHEMA, TABLE_NAME
probar esto, esto excluye vistas, deje la cláusula donde si quieres vistas
select count(*) from information_schema.columns c
join information_schema.tables t on c.table_name = t.table_name
and t.table_type = 'BASE TABLE'
Suena como esto es lo que necesita.
select CountOfFieldsInDatabase = count(*)
from information_schema.columns
cuenta ROWS en la tabla que describe las columnas. Una fila por columna en la base de datos. –
@Ken: No, definitivamente está contando el número de columnas en todas las tablas en la base de datos. (Lo cual es algo inútil para querer hacer, pero es lo que solicitó el OP.) –
Ken, cada fila será para una columna – SQLMenace
select count(column_name) from information_schema.columns
where table_name = **name of your table here **
Sólo por cualesquiera otros lectores que están buscando en Google ...
hay varias soluciones no son de SQL, que pueden ser útiles para el usuario .. aquí es 2 que utilizo.
Ejemplo 1: Acceso VBA:
'Microsoft Access VBA
Function Count_Fields(Table_Name As String) As Integer
Dim myFieldCount As Integer
Dim db As DOA.Database
Dim rs As DAO.Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset(Table_Name, dbOpenDynaset)
myFieldCount = rs.Fields.Count
'return the count
Count_Fields = myFieldCount
'tidy up
Set rs = Nothing
Set db = Nothing
End Function
Ejemplo 2: PHP 5.1:
<?php
// PHP5 Implementation - uses MySQLi.
function countFields ($tableName) {
$db = new mysqli('myserver.me.com', 'user' ,'pass', 'databasename');
if(!$db) {
echo 'ERROR: Could not connect to the database.';
}
else {
$rs->$db->query("SELECT * FROM ".$tableName.");
$fieldCount = $rs->field_count;
}
return $fieldCount;
?>
Disculpen las errata en el anterior - espero que alguien encuentre esto útil
- 1. SQL distinto para 2 campos en una base de datos
- 2. SQLite - obteniendo el número de filas en una base de datos
- 3. Número de filas en una base de datos SQLite
- 4. ¿Cómo crearía y almacenaría campos personalizados definidos por el usuario en una base de datos SQL?
- 5. Obteniendo los operandos en una instrucción LLVM
- 6. el número de filas de una instrucción Select
- 7. Cómo almacenar datos con número dinámico de atributos en una base de datos
- 8. Número total de campos en todas las tablas de la base de datos
- 9. ¿Cómo se crea una tabla con un número aleatorio de campos en Oracle utilizando PL/SQL?
- 10. ¿Cómo vaciar una base de datos SQL?
- 11. Cambiar el nombre de una base de datos SQL
- 12. Mover una tabla de una base de datos a otra base de datos SQL Server
- 13. Puede PHP trabajar con una base de datos MS SQL
- 14. Obteniendo el número de celdas llenas en una columna (VBA)
- 15. Obteniendo el número de archivos en una carpeta en java
- 16. Condiciones ponderadas en la cláusula WHERE de una instrucción SQL
- 17. instrucción MySQL que devuelve una instrucción SQL?
- 18. ¿Cuándo compactas una base de datos de servidor Sql?
- 19. ¿Detecta el sistema operativo de una base de datos con una consulta SQL?
- 20. Uso de SQL para clonar una estructura de árbol representado en una base de datos
- 21. Servidor SQL: ¿Cómo saber si una base de datos es una base de datos del sistema?
- 22. Copiar datos de una tabla en una base de datos a otra base de datos separada
- 23. Buscar si el número está entre dos números en diferentes campos en una base de datos MySQL
- 24. Cómo buscar todos los campos de texto en una base de datos para alguna subcadena con T-SQL
- 25. El uso de una cláusula HAVING en una instrucción UPDATE
- 26. ¿Cómo cambio el nombre de una columna en una tabla de base de datos usando SQL?
- 27. Acceso al valor devuelto de una instrucción SQL en SQLCMD
- 28. ¿Crear una base de datos desde otra base de datos?
- 29. Seleccione el resultado de una comparación en la instrucción SQL
- 30. Almacenar un HashMap en una base de datos SQL
estás preguntando cómo obtener el número de atributos que tiene una tabla más la cantidad de filas en la tabla? – northpole
¿Qué quiere decir con campos/entradas? ¿Te refieres a la cantidad de Filas? ¿Número de columnas? Número de tablas Todas las anteriores? Si es así, ¿qué motor de base de datos está usando? –
"entradas" en una base de datos? ¿te refieres a los registros, o columnas en una tabla, o el número de tablas? – devio