Come aggiungere un mazzo di MySQL dati

Se si dispone di una grande quantità di dati da inserire nel database MySQL ed è già in un file di computer, è possibile trasferire i dati dal file di computer esistente al database MySQL.

Poiché i dati in un database è organizzata in righe e colonne, il file di testo viene letto deve indicare in cui i dati per ogni colonna inizia e termina e dove l'estremità di una fila è. Ecco come fare una struttura della tabella:

  • Colonne: Per indicare le colonne, un carattere specifico separa i dati per ogni colonna. Per impostazione predefinita, MySQL cerca un carattere di tabulazione per separare i campi. Tuttavia, se una scheda non funziona per il file di dati, è possibile scegliere un diverso carattere per separare i campi e dire MySQL che un personaggio diverso rispetto alla scheda separa i campi.
  • Righe: Sempre per impostazione predefinita, la fine di una linea è prevista per la fine di una fila - anche se è possibile scegliere un personaggio per indicare la fine di una riga se è necessario. Un file di dati per una tabella di inventario potrebbe essere simile a questo:

Roccia <TAB> Classic <TAB> Steely Dan <Tab> Aja <Tab> 10.99
RockTAB> Pop <TAB> Semisonic <Tab> All About Chemistry <Tab> 11.99
Roccia <TAB> Classic <TAB> Beatles <TAB> Abbey Road <Tab> 9.99

Un file di dati con le schede tra i campi è un file delimitato da tabulazioni. Un altro formato comune è un file delimitato da virgole, dove le virgole separano i campi. Se i dati sono in un altro formato di file, è necessario convertirlo in un file delimitato.

Per convertire i dati in formato di file di un altro software in un file delimitato, controllare il manuale per quel software o parlare con il vostro esperto locale che capisce attuale formato dei dati. Molti programmi, come Excel, Access, e Oracle, consentono di emettere i dati in un file delimitato.

Per un file di testo, si potrebbe essere in grado di convertire in formato delimitato utilizzando l'e sostituzione di ricerca funzione di un processore editore o word. Per un file veramente fastidioso, potrebbe essere necessario cercare l'aiuto di un esperto o di un programmatore più esperto.

Puoi lasciare un campo vuoto nel file di dati, includendo i separatori di campo senza dati tra di loro. Se il campo non è definito come NOT NULL, il campo è vuoto. Se il campo è definito come NOT NULL, il caricamento del file di dati non riesce e un messaggio di errore viene restituito.

Se uno dei campi è un campo AUTO_INCREMENT, ad esempio un campo SERIAL, è possibile lasciare vuoto e MySQL si inserire il valore AUTO_INCREMENT. Ad esempio, il seguente file di dati contiene i dati da caricare nella tabella Clienti.

, Smith, John ,, Austin, TX, 88888 ,,,
, Contrario, Mary ,, Giardino, ID, 99999 ,,,
, Sprat, Jack ,, Zucca, NY, 11111 ,,,

Questo file di dati è separato da virgole. Ogni riga inizia con una virgola, lasciando il primo campo vuoto per il campo CustomerID, che è SERIAL. Altri campi della fila sono anche vuoti e saranno vuoti nel database dopo il caricamento del file di dati.

L'istruzione SQL che legge i dati da un file di testo è LOAD. La forma di base della dichiarazione LOAD è

LOAD DATA INFILE "percorso / datafilename" INTO TABLE tablename

I dati carica istruzione da un file di testo che si trova sul server. Se il nome del file non include un percorso, MySQL cerca il file di dati nella directory in cui si trova il file di definizione della tabella, denominata tablename.frm.

Per impostazione predefinita, questo file si trova in una directory di nome per il database, come ad esempio una directory chiamata CustomerOrderInformation. Questa directory si trova nella directory di dati, che si trova nella directory principale in cui è installato MySQL. Ad esempio, se il file è stato nominato data.dat, l'istruzione LOAD potrebbe cercare il file in C: \ Program Files \ MySQL \ MySQL Server 5.0 \ data \ CustomerOrderInformation \ data.dat.

La forma di base della dichiarazione LOAD può essere seguito da frasi opzionali se si desidera modificare un delimitatore di default. Le opzioni sono

CAMPI terminati da 'carattere'
CAMPI racchiuse da 'carattere'
Righe che terminano con 'carattere'

Supponiamo di avere il file di dati per la tabella Cliente, salvo che i campi sono separati da una virgola, piuttosto che una scheda. Il nome del file di dati è customer.dat, e si trova nella stessa directory del database. L'istruzione SQL per leggere i dati nella tabella è

LOAD DATA INFILE "customer.dat" INTO TABLE clienti
CAMPI terminato da ','

Per utilizzare l'istruzione LOAD DATA INFILE, l'account MySQL deve avere il privilegio FILE sul server host.

È anche possibile caricare dati da un file di testo sul computer locale utilizzando la parola locale, come segue:

LOAD DATA INFILE LOCAL "percorso / datafilename"
INTO TABLE tablename

È necessario includere il percorso del file. Utilizzare le barre per il percorso, anche su un computer Windows, come ad esempio "C: /data/datafile1.txt". Se si riceve un messaggio di errore durante l'invio questa dichiarazione, LOCAL potrebbe non essere abilitata.

Per vedere i dati che avete caricato - per assicurarsi che sia corretto - utilizzare una query SQL che recupera i dati dal database. Utilizzare la seguente query per esaminare tutti i dati nella tabella in modo da poter controllare:

SELECT * FROM Clienti