UltKit

Převodník CSV do SQL

Z exportu tabulky vytvořte skript, který spustíte ve své databázi. Řádek záhlaví určí názvy sloupců, z každého řádku vznikne příkaz INSERT a uvozovky odpovídají zvolenému dialektu.

Převodník dat

nebo sem přetáhněte soubory CSV, TSV, TXT … ·

Max. 95 MB na soubor· Až 20 souborů· Smazáno po 30 minutách

Výstup

Soubory se zpracovávají na našich serverech a po 30 minutách se smažou.

Jak nástroj používat

  1. 1

    Nahrajte CSV

    Přidejte jeden CSV soubor nebo až 20 souborů, každý do 95 MB. Soubory se středníkem a tabulátorem se rozpoznají automaticky.

  2. 2

    Zadejte tabulku a dialekt

    V části Pokročilá nastavení zadejte Název tabulky SQL a vyberte Dialekt SQL: MySQL, PostgreSQL, SQLite nebo SQL Server. Položka Data je nastavena na ISO, takže se datumové hodnoty načtou bez dohadů.

  3. 3

    Převeďte a spusťte

    Stiskněte Převést na SQL, zkontrolujte řádek CREATE TABLE a pak skript spusťte v databázovém klientu nebo na obrazovce importu.

Převodník CSV do SQL vytvoří z řádku záhlaví příkaz CREATE TABLE a pro každý datový řádek jeden INSERT, uvozený pro MySQL, PostgreSQL, SQLite nebo SQL Server, takže se tabulka načte do databáze spuštěním jediného skriptu.

Proč převést CSV na příkazy SQL INSERT

Každá databáze má rychlý nástroj pro načtení CSV a každý má háček. LOAD DATA LOCAL INFILE je od MySQL 8.0 na serveru ve výchozím stavu vypnuté, COPY FROM souboru vyžaduje v PostgreSQL práva superuživatele nebo členství ve zvláštní roli a BULK INSERT v SQL Serveru čte cesty na serveru, ne na vašem notebooku. Hostované databáze často nabízejí jen editor dotazů.

Skript s příkazy INSERT se těmto omezením vyhne. Je to text, takže ho můžete přečíst, uložit do správy verzí jako počáteční data a spustit v libovolném klientu. Cenou je rychlost: desítky tisíc řádků se načtou bez potíží, miliony patří do nativního hromadného nástroje. Vývojáři, kteří mají číselníky v sešitu, mohou krok s CSV přeskočit pomocí Excel do SQL.

Příklad převodu CSV do SQL pro MySQL

Skript vytvořený z id,name,joined se dvěma řádky
CREATE TABLE `my_table` (
  `id` INT,
  `name` VARCHAR(255),
  `joined` DATE
);

INSERT INTO `my_table` (`id`, `name`, `joined`) VALUES
(1, 'Jana Nováková', '2026-03-02'),
(2, 'Liam O''Brien', '2026-04-15');

Čím se čtyři dialekty SQL ve výstupu liší

Identifikátory se uzavírají do zpětných apostrofů, například order date, což umožňuje použít jako názvy sloupců i vyhrazená slova, třeba order.

  • Hodí se i pro MariaDB
  • Dobrá výchozí volba pro importy v phpMyAdminu
Limity databází, které ovlivňují vygenerovaný skript
OrganizacePožadavekZdroj
MySQL 8.0max_allowed_packet je ve výchozím stavu 64 MB; větší jednotlivý příkaz je odmítnut—
SQL ServerJeden seznam INSERT … VALUES přijme nejvýše 1 000 výrazů s hodnotami řádků—
PostgreSQLIdentifikátory delší než 63 bajtů se tiše zkrátí—
SQLiteTabulka může mít ve výchozím sestavení nejvýše 2 000 sloupců—

Co zkontrolovat před spuštěním skriptu

