Esportare ed importare una tabella di MySQL in un file con PHP


Di programmi di backup ne esistono a iosa ma il più delle volte sono lunghi e laboriosi da configurare, perciò ho deciso farmi delle piccole porzioni di codice che mi permettono di fare solo ed esclusivamente quello che mi interessa.
In MySQL sono disponibili funzioni che permettono l’esportazione diretta da query di file, nel particolare la sentenza INTO OUTFILE (export) e LOAD DATA INFILE
Nel codice non mi dilungo sui parametri di connessione al DB, li do per scontati, sia apertura che chiusura.

Export di una tabella:

<?
// backup
$tab = ‘miatabella’;
$bckFile = ‘miatabella.sql’;
$query = “SELECT * INTO OUTFILE ‘$bckFile’ FROM $tab”;
$result = mysql_query($query) or print(mysql_error());
?>

A questo punto possiamo anche pensare ad un file di output in plain text elaborato, non solo come backup di tabella. Ad esempio su wordpress o la tabella dei post e la tabella degli autori, potrei comodamente generare una stringa SQL che esporta i Titoli dei post e decodifica il nome utente con il corrispettivo Nome e Cognome. Ovviamente però perde il significato di backup.

Import di un file di backup

<?
// restore
$tab = ‘miatabella’;
$bckFile = ‘miatabella.sql’;
$query = “LOAD DATA INFILE ‘$bckFile’ INTO TABLE $tab”;
$result = mysql_query($query) or print(mysql_error());
?>

Il file deve avere la stessa struttura della tabella, in alternativa si può specificare quali colonne popolare.

Esportare ed importare una tabella di MySQL in un file con PHP ultima modifica: 2012-12-24T08:28:52+00:00 da Enrico

Comments are closed.