Cómo importar un archivo csv en MySQL workbench?

Tengo un archivo CSV. Contiene 1,4 millones de filas de datos, por lo que no puedo abrir ese archivo csv en Excel porque su límite es de aproximadamente 1 millón de filas.

Por lo tanto, quiero importar este archivo en MySQL workbench. Este archivo csv contiene columnas como

"Service Area Code","Phone Numbers","Preferences","Opstype","Phone Type" 

Estoy tratando de crear una tabla en el banco de trabajo MySQL nombrada como “ficticia” que contenga columnas como

 ServiceAreaCodes,PhoneNumbers,Preferences,Opstyp,PhoneTyp. 

El archivo CSV se llama model.csv . Mi código en workbench es así:

 LOAD DATA LOCAL INFILE 'model.csv' INTO TABLE test.dummy FIELDS TERMINATED BY ',' lines terminated by '\n'; 

pero model.CSV file not found un error como el model.CSV file not found

Supongo que te está faltando la cláusula ENCLOSED BY

 LOAD DATA LOCAL INFILE '/path/to/your/csv/file/model.csv' INTO TABLE test.dummy FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n'; 

Y especifique la ruta completa del archivo csv

Load Data Infile – Documentación de MySQL

En caso de que tenga un conjunto de datos más pequeño, una forma de lograrlo mediante GUI es:

  1. Abra una ventana de consulta
  2. SELECCIONAR * FROM [nombre_tabla]
  3. Selecciona Importar desde la barra de menú
  4. Presione Aplicar en la parte inferior derecha debajo de la Cuadrícula de resultados

enter image description here

Referencia: http://www.youtube.com/watch?v=tnhJa_zYNVY

En el navegador debajo de SCHEMAS, haga clic con el botón derecho en su esquema / base de datos y seleccione “Asistente de importación de datos de tabla”

Funciona para Mac también.

Por el momento, no es posible importar un CSV (utilizando MySQL Workbench) en todas las plataformas, ni se aconseja si dicho archivo no reside en el mismo host que el host del servidor MySQL.

Sin embargo, puedes usar mysqlimport .

Ejemplo:

 mysqlimport --local --compress --user=username --password --host=hostname \ --fields-terminated-by=',' Acme sales.part_* 

En este ejemplo, mysqlimport recibe instrucciones de cargar todos los archivos denominados “ventas” con una extensión que comienza con “parte_”. Esta es una forma conveniente de cargar todos los archivos creados en el ejemplo de “división”. Use la opción –compress para minimizar el tráfico de la red. La opción –fields-ended-by = ‘,’ se usa para archivos CSV y la opción –local especifica que los datos entrantes se encuentran en el cliente. Sin la opción –local, MySQL buscará los datos en el host de la base de datos, así que siempre especifique la opción –local.

Hay información útil sobre el tema en la documentación de AWS RDS .

Si el servidor reside en una máquina remota, asegúrese de que el archivo esté en la máquina remota y no en su máquina local.

Si el archivo está en la misma máquina donde está el servidor mysql, asegúrese de que el usuario de mysql tenga permisos para leer / escribir el archivo o copie el archivo en el directorio de esquema de mysql:

En mi caso en ubuntu fue: /var/lib/mysql/db_myschema/myfile.csv

Además, no es relativo a este problema, pero si tiene problemas con las nuevas líneas, use sublimeTEXT para cambiar los finales de línea a formato WINDOWS, guarde el archivo y vuelva a intentarlo.

Parece un poco complicado ya que realmente me había molestado durante mucho tiempo.

Solo tiene que abrir la tabla (haga clic con el botón derecho en “Seleccionar filas – Límite 10000”) y se abrirá una nueva ventana. En esta nueva ventana, encontrará “icono de importación”.

Puede usar el Asistente de importación de datos de tabla MySQL