Hoe vermeldt u voor de verschillende populaire databasesystemen alle kolommen in een tabel?
Antwoord 1, autoriteit 100%
Gebruik voor MySQL:
DESCRIBE name_of_table;
Dit werkt ook voor Oracle zolang u SQL*Plus of Oracle’s SQL Developer gebruikt.
Antwoord 2, autoriteit 46%
Voor Oracle (PL/SQL)
SELECT column_name
FROM user_tab_cols
WHERE table_name = 'myTableName'
Voor MySQL
SHOW COLUMNS FROM table_name
Antwoord 3, autoriteit 38%
Voor MS SQL Server:
select * from information_schema.columns where table_name = 'tableName'
Antwoord 4, autoriteit 15%
(5 jaar later, ter ere van PostgreSQL, de meest geavanceerde DDBB van het Koninkrijk)
In PostgreSQL:
\d table_name
Of, met SQL:
select column_name, data_type, character_maximum_length
from INFORMATION_SCHEMA.COLUMNS
where table_name = 'table_name';
Antwoord 5, autoriteit 12%
Ik weet dat het laat is, maar ik gebruik dit commando voor Oracle:
select column_name,data_type,data_length from all_tab_columns where TABLE_NAME = 'xxxx' AND OWNER ='xxxxxxxxxx'
6, Autoriteit 5%
Oproep onderstaande code in MS SQL Server :
sp_columns [tablename]
7, Autoriteit 4%
Microsoft SQL Server Management Studio 2008 R2:
In een query-editor, als u de tekst van de tabelnaam (EX DBO.MYTABLE) markeert en drukt ALT kbd>+ F1 kbd>, ontvangt u een kolomlijst namen, type, lengte, enz.
Alt kbd>+ F1 kbd>Terwijl u bent gemarkeerd dbo.MyTable
is het equivalent van het uitvoeren EXEC sp_help 'dbo.MyTable'
volgens deze site
Ik kan de variaties op het querying-informatie_schema niet krijgen. Columns om te werken, dus ik gebruik dit in plaats daarvan.
8, Autoriteit 2%
voor SQL Server
sp_help tablename
9
SQL Server
Om alle door de gebruiker gedefinieerde tabellen van een database te vermelden:
use [databasename]
select name from sysobjects where type = 'u'
Om alle kolommen van een tabel te vermelden:
use [databasename]
select name from syscolumns where id=object_id('tablename')
10
Slechts een kleine correctie op de anderen in SQL Server (Schema Prefix wordt steeds belangrijker!):
SELECT name
FROM sys.columns
WHERE [object_id] = OBJECT_ID('dbo.tablename');
11
Voorbeeld:
select Table_name as [Table] , column_name as [Column] , Table_catalog as [Database], table_schema as [Schema] from information_schema.columns
where table_schema = 'dbo'
order by Table_name,COLUMN_NAME
Gewoon mijn code