Puedes gestionar la creación de la bbdd y de las tablas e indices desde SQLYOG o desde cualquier otro FrontDesk.
La sentencia se envia luego de realizar la conexión en tu aplicación, como si enviaras un SELECT o un INSERT.
En su oportunidad nosotros migramos los datos de las tablas de VFP a MySQL, lo hicimos directamente desde VFP
Para poder subir los datos con Ñ o con tíldes lo hicimos de la forma que te comentaba.
Te envio código de ejemplo, lo he teclado ahora mismo, espero que no vayan errores.
En tu aplicación, cuando te conectas a MySQL, Creas una conexión a la bbdd. básicamente de esta forma y luego envias las sentencias.
*- Conectamos a la BBDD por medio de la cadena de conexión
SQLSETPROP(0,"DispLogin" , 3 )
tnHnd = SQLSTRINGCONNECT(lcStringConexion)
llResult = tnHnd >0
*- No se ha podido conectar
IF !llResult
Messagebox("Error al conectar")
ENDIF
*- Hemos conectado
IF llResult
*- Enviamos las sentencias
=SQLEXEC( tnHnd, "set autocommit=0") && no hacer autocomit
=SQLEXEC( tnHnd, "set session sql_mode = ''") && no utilizar modo estricto
=SQLEXEC( tnHnd, "SET CHARACTER_SET_SERVER='LATIN1', CHARACTER_SET_DATABASE='LATIN1', CHARACTER_SET_CLIENT='UTF8', CHARACTER_SET_CONNECTION='UTF8'")
*- Abrimos la tabla que queremos migrar
USE TABLA1
*- Nos aseguramos que no hay registros en la tabla de MySQL por si tenemos que volver a subir los datos
TEXT TO lcSQL TEXTMERGE NOSHOW PRETEXT 3
DELETE FROM
MySQL_TABLA
ENDTEXT
SCAN
*- Aqui pones la instrucción INSERT que utilizas para subir los campos de la tabla
TEXT TO lcSQL TEXTMERGE NOSHOW PRETEXT 3
INSERT INTO MySQL_TABLA (ID, CAMPOTEXTO, ...) VALUES ( <<LTRIM(STR(CAMPOID))>>, '<<ALLTRIM(CAMPOTEXTO)>>'...)
ENDTEXT
ENDSCAN
*- Cerramos la tabla
USE IN SELECT("TABLA1")
*- Cerramos la conexión.
=SQLDISCONECT(tnHnd)
ENDIF