Mysql
 sql >> Database >  >> RDS >> Mysql

Script Bash per caricare i dati in file MySQL

Quando vuoi usare le virgolette letterali nelle stringhe tra virgolette doppie, esegui l'escape con \" . Poiché mysql non si preoccupa dei feed di riga, puoi anche interrompere la riga per renderla più leggibile:

#!/bin/bash
for f in *.csv
do
/opt/lampp/bin/mysql -e "use test" -e "
      LOAD DATA LOCAL INFILE '$f'
      INTO TABLE temp_table 
      FIELDS TERMINATED BY ',' 
      OPTIONALLY ENCLOSED BY '\"' 
      LINES TERMINATED BY '\n' 
      IGNORE 1 LINES 
      (DATE, TIME, SITE_NAME, SITE_IP, TOTAL_TALKTIME, 
           EDGE_UL_BYTES, EDGE_DL_BYTES);"
done