-
Hallo,
ich bin auf der Suche nach einem MySQL-Daten-Dump für eine Postleitzahlen-Tabelle. Hat einer von euch sowas an der Hand, oder muss ich mir die alle selber raussuchen und eintippen?
Beispiel:Code :1 2 3 4 5 6
+-------+-----------+ | PLZ | Ort | +-------+-----------+ | 33613 | Bielefeld | | 33739 | Bielefeld | +-------+-----------+
Im Ruhestand.
-
Hi Johannes
Das ist zwar kein MySQL-Dump sondern nur ein dbf-Datei.
Auch ist etwas mehr Information enthalten als nötig, aber wenn Du sonst nichts findest ist dies besser als nichts.
http://www.smallutions.de/update.php
vop
-
23.11.05 08:22 #3
Hallo!
Welchen Tabellennamen und welche Spaltennamen hättest Du denn gerne?
Willst Du nach Postleitzahl sortiert eintragen oder lieber nach Ort?
Die max_execution_time kannst ggf. Du höher stellen?
Gruss Dr DauSchri-Schra-Schrödi *g*
mehrspaltiges/zeiliges Seitenlayout mit DIV's und CSS
Dinge, die mit Tabellen besser klappen als mit CSS
Ausgabe von Datum/Zeit unabhängig von der Server Zeitzone [php]
Meine Links zum Thema Linux (Last update: 29.10.2011)
Kein Busen ist so flach wie das Niveau dieser Party!
----
Alte Weisheit: wer uns in den Arsch kriecht wird beschissen!
----
Ich habe 3 Kinder und kein Geld!
Warum kann ich nicht keine Kinder haben und 3 Geld?! (Homer Jay Simpson)
-
Spalten- und Tabellenname ist mir völlig wurscht, es geht nur darum, meine Adress-Tabellen zu normalisieren...
Zitat von Dr Dau

