Michal Čihař - Exportování databází a tabulek

Exportování databází a tabulek

phpMyAdmin už od dávné historie podporuje export do SQL. Když se však nyní podíváte na stránku umožňující export , uvidíte velké množství formátů. Tento nárůst byl do velké části umožněn zavedením možnosti snadno vytvářet pluginy pro export dat. Díky tomu začali uživatelé přispívat kód pro nové a nové formáty. Ale tomu, jak napsat exportní plugin pro vlastní formát, se budeme věnovat až někdy jindy, dnes nás čeká prohlídka stávajících možností jak exportovat.

Nastavení

To jak stránka vypadá, je do velké míry ovlivněno nastaveními – pole $cfg['Export'] určuje výchozí hodnoty pro všechny parametry exportu. Takže například výchozí formát můžeme nastavit takto:

 
  $cfg['Export']['format'] = 'sql';
 

Podrobnější popis možností nastavení najdete v  dokumentaci .

Stahování velkých exportů někdy může trvat dlouho a proto phpMyAdmin také umožňuje ukládat data přímo na server. Abychom této možnosti mohli využít, musíme vytvořit adresář, do kterého bude mít PHP právo zapisovat a cestu k němu pak nastavíme v konfiguračním souboru:

 
  $cfg['SaveDir'] = './save';
 

Všeobecné možnosti

V dolní části stránky umožňující export , nalezneme možnosti používané pro všechny formáty. Ve výchozím nastavení je možné jen nastavit, jestli chceme soubor zobrazit v prohlížeči, nebo aby ho prohlížeč umožnil uložit na disk, jméno takto posílaného souboru a formát komprese. Ve jméně souboru je možné používat i formátovací znaky pro datum, takže například __DB__-%Y%m%d vygeneruje jméno souboru obsahující jméno databáze a aktuální datum.

Po povolení možnosti zapisovat na server (viz přechozí kapitola) zde ještě přibude tato volba a dále po povolení změn kódování i možnost nastavit kódování výstupu.

Formáty

Ja jistě vidíte sami , podporovaných formátů je velké množství.

Codegen

Nový exportní modul v phpMyAdminovi 3.0, umožňující generování kódu pro různé implementace ukládání trvalých objektů. V současné době jsou podporovány jen formáty NHibernate. Více informací viz http://www.hibernate.org/ .

CSV

Textový soubor s daty, ve kterém jsou sloupce oddělené definovanými znaky. Volba CSV pro MS Excel jen přednastaví oddělovače na optimální znaky pro zvolenou verzi Microsoft Excelu.

Microsoft Excel 2000

Exportuje data do formátu Microsoft Excel 2000. Exportováno je do XML formátu, takže starší verze tohoto produktu nejsou schopné tento soubor otevřít.

Microsoft Excel 2000

Exportuje popis struktury a data do formátu Microsoft Word 2000. Exportováno je do XML formátu, takže starší verze tohoto produktu nejsou schopné tento soubor otevřít.

LaTeX

Vygeneruje tabulku s popisem struktury a daty pro LaTeX, která je vhodná pro začlenění do dalšího dokumentu. Pro začlenění potřebujete použít několik balíčků pro LaTeX, jak ostatně můžete vidět na následující ukázce:

 
  \documentclass{article}
\title{phpMyAdmin SQL output}
\author{}
\usepackage{longtable,lscape}
\date{}
\setlength{\parindent}{0pt}
\usepackage[left=2cm,top=2cm,right=2cm,nohead,nofoot]{geometry}
\pdfpagewidth 210mm
\pdfpageheight 297mm
\begin{document}
\maketitle

% sem vložte výstup z phpMyAdmina

\end{document}
 

Sešit OpenDocument

Exportuje data do formátu OpenDocument Spreadsheet.

Text OpenDocument

Exportuje popis struktury a data do formátu OpenDocument Text.

PDF

Vygeneruje PDF s daty tabulky. Může být vhodné pro prezentace nebo tisk dat.

SQL

Podrobnějšímu popisu nastavení SQL bude věnován některý další článek. Pokud však znáte jiné nástroje pro zálohování MySQL, nejsou pro vás dostupné možnosti cizí. Pro základní používání obvykle jen stačí vybrat, zda chceme exportovat data, strukturu nebo obojí.

XML

Vygeneruje XML dokument s daty. Názvy elementů jsou vlastní, ale pro další počítačové zpracování se může jednat o ideální a snadno parsovatelný formát.

YAML

Vygeneruje YAML kód, který se používá pro serializaci dat. Jedná se o výstup, který je jak čitelný člověku, tak strojově zpracovatelný, více informací viz http://www.yaml.org .

Nativní formát MS Excelu

Na závěr jsem si nechal tento formát, který není ve výchozím nastavení přístupný, protože vyžaduje další nastavení. Pomocí něj můžete vytvářet dokumenty ve formátu Microsoft Excel 97, takže pokud používáte tuto starší verzi, může to pro vás být jedna z možností.

Pro použití potřebujete nainstalovat PEAR modul Spreadsheet_Ex­cel_Writer a vytvořit adresář, kam tento modul bude moci vytvářet dočasné soubory (o něm pak dáte phpMyAdminovi vědět pomocí $cfg['TempDir'] ).