Webový zápisník | JAZBY.net
Vítejte na mém webu!

PHP seriál - Import dat do databáze pomocí konzole

Pokračuji v načatém tématu a to databáze. Jelikož častým problémem je jak naimportovat velké množství dat do databází typu MySQL a import přes phpMyAdmin je omezen na velmi malé množství dat a také trvá neskutečně dlouho, přináším sem způsob, který používám já. Použijeme konzoli a příkaz mysql import…

Předpokládejme, že data máme v Excelovým souboru a potřebujeme je dostat do tabulky v databázi.

  1. Sloupce v tabulce musí mít stejný počet sloupců, jako tabulka v databázi, pokud nějaký sloupce chybí, musíme je doplnit
  2. Zachováme formát dat. Pokud máme sloupečky s datem, musíme mít stejný formát (YYYY-mm-dd)
  3. Buňky neobsahující nic nastavíme na nulovou hodnotu. Není to nutnost, ale vřele doporučuji
  4. Až máme tyto kroky hotové, tj stejný počet sloupečků, stejný formát dat a doplněné nulové hodnoty, uložíme si výstup do souboru typu csv, nejlépe oddělený pipami, protože středník se může objevit i v datech a zbytečně by docházelo k anomáliím.
  5. Takže máme soubor CSV. Pozor musí být stejného názvu, jako tabulka do které data budeme vkládat !!. Nyní pustíme konzoli.
  6. Převedeme kódování souboru do typu databáze (pokud již není shodné). Předpokládejme, že máme soubor psaný v českém kódování (windows-1250 a databáze je v Latin-2), potom napíšeme tento příkaz:

cstocs 1250 il2 /cesta_k_souboru.csv | sed s /\"//g > /cesta_kam_se_soubor_ulozi.txt


cstocs 1250 il2  /cesta_k_souboru.csv | sed s/\"//g > /cesta_kam_se_soubor_ulozi.txt

  1. provedeme import dat pomocí tohoto příkazu:

mysqlimport -v -u uzivatel -p --default-charset-set=latin2 --fields-terminated-by=\| cilova_databaze zdojovy_soubor.txt


mysqlimport -v -u uzivatel -p --default-character-set=latin2 --fields-terminated-by=\|  cilova_databaze  zdojovy_soubor.txt

  1. Nyní máme data naimportovaná. Někdy se ale může stát, že pokud poslední sloupec tabulky je textového typu (Char, Varchar atp.), tak se nám do něj doplní i konec řádku. Neboli je tam navíc \r. Proto doporučuji, máme-li poslední sloupec textový, aplikovat následující příkaz:

UPDATE tabulka_kam_sme_importovali SET posledni_sloupec=replace(posledni_sloupec, ‚\r‘, '');


UPDATE tabulka_kam_sme_importovali SET `posledni_sloupec`=replace(`posledni_sloupec`, "\r", "");

Nyní již by mělo být vše OK. Tento manuál slouží především pro mé potřeby, ale tak nsad tím někomu také pomohu. Pokud máte nějaké dotazy, jsou zde komentáře ;-)

««« Předchozí text: První láska, první políbení, jenže potom uplyne čas a vše je jinak Následující text: PHP seriál - Hiearchické (stromové) zobrazování záznamů - díl 1. »»»

autor: Honzííík | Úterý 4. 03. 2008, 10.50 | tisk | PHP | 3 komentáře | 1038x

Komentáře k textu

Rss komentářů tohoto textu - Formulář pro nový komentář

reaguj[1] web Michael bottom shoes

Henry Kissinger~ The great tragedies of history occur not when right confronts wrong but when two rights confront each other.

Úterý 11. 10. 2011, 10.57
reaguj[2] web evening gowns asdasd123

<a href=„http://www.dressesstore.co.uk“>evening gowns</a> <a href=„http://www.dressesstore.co.uk“>long evening dresses</a> <a href=„http://www.dressesstore.co.uk“>evening dresses cheap</a> <a href=„http://www.dressesstore.co.uk“>evening gowns</a> <a href=„http://www.dressesstore.co.uk“>evening dresses on sale</a>

Pátek 13. 01. 2012, 06.23
reaguj[3] web evening gowns asdasd123

[url=http://www.dressesstore.co.uk]evening gowns[/url] [url=http://www.dressesstore.co.uk]long evening dresses[/url] [url=http://www.dressesstore.co.uk]evening dresses cheap[/url] [url=http://www.dressesstore.co.uk]evening gowns[/url] [url=http://www.dressesstore.co.uk]evening dresses on sale[/url]

Pátek 13. 01. 2012, 06.23
Přidej komentář!

  Gravatar povolen.



Kliknutím vložíš: Vloďż˝ smajla :-) Vloďż˝ smajla :-( Vloďż˝ smajla ;-) Vloďż˝ smajla :-D Vloďż˝ smajla 8-O Vloďż˝ smajla 8-) Vloďż˝ smajla :-? Vloďż˝ smajla :-x Vloďż˝ smajla :-P Vloďż˝ smajla :-|
Příspěvěk je formátován Texy! syntaxí. Není povoleno HTML, odkazy se převádějí automaticky. Pokud se komentář nezobrazí, neprošel bezpečnostní kontrolou a já jej musím schválit přes administraci. Nevkládej jej prosím znovu.
Jsem robot?

Stručně o mně

Autor
Ahoj, je mi 22 let, na netu vystupuji pod přezdívkou JAZBY, moje povolání je ... php programátor, zajímám se o počítače, baví mě tvorba stránek, bydlím v Praze a tady si krátím svůj dlouhý čas tím že si tady bloguji. Zajímá-li tě to, přeji příjemnou zábavu.

Nové komentáře

JjpZNaDBrCcnPdRvaa oGQapLKcPjXvAXNCSS milena
Online 5 lidí

Vydané články

PHP seriál
ALBION Group