Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[OT] Bash Script soll Daten in MySQL einlesen
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum
View previous topic :: View next topic  
Author Message
urban
Tux's lil' helper
Tux's lil' helper


Joined: 06 Nov 2003
Posts: 81

PostPosted: Wed Jun 02, 2004 1:13 pm    Post subject: [OT] Bash Script soll Daten in MySQL einlesen Reply with quote

Hallo,

ich habe ein, warscheinlich, simples Problem. Ich habe ein Shell Scipt dessen Variablen sich dynamisch verändern. Diese Änderungen sollen in eine mysql eingetragen werden.
Ich bin was shell scripte angeht, nicht wirklich fit. Von daher habe ich Probleme mit den ' und " usw.

Könnt Ihr mir einen Tip geben wie man das richtig macht.

Gruß
Urban
Back to top
View user's profile Send private message
Earthwings
Bodhisattva
Bodhisattva


Joined: 14 Apr 2003
Posts: 7753
Location: Germany

PostPosted: Wed Jun 02, 2004 1:22 pm    Post subject: Reply with quote

Ein bißchen konkreter musst Du schon werden...
Back to top
View user's profile Send private message
Ragin
l33t
l33t


Joined: 14 Apr 2003
Posts: 776

PostPosted: Wed Jun 02, 2004 1:34 pm    Post subject: Reply with quote

Nimm deine Daten, schreibe sie in eine Datei, die das entsprechende Format hat (Spalte1 <TAB> Spalte2) und importiere dies über:
Code:

/usr/bin/mysqlimport --replace --host=localhost -u deinNutzer -pPasswort Datenbankname ./datei.sql


--replace sagt, dass er die Sätze ersetzen soll wenn sie bereits existieren. Eine eindeutige ID wäre an dieser Stelle nicht schlecht.
Alternativ kannst du auch --delete anstatt --replace nutzen bei dem er die Tabelle erst löscht und dann neu füllt.

Dein Passwort musst du direkt ohne Leerzeichen hinter -p schreiben.

Sollte das nicht das sein was du suchst: man mysql bzw. man mysqlimport oder google oder genauere Angaben.
_________________
"Innerhalb der Computergemeinschaft lebt man nach der Grundregel, die Gegenwart sei ein Programmfehler, der in der nächsten Ausgabe behoben sein wird."

Clifford Stoll, amerik. Astrophysiker u. Computer- Pionier
Back to top
View user's profile Send private message
øxygen
Apprentice
Apprentice


Joined: 09 Mar 2004
Posts: 236
Location: Bergheim, Germany

PostPosted: Wed Jun 02, 2004 1:36 pm    Post subject: Reply with quote

Eine andere Möglichkeit wäre es die Daten per:
echo "SQL STATEMENT;" | mysql -uuser -ppass db
einzulesen
Back to top
View user's profile Send private message
urban
Tux's lil' helper
Tux's lil' helper


Joined: 06 Nov 2003
Posts: 81

PostPosted: Wed Jun 02, 2004 1:40 pm    Post subject: Reply with quote

OK.

In meinem Script lese ich verschieden Gräte aus. Ich habe also Werte wie Zeit, Gerätename und einen Zahlenwert.

Der Zahlenwert und die Zeit ändern sich.

Ich habe diese Werte alle als Variable definiert und wenn ich sie mir mit echo anzeigen lasse, ist alles super.

Jetzt muß ich aber noch auf meine mysql Datenbank zugreifen. Ich hatte eigentlich vor mich via:

SQL_STMT="INSERT INTO $TAG (geraet,zahlenwert) VALUES ($GERAET, $ZAHL);"

/usr/bin/mysql -h localhost -u root --password=xxx datenbank

echo $SQL_STMT

an der Datenbank an zumelden und dann per echo die Werte in die DB ein zulesen. In meinem Script kommen ich aber nur bis zum anmelden. Dann habe ich die shell der DB an der Konsole. Weiter komme ich nicht. Ich weiß nicht wie ich es anstellen soll. Das insert Statment ist also falsch bzw. wird nicht an die Shell der DB gegeben.
Back to top
View user's profile Send private message
py-ro
Veteran
Veteran


Joined: 24 Sep 2002
Posts: 1734
Location: Velbert

PostPosted: Wed Jun 02, 2004 1:41 pm    Post subject: Reply with quote

Siehe Beitrag von Oxygen

Du startest ja die mysql Konsole wenn du diese dann beendest sollte das Echo den String auf die normale Konsole ausgeben :lol:
Back to top
View user's profile Send private message
urban
Tux's lil' helper
Tux's lil' helper


Joined: 06 Nov 2003
Posts: 81

PostPosted: Wed Jun 02, 2004 1:54 pm    Post subject: Reply with quote

Danke erstmal. Mein Script liest die Daten in die DB. Zwar falsch, aber daran werde ich jetzt arbeiten.

Also Danke.
Back to top
View user's profile Send private message
x000x
Tux's lil' helper
Tux's lil' helper


Joined: 18 Jun 2002
Posts: 86
Location: Germany - Hamburg

PostPosted: Wed Jun 02, 2004 6:09 pm    Post subject: Reply with quote

Code:
#!/bin/sh
SQL_STMT="INSERT INTO $TAG (geraet,zahlenwert) VALUES ($GERAET, $ZAHL);"
echo $SQL_STMT | /usr/bin/mysql -h localhost -u root --password=xxx datenbank

Das funktioniert nicht? ----^
_________________
-= Gruss Peter =-
-= alias x000x =-
Peter wrote:
perl -e 'print "\x47\x72\x75\x73\x73\x20\x50\x65\x74\x65\x72\x20\x3b\x2d\x29\x0a";'
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum