Describe la estructura de la tabla


84

¿Qué consulta dará la estructura de la tabla con definiciones de columna en SQL?


3
Debe especificar el proveedor de su base de datos ya que los comandos difieren.


2
No es un duplicado ya que allí se especifica la base de datos.
schmijos

2
@schmijos: en realidad está implícito, en el mejor de los casos. "sql" NO significa "MS Sql Server" y es irritante que tanta gente parezca pensar que es aceptable usar el término genérico para especificar un proveedor específico. "sql" significa lenguaje de consulta estructurado y Microsoft no es el único "sql".
Bane

2
@bane En realidad pensé lo mismo y traté de responder a la pregunta genérica de "SQL". Pero el OP borró mi respuesta. Esa fue la razón de la implicación. Y mientras tanto, la pregunta se editó de MSSQL a SQL. Así que ya no lo entiendo.
schmijos

Respuestas:


68

sp_help tablename en el servidor SQL -sp_help [ [ @objname = ] 'name' ]

desc tablename en Oracle -DESCRIBE { table-Name | view-Name }


57

Depende de la base de datos que utilice. Aquí hay una lista incompleta:

  • sqlite3: .schema table_name
  • Postgres (psql): \d table_name
  • SQL Server: sp_help table_name(o sp_columns table_namesolo para columnas)
  • Oracle DB2: desc table_nameodescribe table_name
  • MySQL: describe table_name(o show columns from table_namesolo para columnas)


18
select * from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME='<Table Name>'

Puede obtener detalles como el tipo de datos de la columna y el tamaño mediante esta consulta


11
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'student'


5

Para Sybase, también conocido como SQL Anywhere, el siguiente comando genera la estructura de una tabla:

DESCRIBE 'TABLE_NAME';

4

Resalte el nombre de la tabla en la consola y presione ALT+F1


9
OP solicitó la consulta, no unos pasos vagos en una consola no especificada.
Desgastado el

1

Esto depende de su proveedor de base de datos. En su mayoría, es el "esquema de información" que debería buscar en Google (se aplica a MySQL, MSSQL y quizás a otros).



1

En DBTools para Sybase, es sp_columns your_table_name.


0

Servidor SQL

DECLARE @tableName nvarchar(100)
SET @tableName = N'members' -- change with table name
SELECT
    [column].*,
    COLUMNPROPERTY(object_id([column].[TABLE_NAME]), [column].[COLUMN_NAME], 'IsIdentity') AS [identity]
FROM 
    INFORMATION_SCHEMA.COLUMNS [column] 
WHERE
    [column].[Table_Name] = @tableName

0

Para SQL Server, use exec sp_help

USE db_name;
exec sp_help 'dbo.table_name'

Para MySQL, use describe

DESCRIBE table_name;
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.