[SQL allgemein] datenbank importieren

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [SQL allgemein] datenbank importieren

    ich habe eine datenbank die als große textdatei vorliegt. dabei handelt es sich um eine tabelle mit zig spalten und zwischen den spalten trennzeichen, ein datensatz pro zeile.

    ich möchte dieses monster in ein format umwandeln, so dass ich mit php darauf lesend und schreibend zugreiffen kann. wahrschinlich geht es am besten und leichtesten, wenn ich die große datei in eine sql-datenbank umwandele. aber wie muss die aussehen?
    Zuletzt geändert von Dilandau; 30.11.2005, 18:51.
    mobilis in mobili

  • #2
    guck Dir mal die Syntax von LOAD DATA INFILE an. Damit sollte es am einfachsten gehen.
    Dein Trennzeichen gibst Du an mit
    FIELDS TERMINATED BY 'string'.
    Die zehn Gebote sind deswegen so kurz und logisch, weil sie ohne Mitwirkung von Juristen zustande gekommen sind. (Charles de Gaulle)

    Kommentar


    • #3
      scheint interessanzt zu sein. die tabelle wäre so:

      Code:
      Norwegen  § husum § norwegisch § 0180
      Amerika § new york § englisch § 0171
      Italien § rom § italienisch § 0173
      somit muss es sein

      FIELDS TERMINATED BY '§'


      wäre der rest des scripts so richtig wie unten?

      Code:
      LOAD DATA INFILE 'ddb.txt'
          REPLACE
          INTO TABLE demos
          FIELDS TERMINATED BY '§'
          (Land, Stadt, Sprache, Nummer)
      die zeilen enden mit $0a. geht das ohne extra angabe?


      wie stelle ich den datentyp des feldes ein? wie erzeuge ich die zieltabelle?


      wohin speichere ich das script und wie führe ich es aus? wohin speichere ich die datentextdatei?
      Zuletzt geändert von Dilandau; 01.12.2005, 18:28.
      mobilis in mobili

      Kommentar


      • #4
        Vielleicht solltest Du erst mal ein paar Grundlagen über Datenbanken, Tabellen und deren Erstellung lernen, wenn ich mir Deine Fragen so anschaue.

        Fang mal bei Schattenbaum mit dem Mysql-Teil an.
        Die verschiedenen Datentypen findest Du bei Mysql.com
        leider nur in Englisch.

        Was hast Du denn für Zugriff auf den Server? Wenn Du Konsolenzugriff hast kannst Du den SQL-Befehl einfach in eine Textdatei speichern und dann mit
        PHP-Code:
        mysql -u user -ppasswort datenbankname befehl.txt 
        ausführen. Deine 'ddb.txt' sollte dann im gleichen Verzeichnis liegen.
        Ohne Konsolenzugriff machst Du das dann mit PHP.
        Also mysql_connect, mysql_select_db, mysql_query. hier hilft Dir dann http://www.php.net/manual/de/funcref.php bzw. die Suche dort nach den genannten Funktionen
        Da ist dann auch wieder wichtig, das mysql die 'ddb.txt' findet und drauf zugreifen kann. Eventuell musst Du mit dem absoluten Pfad arbeiten. Dann solltest Du Dir mal die Funktion get_cwd() angucken.
        Die zehn Gebote sind deswegen so kurz und logisch, weil sie ohne Mitwirkung von Juristen zustande gekommen sind. (Charles de Gaulle)

        Kommentar


        • #5
          ok, ich habe jetzt nach dem schattenbaum beispiel meine erste datenbank und abfrage zusammengebaut, verstehe aber nich nicht ganz wie und warum welche syntax was bewirkt. wo kann ich dieses basiswissen studium vertiefen?
          Code:
          <? include("ddbconnect.php"); ?>
          <html>
           <head>
            <title>PHP Test</title>
           </head>
           <body>
           <?php echo '<p>Hello World</p>'; ?>
           
          <? $abfrage = "SELECT * FROM parties WHERE organizer LIKE 'Alcatraz'";
            $ergebnis = mysql_query($abfrage);
            while($row = mysql_fetch_object($ergebnis))
              {
              echo $row->name;
              echo '<BR>';
              } ?>
           
           
          </body>
          </html>
          Zuletzt geändert von Dilandau; 02.12.2005, 19:40.
          mobilis in mobili

          Kommentar


          • #6
            http://ffm.junetz.de/members/reeg/DSP/
            http://php.net/manual

            Kommentar

            Lädt...
            X