2010-09-03 22 views
10

Tengo una tabla bastante grande y compleja en una base de datos MySQL que sería una molestia tener que crear una consulta para recrear manualmente si algo salía mal.Crear consulta MySQL para crear una tabla a partir de una tabla existente

¿De alguna manera puedo obtener MySQL u otra herramienta/script que pueda usar para obtener una consulta hecha automáticamente que recrearía la estructura de la tabla?

ideal sería que si usted sugirió una herramienta/script sería para Linux

Respuesta

15
SHOW CREATE TABLE `thetable`; 

También cualquier método de respaldo como mysqldump debería darle una opción para guardar estructura, así como de datos.

+1

wow como tan simple como eso, o mis habilidades de Google faltan o mis ojos no estaban funcionando – Tristan

+5

no se quejen de sus habilidades de google antes de siquiera pensar en la posibilidad de LEER EL MANUAL – hop

0

puede exportar la estructura de la tabla de phpMyAdmin en un archivo sql ...

0
SHOW CREATE TABLE `table_name`; 
0

estoy totalmente de acuerdo con otras personas:
con mysqldump se obtiene un volcado de la tabla (opcional) --tables, digamos dumpMyTable.sql
luego, si se desea cargar este basurero en un nuevo esquema:

mysql -uuser_name -ppassword MyNewSchema < dumpMyTable.sql 

si desea cargarlo en el mismo esquema, pero en una nueva tabla que tendrá que editar el archivo dumpMyTable.sql y cambiar el nombre de la tabla manualmente. Si el archivo de volcado es muy grande, recomiendo el uso del comando "sed"

0

Puede usar SqlYog para este propósito. La solución está a solo 2 clics de esta herramienta. Puede usar el menú de DataBase para este propósito. También puede copiar solo el esquema o la información completa, y ambos, incluso en servidores diferentes.

7

de http://dev.mysql.com/doc/refman/5.0/en/create-table.html

para crear una tabla vacía basada en la definición de otra mesa, incluyendo cualquier atributo de columna e índices definidos en la tabla original:

CREATE TABLE new_tbl LIKE orig_tbl; 
+0

Esto era exactamente lo que estaba buscando, ¡gracias! – richddr

0

CREATE TABLE new_table AS SELECT * FROM old_table WHERE 1 =0

4

ejecutar estas consultas :

Si desea copiar estructura de la tabla con la clave primaria, clave externa y limita con los datos ...

CREATE TABLE newtableName LIKE oldTableName; 
INSERT newtableName SELECT * FROM oldTableName; 
Cuestiones relacionadas