2009-10-08 6 views
25

Esiste un modo semplice per estrarre le informazioni DDL della tabella, tramite una query, utilizzando Ms o My SQL server? (preferibilmente entrambi?)Genera tabella DDL tramite query su MySQL e SQL Server

Ad esempio, utilizzando MySQL Administrator/Navicat per MySql, esiste una funzione "DDL", che genera lo script "create table foo (....)".

Esiste un modo per ottenere queste informazioni da una query stessa, come ad esempio:

Select DDL from foo where table_name='bar'; 

Qualsiasi "Crea Tavolo (.....)" tornato a me?

In caso negativo - qualche suggerimento?

risposta

49

è specifico per mysql, ma SHOW CREATE TABLE fornisce il DDL per una tabella.

+0

grandi cose! Grazie –

+0

Avrei votato due volte se potessi. Grazie! – yair

+2

Venerato. Per essere più specifico sulla sintassi, sarebbe 'SHOW CREATE TABLE table_name'. fonte: http://dev.mysql.com/doc/refman/5.0/en/show-create-table.html – tftdias

2

Devi crearlo da solo.

È possibile interrogare INFORMATION_SCHEMA.COLUMNS per il nome della colonna e il tipo di dati.

1

Non è possibile ottenere il testo CREATE Table in modo cross-platform, ma è possibile ottenere informazioni sufficienti per costruire da soli dalle INFORMATION_SCHEMA vista.