mysql-apicultur

Entrada corta y mágica. Os presento una de esas instrucciones que permiten hacer la entrada-salida de datos en MySQL.

Con esta instrucción lo que hacemos es introducir datos en una tabla, datos que vendrán de un fichero “csv” [valores separados por comas] y que tras la ejecución de esta instrucción entrarán en la tabla.

Los principales problemas de este tipo de instrucciones son los códigos de caracteres, aquello de las tildes y las ñ. Probad con diferentes configuraciones hasta dar con la techa. También suele haber problema con el tamaño de los campos. Sed generosos con el tamaño de los mismos y luego, si es demasiado grande lo podéis reducir. La instrucción tiene la forma siguiente:

LOAD DATA LOCAL INFILE ‘C:/Users/watto/fichero.csv’
INTO TABLE tabla
FIELDS TERMINATED BY ‘,’
OPTIONALLY ENCLOSED BY ‘”‘
LINES TERMINATED BY ‘r’
IGNORE 1 LINES
(campo1, campo2, campo3, campo4,…);

Poco que comentar, a veces hay problemas con el fin de línea. Suelen ser variaciones de n,l o r. Suerte y a llenar de datos tus tablas.

Añado el formato de la instrucción LOAD DATA INFILE según la página oficial de MySQL:

LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name.txt'
    [REPLACE | IGNORE]
    INTO TABLE tbl_name
    [FIELDS
        [TERMINATED BY 'string']
        [[OPTIONALLY] ENCLOSED BY 'char']
        [ESCAPED BY 'char' ]
    ]
    [LINES
        [STARTING BY 'string']
        [TERMINATED BY 'string']
    ]
    [IGNORE number LINES]
    [(col_name_or_user_var,...)]
    [SET col_name = expr,...)]
Share →