¿Cuál es la forma más fácil de importar una nueva tabla a MySQL v5 desde CSV?

StackOverflow https://stackoverflow.com/questions/156994

  •  03-07-2019
  •  | 
  •  

Pregunta

Estoy ejecutando MySQL 5 en un servidor Linux en mi red local. Ejecutando Windows XP para mi escritorio. Eché un vistazo a las Herramientas de la GUI de MySQL pero no creo que ayuden . No puedo instalar apache en el servidor remoto & amp; usa algo como PHPmyAdmin.

¿Fue útil?

Solución

Utilizo SQLyog en mi sistema Windows, que tiene una Edición de Comunidad gratuita y tiene una opción para importar desde CSV.

Nunca he usado esta opción yo mismo, así que no puedo decirte lo bueno que es. Sin embargo, SQLyog ha sido excelente para todas las otras cosas para las que lo he usado.

Otros consejos

tenga un look @ cargue el infile de datos: http: / /dev.mysql.com/doc/refman/5.0/en/load-data.html

Desde el shell de MySQL o el navegador de consultas ...

Si el CSV no tiene encabezado:

LOAD DATA INFILE 'mycsvfile.csv' INTO TABLE mytable;

Si el CSV tiene un encabezado:

LOAD DATA INFILE 'mycsvfile.csv' INTO TABLE mytable IGNORE 1 LINES;

Yo usaría un editor de hojas de cálculo para hacer un conjunto de sentencias SQL. Coloque una nueva columna al inicio y agregue insert en los valores de nombre de tabla ('. Agregue otras columnas para separar los datos con código como ' ',' . Finalice con ''); . Use la función de autocompletar para arrastrar estas celdas hasta tantas filas como sea necesario. Copie la hoja completa en un editor de texto plano y elimine las pestañas sobrantes, lo que le deja un simple conjunto de declaraciones de inserción.

Esta es una solución que puedo usar para cualquier sistema de base de datos y cualquier formato de archivo de hoja de cálculo. Además, es fácil rellenar la hoja de cálculo de fuentes como otras bases de datos o copiar y pegar desde una página web. También es bastante rápido y está disponible desde cualquier máquina de escritorio, utilizando Excel, OpenOffice o Google Docs.

Vea mi hoja de cálculo de ejemplo en Excel y OpenOffice versiones.

Simplemente hice esto usando LOAD DATA INFILE pero vale la pena señalar que no es tan simple como el ejemplo de Gareth (Kai tiene toda la razón de que deberías mirar a la documentación ). Para importar correctamente valores separados por comas, usé esto:

LOAD DATA LOCAL INFILE 'mycsvfile.csv' INTO TABLE mytable 
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;

Esto supone un archivo CSV con comillas alrededor de cada campo y una única fila de encabezado en la parte superior. (Probablemente no necesite el LÍNEAS TERMINADAS POR , ya que debería ser la predeterminada, pero es una buena práctica ser explícito).

La aplicación Toad hace maravillas y es gratuita. Si tiene un archivo CSV adecuado, creará la tabla e importará todos los datos por usted.

Escriba un script Python simple que analice el CSV y lo inserte en la tabla.

Mire el módulo csv y mysqldb .

Si no te importa usar un poco de software comercial, entonces Navicat ( http://mysql.navicat.com / ) es un bit de software muy útil y está disponible para Mac, Windows, Linux. Lo uso regularmente para importar un archivo CSV grande a una base de datos.

Toad for MySQL lo hará muy bien, con un control considerable sobre la importación (columnas que coinciden selectivamente por ejemplo) y lo más perdurable es que es gratis.

También he usado SQLYog, pero tienes que tener la versión comercial para esto ya que la importación desde archivo no está disponible en la edición de la comunidad.

Toad es un excelente software que viene en versiones para las principales bases de datos y también he usado las versiones MSSQL y Oracle en el pasado. Recomendado.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top