Cómo importar un CSV a una base de datos en PHP

Diego Cortés
Diego Cortés
September 13, 2025
Cómo importar un CSV a una base de datos en PHP

Importar datos de un archivo CSV a una base de datos puede parecer una tarea complicada, pero en realidad es un proceso simple que puede realizarse con PHP. Si estás buscando una forma efectiva de transferir esos datos a tu base de datos, aquí te presento una guía paso a paso para lograrlo.

¿Qué es un archivo CSV?

CSV, que significa "Comma-Separated Values" (valores separados por comas), es un formato de archivo que utiliza comas para separar diferentes valores. Es ampliamente utilizado para almacenar datos tabulares y puede ser fácilmente generado y leído por diversos programas, como hojas de cálculo y bases de datos.

Requisitos Previos

Antes de comenzar el proceso de importación, debes asegurarte de tener los siguientes elementos:

  1. Un servidor web: Necesitas un servidor configurado para ejecutar PHP. Puedes utilizar paquetes como XAMPP o WAMP para una instalación local.

  2. Base de datos: Debes tener una base de datos creada donde deseas importar los datos. Puedes utilizar MySQL o MariaDB.

  3. Archivo CSV: Asegúrate de contar con un archivo CSV que contenga los datos que deseas importar.

Configuración de la Base de Datos

Para realizar la importación, primero define la estructura de tu base de datos. Por ejemplo, si deseas importar usuarios, tu tabla podría verse así:

CREATE TABLE usuarios (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nombre VARCHAR(50),
    email VARCHAR(50),
    edad INT
);

Con esta tabla lista, estarás preparado para cargar tus datos CSV.

Código PHP para Importar CSV

Ahora que tienes todo configurado, el siguiente paso es escribir el código PHP que manejará la importación del CSV. A continuación, se describe un código básico para realizar esta tarea.

<?php
$servername = "localhost";
$username = "tu_usuario";
$password = "tu_contraseña";
$dbname = "tu_base_de_datos";

// Crear conexión
$conn = new mysqli($servername, $username, $password, $dbname);

// Comprobar conexión
if ($conn->connect_error) {
    die("Error de conexión: " . $conn->connect_error);
}

if (($handle = fopen("ruta/a/tu/archivo.csv", "r")) !== FALSE) {
    // Saltar la primera línea si contiene encabezados
    fgetcsv($handle, 1000, ",");

    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $nombre = $data[0];
        $email = $data[1];
        $edad = $data[2];

        // Consulta SQL para insertar datos
        $sql = "INSERT INTO usuarios (nombre, email, edad) VALUES ('$nombre', '$email', $edad)";

        if (!$conn->query($sql) === TRUE) {
            echo "Error: " . $sql . "<br>" . $conn->error;
        }
    }
    fclose($handle);
}

$conn->close();
?>

En este código, primero se establece una conexión a la base de datos. Luego, se abre el archivo CSV y se recorren sus líneas, insertando cada registro en la tabla correspondiente.

Consideraciones Finales

Importar un archivo CSV a una base de datos en PHP es un proceso accesible, siempre y cuando se sigan los pasos adecuados. Asegúrate de manejar posibles errores y validar los datos de entrada para evitar inconsistencias en tu base de datos.

Si deseas más detalles sobre la implementación de este proceso o algún otro tema relacionado con programación y bases de datos, te invito a explorar más artículos en mi blog. ¡Estaré encantado de ayudarte a profundizar en estos temas!

Información del artículo

Publicado: September 13, 2025
Categoría: Tutoriales de MYSQL
Tiempo de lectura: 5-8 minutos
Dificultad: Intermedio

Consejos clave

1

Toma tu tiempo para entender cada concepto antes de continuar con el siguiente.

2

Practica los ejemplos en tu propio entorno de desarrollo para mejor comprensión.

3

No dudes en revisar los recursos adicionales mencionados en el artículo.

Diego Cortés
Diego Cortés
Full Stack Developer, SEO Specialist with Expertise in Laravel & Vue.js and 3D Generalist

Preguntas Frecuentes

Categorías

Page loaded in 30.40 ms