Opisz strukturę tabeli


88

Które zapytanie da strukturę tabeli z definicjami kolumn w języku SQL?


3
Należy określić dostawcę bazy danych, ponieważ polecenia są różne.


2
Nie jest to duplikat, ponieważ tam określono bazę danych.
schmijos

2
@schmijos: właściwie jest to sugerowane, w najlepszym przypadku. „sql” NIE oznacza „MS Sql Server” i irytujące jest to, że tak wiele osób uważa, iż użycie ogólnego terminu do określenia konkretnego dostawcy jest dopuszczalne. „sql” oznacza Structured Query Language, a Microsoft nie jest jedynym „sql”.
Bane

2
@bane Właściwie pomyślałem to samo i spróbowałem odpowiedzieć na ogólne pytanie „SQL”. Ale OP usunął moją odpowiedź. To był powód implikacji. W międzyczasie pytanie zostało zredagowane z MSSQL do SQL. Więc już tego nie rozumiem.
schmijos

Odpowiedzi:



57

To zależy od używanej bazy danych. Oto niepełna lista:

  • sqlite3: .schema table_name
  • Postgres (psql): \d table_name
  • SQL Server: sp_help table_name(lub sp_columns table_nametylko dla kolumn)
  • Oracle DB2: desc table_namelubdescribe table_name
  • MySQL: describe table_name(lub show columns from table_nametylko dla kolumn)


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

Możesz uzyskać szczegółowe informacje, takie jak typ danych kolumny i rozmiar za pomocą tego zapytania


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


5

W przypadku Sybase, czyli SQL Anywhere, poniższe polecenie wyświetla strukturę tabeli:

DESCRIBE 'TABLE_NAME';

4

Podświetl nazwę tabeli w konsoli i naciśnij ALT+F1


9
OP poprosił o zapytanie, a nie o niejasne kroki w nieokreślonej konsoli.
Wranorn

1

Zależy to od dostawcy bazy danych. Przede wszystkim jest to „schemat informacyjny”, do którego należy Google (dotyczy MySQL, MSSQL i być może innych).


1

Serwer 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

1

W przypadku języka SQL użyj słowa kluczowego „sp_help” wprowadź opis obrazu tutaj



1

W przypadku programu SQL Server użyj exec sp_help

USE db_name;
exec sp_help 'dbo.table_name'

W przypadku MySQL użyj opisać

DESCRIBE table_name;
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.