Depende de la cantidad de datos que tenga. Si tiene filas de datos, digamos menos de millones, puede usar el Enfoque 1, pero si tiene datos en millones de filas, puede usar el segundo enfoque
Supongamos que tiene mydb.mytable1 y desea crear mydb.mytable2
Enfoque 1
En el cliente mysql, ejecute lo siguiente
- ¿Cómo crear un sitio web como nanopool.org? ¿De dónde puedo obtener los datos para ejecutar dicho sitio web?
- Asumí el proyecto de mi amigo pensando que quería que le escribiera una página web personal. Resulta que quiere que escriba el próximo Craigslist. ¿Cómo decido cortésmente agregar alguna función sin que le pida que le devuelva el dinero?
- Estoy tratando de desarrollar mi propio navegador web en Python usando PyGTK. Una cosa que no puedo entender es la parte de las cookies. ¿Cómo puedo almacenar y usar cookies en mi nuevo navegador?
- Estoy tratando de desarrollar una herramienta CASE como un proyecto personal. Estoy tratando de echar un vistazo a otros existentes. ¿Dónde puedo encontrar una buena existente o aprender cómo desarrollarla?
- Tengo una idea para crear una red social de nicho. ¿Cómo empezar?
USE mydbCREATE TABLE mytable2 COMO mytb;
INSERTAR EN mytable2
SELECCIONAR * DE mytable1;
El uso puede modificar esto para especificar columnas si las tablas no son idénticas.
Enfoque 2
MYSQL_USER = root
MYSQL_PASS = rootpassword
MYSQL_CONN = “- u $ {MYSQL_USER} -p $ {MYSQL_PASS}”
mysqldump $ {MYSQL_CONN} mydb mytb | sed ‘s / mytb / mytbcopy’ | mysql $ {MYSQL_CONN} -Dmydb
Este enfoque cambia el nombre de la tabla usando sed contra la secuencia que proviene de mysqldump, ya que se hace eco de los comandos INSERT. Este enfoque es útil si tiene un par de millones o más filas.
También hay muchas otras formas de hacerlo, pero supongo que será bueno con estos 2 enfoques.
Espero que esto ayude
RJ