SQL – Buscar tabla o columna en una base de datos de SQL Server

Publicidad +
Publicidad +
Publicidad +
Publicidad +

Es común que necesitemos buscar tabla o columna en una base de datos, mas cuando no somos los que desarrollamos la base de datos podemos tener complicaciones para encontrar alguna tabla o columna cuando es una base de datos grande;

Ahora vemos que podemos reducir nuestros tiempos de búsqueda realizando consultas con el dato que deseamos encontrar.

También te puede interesar buscar dentro de procedimientos almacenados o SQL – Buscar tabla o columna en una base de datos de SQL Server

Características del Query

Buscar el nombre de la tabla o columna en la Base de Datos sin tener el nombre exacto, podremos buscar por ejemplo una tabla o columna que se llama EmpleadosRegionMexico y solo poner en busqueda EmpleadosRegion, nos arrojara como resultado todas las tablas que contengan EmpleadosRegion, o también si ponemos solo Empleados, o Emplead nos arrojara todas las tablas que contengan esos caracteres.

Query para buscar tabla o columna en una base de datos

En este solo tenemos que cambiar el dato NombreABuscar por el nombre de la tabla o columna que buscamos.

USE SistCont
DECLARE @busqueda AS VARCHAR(20)
SET @busqueda = 'NombreABuscar'
select
  t.name as 'Tabla',
  c.name as 'Columna',
  ti.name as 'Tipo',
  c.is_nullable as 'Acepta Datos Nulos',
  c.max_length as 'Largo Máximo'
from
  sys.tables t left join
  sys.all_columns c on (c.object_id = t.object_id) left join
  sys.types ti on (c.system_type_id = ti.system_type_id)
where
  c.name like '%' + @busqueda + '%' OR
  t.name like '%' + @busqueda + '%'
order by 'tabla'

Funcionamiento de Query para buscar tabla o columna en una base de datos

Primero buscaremos el nombre de una tabla el cual se llama Empleado.

USE SistCont
DECLARE @busqueda AS VARCHAR(20)
SET @busqueda = 'Empleado'
select
  t.name as 'Tabla',
  c.name as 'Columna',
  ti.name as 'Tipo',
  c.is_nullable as 'Acepta Datos Nulos',
  c.max_length as 'Largo Máximo'
from
  sys.tables t left join
  sys.all_columns c on (c.object_id = t.object_id) left join
  sys.types ti on (c.system_type_id = ti.system_type_id)
where
  c.name like '%' + @busqueda + '%' OR
  t.name like '%' + @busqueda + '%'
order by 'tabla

Resultados de la búsqueda

Como podemos ver en el Query el nombre que busque es Empleado y el resultado nos dio las tablas que contenían Empleado, en este caso en la base de datos de muestra solo tenemos una tabla con el nombre empleados como se muestra en la imagen.

Ahora figuraremos que requerimos una Columna del cual no sabemos o recordamos el nombre completo, lo podemos buscar con tan solo una parte de esta por ejemplo ‘Clie’, ahora veamos cual es el resultado.

Como podemos ver, nuestra búsqueda me arrojo como resultado Tablas y Columnas que contienen ‘Clie’.

Califica este articulo

Fernando O.

Soy analista de sistemas actualmente trabajo en una empresa con mas de 200 empleados que utilizan equipo de computo al cual se les da soporte en el departamento.
Uno de mis pasatiempos fuera de la empresa es escribir artículos para PortalMasTips donde documento los problemas, inquietudes y detalles interesantes que se presentan.

Deja un comentario...

Compartir
Twittear
+1
Compartir
Pin
Stumble