rulu ruru

post Celou republiku za mříže!

January 19th, 2008

Filed under: sql — starenka @ 20:17
Tags: , , ,

Nebo alespoň ty, co si to zaslouží :) Ne tohle opravdu není žádný propagační článek IFPI, OSA nebo BSA. Jde spíš o primitivní návod, jak jednoduše vytvořit tabulku v MySQL, která bude obsahovat názvy veškerých obcí ČR.

Nejdříve potřebujeme alespoň zdánlivě použitelná data. Poslouží databáze PSČ České pošty. Soubor rozbalíme a otevřeme v OO nebo v Excelu. Po letmém pohledu je jasné, že nás bude zajímat poslední sloupeček “NAZOBCE“, který si zkopírujeme do nového listu. Teď stačí jen, odstranit duplicitní záznamy. V Excelu zabrousíme do menu Data->Fitr->Rozšířený filtr, kde stačí zaškrtnou pouze přepínač “Bez duplicitních záznamů“. Výsledný list uložíme do CSV, nebo ještě lépe rovnou zkopírujeme řádky a uložíme v jakémkoliv editoru jako UTF-8.

Máme tedy tu zdlouhavou část za sebou a teď už stačí jenom vytvořit tabulku a naimportovat data. Tabulky vytvoříme například takto:

CREATE TABLE `city` (
  `city` varchar(250) COLLATE utf8_czech_ci NOT NULL,
  `country` varchar(2) COLLATE utf8_czech_ci NOT NULL DEFAULT ‘cz’,
  UNIQUE KEY `city` (`city`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;

Tabulku tedy máme a teď už stačí jen naimportovat data (třeba přes phpMyAdmina):

LOAD DATA LOCAL INFILE ‘d:/docs/obcecr.csv’
INTO TABLE city
FIELDS TERMINATED BY ‘,’
LINES TERMINATED BY \n
(city)

A je to. Tak přeji hodně úspěšných našeptávačů (autocompleterů) ;)

pozn. Může se stát, že různé státy mohou mít obce se stejným jménem; vím například o Aberdeenu, který jak ve Skotsku, tak v US ve státě Washington. Pokud tedy plánujete nějaké masivnější zeměpisné hrátky, doporučuji odstranit:

UNIQUE KEY `city` (`city`)

2 Comments

  1. […] názvy obcí našich sousedů se nám určitě taky budou hodit. Jelikož postup je analogický soudnímu procesu s ČR, budu velmi lakonický. Databáze “Poštové smerovacie čísla” je k nalezení zde. Po […]

    Pingback by » A Slováci taky za katr….« jiffy lines - ’cause it takes hours to write, but minutes to read — January 19, 2008 @ 20:45

  2. […] jiffy lines v příspěvku Celou republiku za mříže! předkládá návod jak databázi PSČ (.zip) České pošty “přetavit” na SQL […]

    Pingback by TechLog: » Jak získat databázi všech obcí v ČR (plus Slovensko) — January 23, 2008 @ 14:53

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

ruldrurd
© starenka 2oo7, cute alien monster by noizcut, original theme by Laurentiu Piron - customized by starenka | proudly powered by WordPress