Tecnología

Inicio

Cómo importar desde CSV a MySQL con PHP script

Después de crear una base de datos MySQL, es necesario rellenarlo con los datos. Los datos para la base de datos a menudo se encuentran en un archivo delimitado por comas, o CSV y necesitan ser importados en PHP y por escrito a la base de datos MySQL. Esta es una tarea muy sencilla de utilizar las funciones incorporadas que PHP tiene que hacer más fácil tanto para importar desde un archivo CSV y para dar salida a una base de datos MySQL.

Instrucciones

Crear base de datos MySQL

1 Navegar a un símbolo del sistema MySQL o utilizar una utilidad como phpMyAdmin para emitir un comando SQL. Crear la base de datos MySQL. Por ejemplo, escriba:

CREAR BASE DE DATOS capitals DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

2 Crear la tabla MySQL para contener los datos que va a importar desde el archivo CSV. Reflejar la estructura del archivo CSV si es práctico. Por ejemplo, escriba:

Crear una tabla de capitals . capitals (

id unsigned int NOT NULL AUTO_INCREMENT PRIMARY KEY,

state VARCHAR (60) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,

city VARCHAR (60) CHARACTER SET utf8 COLLATE utf8_unicode_ci NO NULO

) ENGINE = MyISAM;

3 Crear un usuario MySQL para acceder a las bases de datos y otorgar privilegios a la base de datos que ha creado. Por ejemplo, escriba:

Conceder a todos los privilegios en capitals * A. capitals @ localhost IDENTIFICADAS POR 'password' y WITH GRANT;

Importar CSV y escribir que bate

4 Crear un nuevo archivo PHP usando un editor o el Bloc de notas. Abra el archivo CSV que se va a importar. Por ejemplo, escriba:

<? Php

$ Fh = fopen ( "data.csv") || die ( "No se pudo abrir el archivo de datos!");

5 Utilice la función "fgetcsv" para leer cada línea del archivo como datos delimitados por comas y recibir una matriz de los valores delimitados por comas. Por ejemplo, escriba:

while (($ data = fgetcsv ($ fh))) {

6 Crear una instrucción de consulta MySQL utilizando los valores delimitados por comas. Por ejemplo, escriba:

$query = sprintf('INSERT INTO `capitals` (`id`, `state`, `city`) VALUES (null, "%s", "%s")', $data[0], $data[1]);

7 Ejecutar la consulta MySQL para insertar los datos en la tabla. Por ejemplo, escriba:

$result = mysql_query($query);

if (! $ resultado) die ( "Datos de error insertar en MySQL!");

}

8 Cierre el archivo de importación cuando se ha insertado todos los datos. Por ejemplo, escriba:

fclose ($ fh);

?>

9 Guarde el archivo y ejecutarlo en un navegador. Compruebe la base de datos MySQL para asegurar que los datos importados correctamente.