tablas - mysql workbench result grid not showing windows
Volcado de MySQL por consulta (9)
Combinando gran parte de lo anterior es mi ejemplo práctico real, seleccionando registros basados en el medidor y la marca de tiempo. Necesité este comando por años. Se ejecuta muy rápido.
mysqldump -uuser -ppassword main_dbo trHourly --where="MeterID =5406 AND TIMESTAMP<''2014-10-13 05:00:00''" --no-create-info --skip-extended-insert | grep ''^INSERT'' > 5406.sql
¿Es posible hacer mysqldump
por una sola SQL query
?
Me refiero a volcar toda la base de datos, como hace phpmyadmin
cuando exportas a SQL
Esto debería funcionar
mysqldump --databases X --tables Y --where="1 limit 1000000"
MySQL Workbench también tiene esta característica ordenadamente en la GUI. Simplemente ejecute una consulta, haga clic en el icono de guardar al lado de Exportar / Importar:
Luego elija "SQL INSERT declaraciones (* .sql)" en la lista.
Ingrese un nombre, haga clic en guardar, confirme el nombre de la tabla y tendrá su archivo de volcado.
Puede usar la opción --where en mysqldump para producir un resultado que está esperando:
mysqldump -u root -p test t1 --where="1=1 limit 100" > arquivo.sql
Como máximo 100 filas de test.t1 serán abandonadas de la tabla de la base de datos.
Cheers, WB
Puede volcar una consulta como csv como esta:
SELECT * from myTable
INTO OUTFILE ''/tmp/querydump.csv''
FIELDS TERMINATED BY '',''
ENCLOSED BY ''"''
LINES TERMINATED BY ''/n''
Si desea exportar su última n cantidad de registros en un archivo, puede ejecutar lo siguiente:
mysqldump -u user -p -h localhost --where "1=1 ORDER BY id DESC LIMIT 100" database table > export_file.sql
Lo anterior guardará los últimos 100 registros en export_file.sql, suponiendo que la tabla desde la que está exportando tiene una columna de ID con incremento automático.
Deberá modificar los valores de usuario, localhost, base de datos y tabla. Opcionalmente puede alterar la columna de identificación y exportar el nombre del archivo.
Volcar una tabla usando una consulta where:
mysqldump mydatabase mytable --where="mycolumn = myvalue" --no-create-info > data.sql
Volcar una tabla completa:
mysqldump mydatabase mytable > data.sql
Notas:
- Reemplace
mydatabase
,mytable
y la sentencia where con los valores deseados. - Por defecto,
mysqldump
incluirá lasDROP TABLE
yCREATE TABLE
en su salida. Por lo tanto, si no desea eliminar todos los datos en su tabla al restaurar desde el archivo de datos guardado, asegúrese de utilizar la--no-create-info
. - Es posible que necesite agregar las opciones apropiadas
-h
,-u
y-p
a los comandos de ejemplo anteriores para especificar el host, el usuario y la contraseña de la base de datos que desee, respectivamente.
mysql Exportar la línea de comandos de los resultados de la consulta:
mysql -h120.26.133.63 -umiyadb -proot123 miya -e "select * from user where id=1" > mydumpfile.txt
no mysqldump, pero mysql cli ...
mysql -e "select * from myTable" -u myuser -pxxxxxxxxx mydatabase
puede redirigirlo a un archivo si lo desea:
mysql -e "select * from myTable" -u myuser -pxxxxxxxx mydatabase > mydumpfile.txt
Actualización: la publicación original preguntó si podía volcar desde la base de datos por consulta. Lo que él preguntó y lo que quiso decir fue diferente. Él realmente quería simplemente mysqldump todas las tablas.
mysqldump --tables myTable --where="id < 1000"