@vop: Danke, aber ich finde da nur win32-Programme, mit denen ich nichts anfangen kann.
Im Ruhestand.
-
23.11.05 11:35 #5
So, folgendes hat sich ergeben:
1. Dadurch dass ich den Spaltentyp für "PLZ" von "varchar" auf "int" umgestellt hatte, wurden alle führenden Nullen der Postleitzahlen entfernt.
2. Beim Import über den Dateiupload von phpMyAdmin wurden alle Zeichen der Ortsnamen ab dem Umlaut (sofern vorhanden) entfernt.
Solltet ihr die Datensätze also über den Upload importieren, müsst ihr bei "Zeichencodierung der Datei" auf "latin1" umstellen.
Dieses wirkt sich nicht auf die Kollation (UTF-8) der Tabelle "orte" bzw. der Spalte "Ort" aus, sondern dient nur der korrekten Zeichenerkennung der SQL-Dateien.
3. Bei dieser Gelegenheit habe ich gleich mal die Scripte von Dennis getestet.
Sowohl der Import als auch der Export funktionieren tadellos..... und dass sogar mit einer sehr guten Geschwindigkeit, so dass ihr eigentlich keine Probleme mit der max_execution_time (meisst 30 Sekunden) bekommen solltet.
Somit sind die SQL-Dateien nun auch nach der Anfangszahl der Postleitzahl aufgeteilt.
Die Aufteilung entspricht jedoch nicht den Bundesländern, sondern den Postleitzonen (so nenne ich es jetzt mal
).
Näheres zu der Aufteilung der Zonen könnt ihr euch hier ansehen.
Was Dennis sein Import-Script betrifft, habe ich beide Klassen (unter PHP5) getestet (Dateinamen der Klasse ggf. anpassen).
Dennis hatte mir noch mitgeteilt dass er Probleme mit "DEFAULT CHARSET=utf8" hatte, dieses Problem liess sich für mich aber nicht reproduzieren.
Jedenfalls hat Dennis sein Script entsprechend angepasst ("DEFAULT" wurde entfernt) und auch ich habe die "create_table.sql" gefixt, was problemlos funktioniert.
Es müssen insgesamt 44.188 Datensätze sein.
Der letzte Datensatz muss "99998 Körten" lauten, sollte hier nur "99998 K" stehen habt ihr wahrscheinlich ein Fehler beim importieren gemacht (s.o.).
So, nun hoffe ich dass alle Probleme behoben sind und hänge die gefixten SQL-Dateien mit an.
Geändert von Dr Dau (26.11.05 um 03:37 Uhr)
Schri-Schra-Schrödi *g*
mehrspaltiges/zeiliges Seitenlayout mit DIV's und CSS
Dinge, die mit Tabellen besser klappen als mit CSS
Ausgabe von Datum/Zeit unabhängig von der Server Zeitzone [php]
Meine Links zum Thema Linux (Last update: 29.10.2011)
Kein Busen ist so flach wie das Niveau dieser Party!
----
Alte Weisheit: wer uns in den Arsch kriecht wird beschissen!
----
Ich habe 3 Kinder und kein Geld!
Warum kann ich nicht keine Kinder haben und 3 Geld?! (Homer Jay Simpson)
-
Ooooh, fantastisch. Vielen Dank.
Im Ruhestand.
-
23.11.05 12:36 #7
Vielleicht kann die Dumps ja mal einer hier festpinen. Die werden bestimmt öfter mal gebraucht
.
Ganz gleich was auch immer, jedenfalls ja!
-
Gute Idee. Schon passiert.
Im Ruhestand.
-
So, ich hab da noch was beizutragen.
Die Sortierung der SQL-Files gefiel mir nicht so ganz, daher hab ich mal ein kleines Export-Script gebastelt um die Dateien so anzulegen, dass die nach Postleitzahlen sortiert sind und die einzelnen Files die jeweiligen Bundeslaender enthalten.
Und da ich dann schonmal dabei war hab ich dann noch ein Import-Script hinterher geschoben.
Das Import-Script erwartet die SQL-Files im Unterverzeichnis dump.
Die Klasse die ich im Import-Script genutzt hab gibt's hier.
plzdbexport.php
plzdbimport.phpPHP-Code:<?php
$host="";
$username="";
$password="";
$database="";
$db=mysql_connect($host,$username,$password);
mysql_select_db($database,$db);
echo 'Writing create_table.sql<br>';
$file=fopen("create_table.sql","w");
fwrite($file,"CREATE TABLE `orte` (`id` INT(11) NOT NULL AUTO_INCREMENT,`PLZ` INT(5) UNSIGNED ZEROFILL NOT NULL DEFAULT '0',`Ort` VARCHAR(50) NOT NULL DEFAULT '-',PRIMARY KEY (`id`)) ENGINE=MyISAM CHARSET=utf8;\r\n");
fclose($file);
for ($x=0;$x<10;$x++)
{
echo 'Writing plz'.$x.'.sql<br>';
flush();
$file=fopen("plz".$x.".sql","w");
$orte=mysql_query("select * from orte where PLZ>".(($x*10000)-1)." and PLZ<".(($x*10000)+10000)." order by PLZ",$db);
while ($ort=mysql_fetch_assoc($orte))
{
fwrite($file,"INSERT INTO `orte` VALUES ('','".$ort['PLZ']."','".$ort['Ort']."');\r\n");
}
fclose($file);
}
mysql_close($db);
?>
Hab den Thread auf Wunsch vom Doc nochmal aufgemacht damit noch Anpassungen gemacht werden koennen.PHP-Code:<?php
$host="";
$username="";
$password="";
$database="";
require_once("directorylist.php4class.php");
$db=mysql_connect($host,$username,$password);
mysql_select_db($database,$db);
$dirlist=new directorylist("dump",true,true);
for ($x=0;$x<count($dirlist->files);$x++)
{
echo 'Importing '.$dirlist->files[$x].'<br>';
flush();
$file=fopen("dump/".$dirlist->files[$x],"r");
$content=fread($file,filesize("dump/".$dirlist->files[$x]));
fclose($file);
if ($dirlist->files[$x]!='create_table.sql')
{
$statements=explode("\r\n",$content);
for ($y=0;$y<count($statements);$y++)
{
mysql_query($statements[$y],$db);
}
}
else
{
mysql_query($content,$db);
}
}
unset($dirlist);
mysql_close($db);
?>
Auf die Info in seiner PN hin hab ich auch noch mal das Export-Script ueberarbeitet sodass das PLZ-Feld nun fuehrende Nullen bekommt um immer 5-stellige Werte zu enthalten.
Und auf Wunsch wieder geschlossen.
Und wieder geoeffnet...
Ich lass jetzt mal auf, falls durch die Aenderungen Fragen oder Probleme aufkommen sollten.PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
__________________
EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
__________________
__________________Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
Zitat von Friedrich Nietzsche
-
Hat jemand die SQL-Dump auch mit den übergeordneten Regionen ?
z.B.
Bundesland | Bezirk | Landkreis | Ort | PLZ
des währe optimal
-
Guck mal, ob du hiermit was anfangen kannst..
Neuer DUMP: KlickGeändert von xCondoRx (26.06.06 um 15:58 Uhr)
-
Kann mir jemand helfen? Ich habe nur den 4er-Postleitzahlenbereich drin nach 2maligem Import.
Zitat von Dr Dau
-
13.09.06 11:48 #13
- Registriert seit
- Sep 2003
- Beiträge
- 2
Also meine PLZ (Ginsheim 65462)stimmt schonmal nicht. Also is das Teil völlig unbrauchbar. Wenn noch mehr Fehler drin sind, was ich vermute..
Zitat von Dr Dau
-
-
Also ich finde die files echt gut! Erspart jede menge arbeite ...
Meine Frage ist gibt es sowas auch für die BLZ?
Ähnliche Themen
-
MySQL: Suche mit Postleitzahlen und vier Tabellen
Von Quests Sohn im Forum Relationale DatenbanksystemeAntworten: 5Letzter Beitrag: 01.05.09, 11:59 -
mysql dump per PHP einlesen
Von Tix im Forum PHPAntworten: 1Letzter Beitrag: 16.11.07, 18:40 -
[MYSQL] Dump Viewer?
Von Benzol im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 28.05.07, 03:26 -
Grundsätzliches zum MySQL Dump
Von joky_joky im Forum PHPAntworten: 0Letzter Beitrag: 26.08.05, 12:55 -
mySQL Dump bei Rootserver
Von Rici im Forum Relationale DatenbanksystemeAntworten: 3Letzter Beitrag: 06.02.03, 16:03



2Danke

Zitieren

Login




