Avatar billede peraa Nybegynder
04. juli 2001 - 06:39 Der er 4 kommentarer

Import af en textfil

Kan nogen hjælpe mig med en vejledning i at importere en tekstfil i MySql. Dvs. både med tekstfilens opbygning og parameteropsætningen i MySql.

Mvh.
PAA
Avatar billede camraz Nybegynder
04. juli 2001 - 13:43 #1
Det er nemmest at bruge tabseparerede filer til
import/export i MySQL, dvs. en tekstfil hvor hver linje svarer til en post og hvor du sætter et tabulatortegn mellem hvert felt.

Mange programmer (herunder Excel) er sat op til at eksportere og importere tabseparerede filer.

For at importere en tabsepareret fil giver du flg. kommando til MySQL:

---
LOAD DATA INFILE \'<fuld sti til filnavn>\'
INTO TABLE <tabelnavn>
---

Tabellen skal være oprettet på forhånd, og tabellens felter skal passe til tekstfilen. Der skal fx være lige så mange felter i tabellen som der er i tekstfilen.

Hvis du i stedet har en .CSV-fil (bruges af programmer som Excel, Access) skal du angive at hvert felt i tekstfilen er adskilt af semikolon, og der samtidig kan være anførselstegn rundt om felterne:
---
LOAD DATA INFILE \'<fuld sti til filnavn>\'
INTO TABLE <tabelnavn>
FIELDS TERMINATED BY \';\' OPTIONALLY ENCLOSED BY \'\"\';
---

Besvarer dette dit spørgsmål?
---
Avatar billede mortenfn Nybegynder
09. juli 2001 - 21:28 #2
LOAD DATA LOCAL INFILE <fuld sti til filnavn>\'  INTO TABLE <tabelnavn> FIELDS TERMINATED BY \';\' ENCLOSED BY \'\\\"\' ESCAPED BY \'\\\\\' LINES TERMINATED BY \'\\n\'

jaaa dette er jo næsten det samme denne klarer en simikolon sepereret fil med linjeskift for hver nue record.

/---

Avatar billede smarken Nybegynder
06. august 2001 - 16:59 #3
Der mangler lidt en angivelse af hvodan man importerer strukturen med, altså hvis eks. filens første linie angiver felt navne. (som jo er meget brugt i access-sammenhæng)

når jeg læser ovenstående er det mig lidt uklart hvordan man giver disse kommandoer til mysql. Ville det være muligt at lægge det i en script-fil der evt. blev kørt med jævne mellemrum?
hmm.. .oO(måske skulle jeg oprette et spørgsmål, og gi\' lidt point for svaret..)
Avatar billede camraz Nybegynder
06. august 2001 - 19:53 #4
Smarken:

Du kan ikke indlæse strukturen automatisk. Tabellen skal oprettes på forhånd i SQL.
Det gør du med en CREATE TABLE-sætning.

Du giver kommandoer til MySQL vha. kommandolinje-værktøjet mysql. Værktøjet en SQL-konsol hvor du kan indtaste SQL-sætninger. Du kan sagtens lave et SQL-script i stil med:

---
DROP TABLE IF EXISTS <tabelnavn>;

CREATE TABLE <tabelnavn> (
[...]
);

LOAD DATA INFILE [...]
INTO TABLE <tabelnavn>
[...]
;
---

Hvis du gemmer scriptet som \"filnavn.sql\" kan du herefter kan du køre sætningerne med kommandoen

    mysql < filnavn.sql

Tegnet \'<\' betyder at kommandoen henter sit input fra en fil i stedet for at du taster det fra tastaturet.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester