¿Es posible escribir una consulta que me dé los nombres de todas las tablas en una base de datos de SQL Server? Estoy trabajando en documentación 'después de los hechos' en un sistema que no creé y estoy buscando un acceso directo para obtener una lista de las tablas en una base de datos.Consulta para obtener los nombres de todas las tablas en la base de datos de SQL Server 2008
Respuesta
En una sola base de datos - sí:
USE your_database
SELECT name FROM sys.tables
Conseguir todas las tablas en todas las bases de datos - sólo con un truco .... ver esta cuestión de forma de varios enfoques de cómo hacerlo: How do I list all tables in all databases in SQL Server in a single result set?
de otra manera, también trabajará en MySQL y PostgreSQL
select TABLE_NAME from INFORMATION_SCHEMA.TABLES
where TABLE_TYPE = 'BASE TABLE'
Prueba esto:
SELECT s.NAME + '.' + t.NAME AS TableName
FROM sys.tables t
INNER JOIN sys.schemas s
ON t.schema_id = s.schema_id
mostrará el nombre del esquema + tabla para todas las tablas en la base de datos actual.
Aquí hay una versión que listará cada tabla en cada base de datos en el servidor actual. permite que un parámetro de búsqueda para ser utilizado en cualquier parte o partes del servidor de base de datos + + + esquema de nombres de tablas:
SET NOCOUNT ON
DECLARE @AllTables table (CompleteTableName nvarchar(4000))
DECLARE @Search nvarchar(4000)
,@SQL nvarchar(4000)
SET @Search=null --all rows
SET @SQL='select @@SERVERNAME+''.''+''?''+''.''+s.name+''.''+t.name from [?].sys.tables t inner join sys.schemas s on t.schema_id=s.schema_id WHERE @@SERVERNAME+''.''+''?''+''.''+s.name+''.''+t.name LIKE ''%'+ISNULL(@SEARCH,'')+'%'''
INSERT INTO @AllTables (CompleteTableName)
EXEC sp_msforeachdb @SQL
SET NOCOUNT OFF
SELECT * FROM @AllTables ORDER BY 1
conjunto @Search a NULL para todas las tablas, puso a cosas como '' dbo.users o 'usuarios' o '.master.dbo' o incluso incluir comodines como, etc.
para obtener la información campos también, puede utilizar el siguiente '.master% u..':
SELECT TABLE_SCHEMA, TABLE_NAME,
COLUMN_NAME, substring(DATA_TYPE, 1,1) AS DATA_TYPE
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA NOT IN("information_schema", "mysql", "performance_schema")
ORDER BY TABLE_SCHEMA, TABLE_NAME, ORDINAL_POSITION
Utilice la siguiente consulta para enumerar las tablas en su base de datos.
select name from sys.Tables
Además, se puede añadir una condición where
, saltarse el sistema genera tablas y listas único usuario de mesa creado por la adición de type ='U'
Ex: select name from sys.Tables where type ='U'
Utilice el formato adecuado donde sea apropiado. – svgrafov
Sure Jens..gracias :) –
- 1. Lista de todas las tablas en la base de datos
- 2. Seleccionar todas las columnas de todas las tablas de SQL Server 2008
- 3. Consulta SQL para mostrar todas las vistas en una base de datos de SQL Server 2005
- 4. ¿Está registrando TODAS las consultas en una base de datos de SQL Server 2008 Express?
- 5. Consulta SQL al esquema de búsqueda de todas las tablas
- 6. Obtener nombres de tablas de una base de datos
- 7. Buscar todas las columnas de un cierto tipo en todas las tablas en una base de datos SQL Server
- 8. ¿Puedo obtener el nombre de todas las tablas de la base de datos de SQL Server en la aplicación C#?
- 9. ¿Obtiene todos los nombres de tabla de una base de datos particular mediante consulta SQL?
- 10. ¿Cómo obtener la lista de tablas en la base de datos, usando MS SQL 2008?
- 11. cómo obtener todos los nombres de las tablas en la base de datos sqlCE?
- 12. SQL Server 2008 borre todas las tablas bajo el esquema especial
- 13. Exportar todas las tablas de SQL Server a archivos separados
- 14. Obtenga todas las tablas y todas las columnas de una base de datos odbc
- 15. Renombrar todas las tablas en la base de datos
- 16. Obtener nombres de las columnas de una consulta sin datos
- 17. Consulta SQL para un esquema de base de datos
- 18. SQL: elimine todos los datos de todas las tablas disponibles
- 19. Listar todas las tablas en una base de datos
- 20. SQL Server - Crear un único disparador que se ejecuta para TODAS las tablas de la base de datos
- 21. ¿Cómo puedo obtener un volcado de SQL de una base de datos de SQL Server 2008?
- 22. Combinar dos tablas en SQL Server 2008
- 23. SQLite, ¿cómo obtener todos los nombres de tablas en la base de datos?
- 24. Exponer la base de datos de SQL Server como servicio web para obtener datos de
- 25. ¿Cómo colocar todas las tablas en la base de datos sin soltar la base de datos?
- 26. Cómo colocar todas las tablas de una base de datos en SQL Server 2005 en una declaración, excepto una tabla
- 27. Conectar Access 2007 a SQL Server 2008 Base de datos
- 28. ¿Cómo convertir la base de datos de SQL Server 2008 R2 a SQL Server 2012?
- 29. SQL Server 2008 consulta de tabla cruzada
- 30. Número total de campos en todas las tablas de la base de datos
funcionó a la perfección! –