Nejdřív si přečtěte řádek CREATE TABLE. Typy sloupců se odhadují z hodnot a odhad může být chybný: PSČ a telefonní čísla vypadají jako čísla, ale musí zůstat textem, jinak 02134 přijde o počáteční nulu. Typ změňte ve skriptu před spuštěním, nebo si tabulku vytvořte sami a spusťte jen část s INSERT.

Do pole Název tabulky SQL zadejte skutečný název místo my_table a skript spusťte v transakci, pokud to klient umožňuje, aby se při jediném chybném řádku vše vrátilo zpět. Další výstupy pro stejné CSV najdete v přehledu převodník dat.

Formáty CSV a skriptů SQL

CSV

Hodnoty oddělené čárkami

CSV je textový formát pro tabulky, v němž každý řádek je záznam a sloupce se oddělují čárkami. Používá se od počátků výpočetní techniky a popisuje ho RFC 4180, i když mnoho variant používá středníky nebo tabulátory a různá kódování textu. Importovat a exportovat ho umí téměř každá tabulka, databáze i analytický nástroj, takže je výchozím formátem pro přenos dat mezi systémy. CSV ukládá pouze hodnoty, bez vzorců, formátování, více listů a datových typů.

Komprese
–
Průhlednost
–
Animace
–
Představeno
–
Převodník CSV

SQL

Skript SQL

Soubor SQL je textový skript s příkazy jazyka SQL (Structured Query Language), například CREATE TABLE a INSERT, které databáze provádí postupně. Běžně se používá pro zálohy databází, migrace a sdílení ukázkových dat. Samotný jazyk je normou ISO, ale MySQL, PostgreSQL, SQLite a SQL Server mají vlastní dialekty, takže skripty často vyžadují drobné úpravy mezi systémy. Soubor SQL otevře jakýkoli textový editor, ke spuštění je potřeba databázový klient.

Komprese
–
Průhlednost
–
Animace
–
Představeno
–
Převodník SQL

CSV se mění na SQL, když soubor musí skončit jako tabulka v databázi dostupné jen přes okno dotazů: při naplnění nové aplikace daty, načtení číselníku nebo přesunu tabulky do MySQL či PostgreSQL bez přístupu na server.

Otázky k převodu CSV do SQL

Proč použít soubor SQL místo LOAD DATA nebo COPY?

Hromadné nástroje jako LOAD DATA INFILE v MySQL a COPY v PostgreSQL jsou rychlejší, ale vyžadují přístup k souborům na serveru nebo další přepínače klienta. Prostý skript funguje všude, kam lze vložit SQL: v konzoli cloudové databáze, v phpMyAdminu nebo v prověřené migraci.

Jak se zapisují apostrofy ve jménech jako O'Brien?

V řetězci SQL se apostrof zapisuje zdvojením, takže hodnota vypadá jako 'O''Brien'. Tento zápis přijímají všechny čtyři dialekty, proto jméno s apostrofem příkaz INSERT nerozbije.

Co se v tabulce stane ze záhlaví mého CSV?

Názvy sloupců, uvozené tak, jak vyžaduje zvolený dialekt. Záhlaví jako Unit Price funguje, ale název s mezerou je nutné uvozovat i ve všech pozdějších dotazech, proto taková záhlaví před převodem raději přejmenujte na unit_price.

Mohu soubor SQL importovat přes phpMyAdmin?

Ano, na kartě Import. Limitem je tam PHP direktiva upload_max_filesize, která je ve standardním php.ini 2 MB; mnoho hostingů ji zvyšuje a stránka zobrazuje aktuální limit. Pokud je skript větší, rozdělte velké CSV na několik souborů.

Lze tabulku převést zpět do CSV?

Exportujte tabulku jako dump a převeďte ji pomocí SQL do CSV, nebo použijte vlastní export CSV ve svém databázovém klientu. Obě cesty dají řádky, které tabulkový procesor znovu otevře.