Zum Inhalt springen

Textdateien einlesen mittels "SQL-Shell"....


Flori

Empfohlene Beiträge

Hallo,

hab jetzt längere Zeit nix mehr in Sachen SQL gemacht....lang ists also her.....

Damit das Tabellen anlegen und füllen nich ganz so mühsam ist, vor allem, wenn mal was daneben geht, hab ich meine SQL-Statements in eine normale *.txt-Datei geschrieben, so in etwa :

drop table xyz;

create table xyz (

id integer not null auto_increment,

blablub char(10),

blablub2 char(20),

blablub3 float,

blablub4 year,

primary key (id)

);

insert into xyz (id, blablub, blablub2, blablub3, blablub4)

values

(1,"Abcdef","ABCD",12.34,1999),

(2,"Ghijk","GHIJ",76.89,1999);

So, nun meine 2 Fragen :

a) Wie schaut das mit SQL*plus bei ORACLE aus mit dem Einlesen dieser Datei zum Anlegen und Füllen der Tabelle ?!

Ich meine, da wäre irgendwas mit nem "@" und dem Dateinamen gewesen.....mann, das hab ich mal gemacht, is aber völlig wech...

:(

B) Funktioniert das auch bei MySQL ?! Und wenn ja, wie ?!

Da würde ich das nämlich jetzt gerne machen, finde aber so direkt keine Erklärung, werde aber jetzt auch nochmal in Ruhe suchen....

Hoffe, es ist klar geworden worum es geht und vielleicht hat schon jemand die Antwort für mich, während ich nochmal auf die Suche gehe, ob mir das nich selbst wieder noch einfällt !

Auf jeden Fall schon mal danke für Antworten !

Flo

Link zu diesem Kommentar
Auf anderen Seiten teilen

Jo -silencer-, danke dir !

Lag mein Gedächtnis also doch gar net so schlecht....;) Hab leider momentan kein Oracle hier drauf, sonst hätt ich das selbst auch probiert....

Beim MySQL hab ich über die Doku nur gefunden wie man zb. mittels mysqlimport oder LOAD DATA Datensätze in Tabellen importieren kann, um das aufwendigere INSERT zu umgehen....

Aber wie man das als komplette "Tabellenerstellung mit Datensatzeingabe" macht, hab ich noch nicht gelesen....

Suche aber auch mal weiter....

Vielleicht findet sich ja noch jemand, der das schon mal so gemacht hat wie eben in meiner Frage beschrieben.....

Link zu diesem Kommentar
Auf anderen Seiten teilen

Jau,

hab jetzt auch den Weg gefunden wie das in SQL geht eine beliebige Text-Datei einzulesen :

Beispiel :

mysql -u <user> --password=**** name_db < testdaten.txt

(einzugeben am Prompt der (DOS-)Shell )

Einzige Voraussetzung, die Tabellen, die mit der Datei erstellt und gefüllt werden sollen, müssen in der Datenbank "name_db" vorhanden sein, sonst meckert über die erste Zeile, wenn die wie bei mir heißt "drop table xyz;"

Klingt sowieso recht logisch, ist IMHO aber bei Oracle nie so gewesen. Da konnte man so eine Datei auch trotz "drop...." einlesen, auch wenn die Tabelle in der DB nicht vorhanden war....

Aber da arbeitet man ja widerum auch wenig anders und liest die Datei, wenn man so will am SQL-Prompt ein....

Naja, hauptsache ich hab nen bequemen Weg um meine Testdaten nicht immer wieder einzeln einhacken zu müssen, wenn mal was abraucht.... :D;) (ich weiß, es gibt auch den Begriff Daten(bank)sicherung ;))

Bis zur nächsten Frage dann....

Flori

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...