2009-10-08 8 views
25

Existe-t-il un moyen facile d'extraire des informations DDL de table, via une requête, en utilisant Ms ou My SQL server? (De préférence les deux?)Générer une table DDL via une requête sur MySQL et SQL Server

Par exemple, en utilisant MySQL Administrator/Navicat pour MySql, il existe une fonction "DDL" qui génère le script "create table foo (....)".

Est-il possible d'obtenir ces informations à partir d'une requête elle-même, comme:

Select DDL from foo where table_name='bar'; 

Tous ont « Créer bar de table (.....) » revenus à moi?

Si non - des suggestions?

Répondre

49

il est spécifique à mysql, mais SHOW CREATE TABLE vous donne le DDL pour une table.

+0

super trucs! Merci –

+0

Je l'avais upvote deux fois si je le pouvais. Merci! – yair

+2

Refusée. Juste pour être plus précis sur la syntaxe, ce serait 'SHOW CREATE TABLE table_name'. source: http://dev.mysql.com/doc/refman/5.0/fr/show-create-table.html – tftdias

2

Vous devez créer vous-même.

Vous pouvez interroger INFORMATION_SCHEMA.COLUMNS pour le nom de colonne et le type de données.

1

Vous ne pouvez pas obtenir le texte CREATE Table de façon multiplateforme, mais vous pouvez obtenir suffisamment d'informations pour le créer vous-même à partir des vues INFORMATION_SCHEMA.