2009-10-08 19 views
25

SQL veya SQL sunucumu kullanarak sorgu yoluyla tablo DDL bilgilerini almanın kolay bir yolu var mı? (tercihen ikisi de?)MySQL ve SQL Server'da sorgu yoluyla tablo DDL oluştur

Örneğin, MySQL için MySQL Administrator/Navicat kullanarak, "create table foo (....)" komut dosyasını oluşturan bir "DDL" işlevi vardır. Herhangi "Tablo çubuğunu (.....) oluşturma" Bana

Select DDL from foo where table_name='bar'; 

döndü: gibi

bir sorguya kendisinden bu bilgileri almak için herhangi bir yolu var mı?

Değilse - herhangi bir öneri?

cevap

49

mysql'e özgüdür, ancak SHOW CREATE TABLE size bir tablo için DDL verir.

+0

Harika şeyler! Teşekkürler –

+0

Eğer yapabilirsem iki kere yenerim. Teşekkürler! – yair

+2

Desteklendi. Sadece sözdizimi hakkında daha spesifik olmak için, 'Tablo tablosu OLUŞTUR'u GÖSTER' olur. kaynak: http://dev.mysql.com/doc/refman/5.0/en/show-create-table.html – tftdias

2

Bunu kendiniz oluşturmanız gerekir.

Sütun adı ve veri türü için INFORMATION_SCHEMA.COLUMNS sorgulayabilirsiniz.

1

CREATE Table metnini çapraz bir şekilde elde edemezsiniz, ancak INFORMATION_SCHEMA görünümlerinden kendiniz oluşturmak için yeterli bilgiyi alabilirsiniz.