![]() |
Generar Script MySQL
Hola!
Creo que mi pregunta si esta dificil esta vez. Tengo que generar un script con la estructura de una BD de MySQL, pero que este Script pueda ser leido luego por el MySQL y por supuesto, permitir importar la BD. Existe alguna instruccion que me permita hacer esto en MySQL o tengo que programar el Script?? En cualquiera de los casos./... alguien sabe como se hace esto? Alguien ha hacho algo igual que me pudiera facilitar alguna idea o segmento de codigo? Gracias!!! Lazaro Bustio Martinez. |
Cosas que te pueden servir:
Todas éstas son consultas sql que puedes hacer con MySql. // Saludos |
Generar Script
GRacias Roman..!!! acabo de probar estas ideas qeu me diste sobre el MySQL funcionan para lo que deseo. COn estas isntrucciones obtengo el script para la estructura de las tablas y demas, ahora, no habra algo similar para obtener los datos de las tablas?
|
para hacer esto debes utilizar el mysqldump, este se encuentra en la carpeta bin de la instalacion del mysql, este te genera el script de la base datos, ademas podes especificar si quieres nada mas la estructura o la estructura con los datos que tienen las tablas, ademas este script lo genera en puras sentencias sql.
|
Respondiendo....
Cita:
Eso que me dices me parece muy bien, es justo lo que deseo hacer.. pero... Como uso el MySQLDUMP?? ya lo ejecute y me sale una ventana negra estilo CMD(MSDOS) donde no puedo ver nada por que se cierra muy rapido. Supongo que debo pasarle algunos parametros a esa aplicacion.. pues en todo caso, me interesa poder decidir hacia que lugar genero el Script, la carpeta donde deseo ubicarlo y el nombre que quiero darle... Me podrias indicar un poco mas???? |
Yo pensaba que querías hacer tú un código para generar el respaldo.
Para usar el mysqldump lo más cómodo es que abras primero una ventana de ms-dos y desde ahí lo ejecutes: mysqldump -uusuario -p database > respaldo.sql Cuando quieras restaurarlo basta que hagas mysql -uusuario -p database < respaldo.sql // Saludos |
Roman tiene Razon
Pues si, lo que yo necesito hacer es crear un algoritmo, un codigo que me permita hacer el backup de mi BD.
Ya con la idea qeu me diste(Roman) puedo generar las estructuras de las tablas y de la BD en general, lo que me faltaria ahora es como hacer para crear el segmento del Script que le da tratamiento especifico a los datos contenidos en las tablas. Cuando vi la idea del mySQLDUMP lo qye pense es qeu desde el delphi mismo se le podia mandar a ejecutar, y luego, mediante algunos parametros, qye el mismo DUMP generara el Script.. pero segun veo esto no es asi de sencillo. Voy a tener que crear yo mismo el script completo. Me das alguna sugerencia para la hora de hacer la seccion que permite hacerle el tratamiento a los datos?? GRacias a todos de antemano! (no se qyue seria de mi sin este foro!!) |
Si el respaldo lo haces en el servidor entonces hay una manera muy sencilla de hacerlo:
Esto te guardará todos los datos de la tabla tabla en el archivo tabla.txt. El formato con que lo guarda es el de campos separados por tabulaciones pero puedes especificarle otro formato (por ejemplo, separado por comas). Para recuperar el respaldo, una vez que hayas creado la tabla puedes usar:
Si no especificas ninguna ruta, creo que el archivo lo guarda en el mismo directorio donde está la base de datos. Si especificas una ruta debes utilizar '/' en lugar de '\' para separar los directorios. Si el respaldo lo haces desde otra máquina, aun puedes usar esta técnica pero el usuario debe tener derechos en MySql para crear archivos lo cual puede no ser muy buena idea por razones de seguridad. Otra manera de hacer el respaldo es crear tú mismo un archivo .sql con las instrucciones INSERT necesarias (una por cada registro de la tabla). Esto debe ser sencillo: simplemente recorres la tabla y por cada registro formas una cadena: INSERT INTO tabla values(valor1, valor2, valor3,...); donde valor1, valor2, valor3, etc. son los valores entre comillas de los campos para ese registro. Tales valores los obtienes recorriendo el arreglo Fields del DataSet que uses para acceder a la tabla de MySql. Cada una de estas líneas la insertas en el archivo de texto. Para recuperar el respaldo lees este archivo línea a línea ejecutando cada una. // Saludos |
Gracias Roman!
Me ha parecido estupenda esa ayuda que me has dado...
Ahora, solo necesito saber donde puedo encontrar informacion sobre el MySQL, sus instrucciones y demas pues el que tengo es solo de SQL SERVER 2000 y hay muchas cosas que no las tiene el MySQL. De cualquier manera, me han servido de mucha ayuda tus comentarios. |
Cita:
Si buscas por esa página me parece que también hay versión en español. // Saludos |
Sabes que lo de generar el backup de la base de datos con el mysqldump no es tan complicado como parece, el unico inconveniente que le veo yo es que te hayan movido el ejecutable de este de ubicacion, pero igual antes de realizar la labor de crear el backup, pues buscarias ese archivo en el equipo.
Si abres una consola de DOS de la siguiente manera podras ver que parametros acepta este, entre los cuales esta el -r para indicar la ubicacion en la cual deseas que se aloje el resultado del backup. ---------------------- VENTANA DOS. >(directorio en donde se encuentra la carpeta bin de mysql)/mysqldump --help ---------------------- Ya desde tu codigo llamarias este ejecutable pasandole los parametros que desees y te generaria el script. |
Respondiendo....
Cita:
Yo cree esta consulta para poder obtener los datos de mi BD en SCV, solo que no me deja Annadirle al fichero de salida los valores de las demas tablas pues me dice que el fichero ya existe. Podrias tu o alguien explicarme como le hago este "Append" al fichero desde el MySql? Esto fue lo que hice:
y esta es la respuesta del Server:
|
Cita:
Cita:
|
La franja horaria es GMT +2. Ahora son las 08:32:55. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi