SQL Daten per script einfügen

Bash, Shell, PHP, Python, Perl, CGI
stormcrow
Posts: 15
Joined: 2006-11-17 17:57

SQL Daten per script einfügen

Post by stormcrow » 2007-01-04 12:23

Hallo,

mal wieder eine Anfänger frage ....

ich würde gerne per sh Daten in sql Datenbanken eintragen.

Die Datenbank schaut so aus ....
a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21

a1 = Zufallsnummer von 00001 fortlaufend
a2 = hier sollte sich das Script die Daten aus einer text Datei rausholen, wo pro Zeile Daten stehen.
a3,a4,a5,a21 = leer
a6 bis a19 = 0
a20 = 1


Das kann ich mir mal denken ....

mit einem

for i in ..... `WIE LESE ICH DIE EINZELNEN ZEILEN AUS a.txt AUS?!"`
do
INSERT INTO $DB (a1, a2, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) VALUES ($ZBR, $TEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);
done

Jetzt fehlt mir leider noch ....
a.) einen Zähler der bei jeden Durchlauf +1 zu $ZBR setzt
b.) eine Funktion welche die oberste Zeile aus a.txt ausliest diese dann einträgt und zur nächsten Zeile geht bis "man" ganz unten angekommen ist.


Wäre da wohl jemand bitte so nett und würde mir dabei helfen?


DAAAANNKEEE im Vorraus

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

Re: SQL Daten per script einfügen

Post by Roger Wilco » 2007-01-04 16:32


stormcrow
Posts: 15
Joined: 2006-11-17 17:57

Re: SQL Daten per script einfügen

Post by stormcrow » 2007-01-04 16:38

Hallo,

ja das hab ich mir schon mal angeschaut, Durch mein halb und weniger mysql wissen hab ich aber raus gelesen das ich dann jede zeile im text file so angeben muss was dann drinnen stehen muss - ergo ich müsste ja 0000, TEXT, 0,0,0,0,0,0, usw dort stehen haben.

ich will aber nur den text von einer webseite markieren - in das textfile reinkopieren und dann das script die daten einfügen lassen.

Da würde mir ja dieses fileimport nicht gerade viel bringen oder?


lg

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

Re: SQL Daten per script einfügen

Post by Roger Wilco » 2007-01-04 16:52

Du kannst das Format sehr detailliert angeben. Lies einfach http://dev.mysql.com/doc/refman/5.0/en/load-data.html komplett durch.

Alternativ kannst du einfach die Zeilen über eine Schleife in der Shell einlesen. a1 solltest du auf auto_increment setzen.
Das Einlesen geht dann folgendermaßen:

Code: Select all

while read LINE
do
  mysql -uBenutzer -pPasswort -e "INSERT INTO $TABELLEN_NAME (a2) VALUES ("${LINE}")" Datenbank
done < /path/to/file