¿Alguien puede explicar cómo importar un archivo de Microsoft Excel a una base de datos MySQL?
Por ejemplo, mi tabla de Excel se ve así:
Country | Amount | Qty
----------------------------------
America | 93 | 0.60
Greece | 9377 | 0.80
Australia | 9375 | 0.80
Respuestas:
Exportarlo a algún formato de texto. La más fácil probablemente sea una versión delimitada por tabulaciones, pero CSV también puede funcionar.
Utilice la capacidad de carga de datos. Ver http://dev.mysql.com/doc/refman/5.1/en/load-data.html
Mire hacia la mitad de la página, ya que le dará un buen ejemplo de datos separados por pestañas:
CAMPOS TERMINADOS POR '\ t' ENCERRADOS POR '' ESCAPADOS POR '\'
Verifique sus datos. A veces, citar o escapar tiene problemas, y necesita ajustar su fuente, comando de importación, o simplemente puede ser más fácil posprocesar a través de SQL.
fuente
Existe una herramienta en línea simple que puede hacer esto llamada sqlizer.io .
Carga un archivo XLSX en él, ingresa un nombre de hoja y un rango de celda, y generará una declaración CREATE TABLE y un montón de declaraciones INSERT para importar todos sus datos a una base de datos MySQL.
(Descargo de responsabilidad: ayudo a ejecutar SQLizer)
fuente
A continuación se muestra otro método para importar datos de hojas de cálculo a una base de datos MySQL que no depende de ningún software adicional. Supongamos que desea importar su tabla de Excel a la
sales
tabla de una base de datos MySQL llamadamydatabase
.Seleccione las celdas relevantes:
Pegue en Mr. Data Converter y seleccione la salida como MySQL:
Cambie el nombre de la tabla y las definiciones de columna para que se ajusten a sus requisitos en el resultado generado:
CREATE TABLE sales ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, Country VARCHAR(255), Amount INT, Qty FLOAT ); INSERT INTO sales (Country,Amount,Qty) VALUES ('America',93,0.60), ('Greece',9377,0.80), ('Australia',9375,0.80);
Si está utilizando MySQL Workbench o ya ha iniciado sesión
mysql
desde la línea de comandos, puede ejecutar las declaraciones SQL generadas desde el paso 3 directamente. De lo contrario, pegue el código en un archivo de texto (por ejemplo,import.sql
) y ejecute este comando desde un shell de Unix:mysql mydatabase < import.sql
Se pueden encontrar otras formas de importar desde un archivo SQL en esta respuesta de Stack Overflow .
fuente
En realidad, hay varias formas de importar un archivo de Excel a una base de datos MySQL con diversos grados de complejidad y éxito.
Excel2MySQL . Sin duda, la forma más fácil y rápida de importar datos de Excel a MySQL. Es compatible con todas las versiones de Excel y no requiere la instalación de Office.
LOAD DATA INFILE : esta opción popular es quizás la más técnica y requiere cierta comprensión de la ejecución de comandos MySQL. Debe crear manualmente su tabla antes de cargarla y usar tipos de campo VARCHAR de tamaño adecuado. Por lo tanto, sus tipos de datos de campo no están optimizados. LOAD DATA INFILE tiene problemas para importar archivos grandes que exceden el tamaño de 'max_allowed_packet'. Se requiere especial atención para evitar problemas al importar caracteres especiales y caracteres Unicode extranjeros. Aquí hay un ejemplo reciente que utilicé para importar un archivo csv llamado test.csv.
phpMyAdmin : Primero seleccione su base de datos, luego seleccione la pestaña Importar. phpMyAdmin creará automáticamente su tabla y dimensionará sus campos VARCHAR, pero no optimizará los tipos de campo. phpMyAdmin tiene problemas para importar archivos grandes que exceden el tamaño de 'max_allowed_packet'.
MySQL para Excel : este es un complemento de Excel gratuito de Oracle. Esta opción es un poco tediosa porque usa un asistente y la importación es lenta y con errores con archivos grandes, pero puede ser una buena opción para archivos pequeños con datos VARCHAR. Los campos no están optimizados.
fuente
No estoy seguro si tiene toda esta configuración, pero para mí estoy usando PHP y MYSQL. Entonces uso una clase PHP PHPExcel. Esto toma un archivo en casi cualquier formato, xls, xlsx, cvs, ... y luego le permite leer y / o insertar.
Entonces, lo que termino haciendo es cargar Excel en un objeto phpexcel y luego recorrer todas las filas. Según lo que quiero, escribo un comando de inserción SQL simple para insertar los datos en el archivo de Excel en mi tabla.
En la parte frontal es un poco de trabajo, pero es solo una cuestión de ajustar algunos de los ejemplos de código existentes. Pero cuando lo tiene marcado, realizar cambios en la importación es simple y rápido.
fuente
la mejor y más sencilla forma es utilizar la aplicación "MySQL para Excel" que es una aplicación gratuita de Oracle. esta aplicación agregó un complemento para sobresalir para exportar e importar datos a mysql. puedes descargar eso desde aquí
fuente
Al usar archivos de texto para importar datos, tuve problemas con las comillas y con la forma en que Excel formateaba los números. Por ejemplo, mi configuración de Excel usó la coma como separador decimal en lugar del punto.
Ahora uso Microsoft Access 2010 para abrir mi tabla MySql como tabla vinculada. Allí puedo simplemente copiar y pegar celdas de Excel a Access.
Para hacer esto, primero instale el controlador ODBC de MySql y cree una conexión ODBC . Luego, en el acceso, en la pestaña "Datos externos", abra el cuadro de diálogo "Base de datos ODBC" y enlace a cualquier tabla usando la conexión ODBC.
Con MySql Workbench , también puede copiar y pegar sus datos de Excel en la cuadrícula de resultados de MySql Workbench. Di instrucciones detalladas en esta respuesta .
fuente
Para ver un ejemplo paso a paso para importar Excel 2007 a MySQL con la codificación correcta (UTF-8), busque este comentario:
"Publicado por Mike Laird el 13 de octubre de 2010 12:50 am"
en la siguiente URL:
http://dev.mysql.com/doc/refman/5.1/en/load-data.html
fuente
Puede usar DocChow , una GIU muy intuitiva para importar Excel a MySQL, y es gratis en la mayoría de las plataformas comunes (incluido Linux).
Más especialmente si le preocupa la fecha, los tipos de datos de fecha y hora, DocChow maneja fácilmente los tipos de datos. Si está trabajando con varias hojas de cálculo de Excel que desea importar a una tabla MySQL, DocChow hace el trabajo sucio.
fuente
Paso 1 Crea tu archivo CSV
Paso 2 inicie sesión en su servidor mysql
Paso 3 cargue su archivo csv
load data local infile '//home/my-sys/my-excel.csv' into table my_tables fields terminated by ',' enclosed by '"' (Country, Amount,Qty);
fuente
Otra herramienta útil, y como reemplazo del front-end de MySQL, es Toad para MySQL . Lamentablemente, ya no es compatible con Quest , pero es un IDE brillante para MySQL, con asistentes de IMPORT y EXPORT, que se adaptan a la mayoría de los tipos de archivos.
fuente