Visualizzazione post con etichetta phpmyadmin. Mostra tutti i post
Visualizzazione post con etichetta phpmyadmin. Mostra tutti i post

giovedì 25 settembre 2008

Importare un file con estensione csv in una tabella MYSQL con campi definiti DATETIME o DATE

A volte abbiamo necessita' di importare un file csv in una tabella MYSQL

il comando sql per ottenere cio e': LOAD DATA LOCAL INFILE

riporto sotto un esempio di sintassi:

LOAD DATA LOCAL INFILE 'file.csv' INTO TABLE `tabella`
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\n'


Spesso possiamo incorrere nel problema delle date che potrebbero essere digitate DD-MM-YYYY. MYSQL adotta i valori dei campi DATE nel formato YYYY-MM-DD. Se eseguiamo l'istruzione percedente potrebbe memorizzare la data nel formato errato e allora che ci viene incontro il comando SET seguito da funzioni di MYSQL.

sotto un esempio:


set
campodata = date_format(campodata, '%d/%m/%y')


questo comando va ad integrare il precedente ottenendo cosi' la conversione della data nel corso dell'importazione.

sotto riportato il comando integrale:
LOAD DATA LOCAL INFILE 'file.csv' INTO TABLE `tabella`
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\n'
set
campodata = date_format(campodata, '%d/%m/%y')



La stringa di formattazione supporta una serie di caratteri speciali (sempre preceduti dal carattere %). Vediamo di seguito i più utilizzati:

%d: giorno del mese (numero)
%M: nome del mese
%m: mese (numero)
%H: ora (numero da 0 a 23)
%i: minuti (numero)
%s: secondi (numero)
%Y: anno (4 cifre)
%y: anno (2 cifre)

Per tutti le altre opzioni di formattazione rinviamo alla documentazione ufficiale di MySQL.

Se nel caso il file csv contiene le informazioni dei campi nella prima riga con il comando:

ignore 1 lines

specificheremo che nell'importazione bisogna ignorare la prima riga.

esempio:

LOAD DATA LOCAL INFILE 'file.csv' INTO TABLE `tabella`
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\n'
ignore 1 lines
set
campodata = date_format(campodata, '%d/%m/%y')

giovedì 28 febbraio 2008

Apache, MySql, PHP, PhpMyAdmin installiamo un web-server locale

Installando Apache, MySql, PHP su Linux, avrete a disposizione il L.A.M.P. (che deriva appunto dalle loro iniziali).
Il L.A.M.P. è un web-server locale, che serve per eseguire pagine in PHP.
Se siete sviluppatori per il web, questo è molto utile, infatti le pagine PHP non possono essere eseguite su un "normale" computer, ma vengono eseguite solo lato server, oppure grazie ad un web-server che gira sulla vostra macchina.


Per installare tutto il necessario, apriamo una shell e diamo il seguente comando:
sudo apt-get install apache2.2-common apache2-utils libapache2-mod-php5 libapache2-mod-auth-mysql mysql-client-5.0 mysql-server-5.0 php5 php5-cli php5-mysql phpmyadmin apache2

Premete Invio sulla seguente schermata:


Scegliamo Sito Internet:


Diamo il nome localhost:


Ora il web-server locale è pronto!

Tutti i file html/php che metterete nella cartella
/var/www

saranno raggiungibili dall'indirizzo: http://localhost
aprite un browser (ad esempio FireFox), e andate al seguente indirizzo internet:
http://localhost
per vedere l'elenco dei file e delle cartelle (consiglio vivamente di organizzare il proprio lavoro in cartelle!):



Però il mio consiglio è quello di utilizzare la public_html nella vostra home (vedi guida Abilitare la public_html nella nostra home).



Per accedere a PhpMyAdmin, andate al seguente indirizzo:
http://localhost/phpmyadmin

ed inserite root come nome utente, e lasciate vuoto il campo password:

Note Finali:
Se andando all'indirizzo http://localhost non succede niente, o esce un avviso, assicuratevi che la scheda di loopback sia attiva:
aprite un terminale e date il seguente comando per attivare la scheda di loopback:
sudo ifconfig lo up

Potrete verificare se la scheda è stata attivata eseguendo questo comando:
ifconfig