UltKit

Konvertera CSV till SQL

Gör en export från ett kalkylark till ett skript som databasen kan köra. Rubrikraden ger kolumnernas namn, varje rad blir en INSERT och citeringen följer den SQL-dialekt du väljer.

Datakonverterare

eller släpp CSV, TSV, TXT …-filer här ·

Max 95 MB per fil· Upp till 20 filer· Raderas efter 30 minuter

Utdata

Filerna bearbetas på våra servrar och raderas efter 30 minuter.

Så använder du verktyget

  1. 1

    Ladda upp CSV-filen

    Lägg till en CSV-fil eller upp till 20, högst 95 MB each. Filer med semikolon eller tab som avgränsare identifieras automatiskt.

  2. 2

    Ange tabell och dialekt

    Under Avancerade inställningar skriver du SQL-tabellnamn och väljer SQL-dialekt: MySQL, PostgreSQL, SQLite eller SQL Server. Datum är inställt på ISO så att datumvärden läses in utan gissningar.

  3. 3

    Konvertera och kör

    Tryck på Konvertera till SQL, läs raden med CREATE TABLE och kör sedan skriptet i din databasklient eller importvy.

CSV till SQL skapar en CREATE TABLE-sats från rubrikraden och en INSERT per datarad, med citattecken för MySQL, PostgreSQL, SQLite eller SQL Server, så att ett kalkylblad läses in i en databas genom att du kör ett enda skript.

Varför göra om en CSV till SQL INSERT-satser

Varje databas har en snabb CSV-inläsare, och alla har en hake. LOAD DATA LOCAL INFILE är avstängt som standard på servern sedan MySQL 8.0, COPY FROM en fil kräver superanvändarrättigheter eller medlemskap i en särskild roll i PostgreSQL, och SQL Servers BULK INSERT läser sökvägar på servermaskinen, inte på din bärbara dator. Hostade databaser erbjuder ofta bara en frågeeditor.

Ett INSERT-skript kringgår allt detta. Det är text, så du kan läsa det, checka in det i versionshanteringen som startdata och köra det i valfri klient. Priset är hastigheten: tiotusentals rader går bra, medan miljontals rader hör hemma i en inbyggd massinläsare. Utvecklare som har referensdata i en arbetsbok kan hoppa över CSV-steget med Excel till SQL.

Exempel på CSV till SQL för MySQL

Skript skapat från id,name,joined med två rader
CREATE TABLE `my_table` (
  `id` INT,
  `name` VARCHAR(255),
  `joined` DATE
);

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

Så skiljer sig de fyra SQL-dialekterna i resultatet

Identifierare omges av backticks, som i order date, vilket också gör att reserverade ord som order kan användas som kolumnnamn.

  • Passar även MariaDB
  • Bra standardval för importer i phpMyAdmin
Databasgränser som påverkar ett genererat skript
OrganisationKravKälla
MySQL 8.0max_allowed_packet är som standard 64 MB; en enskild sats som är större än så avvisas—
SQL ServerEn INSERT … VALUES-lista tar emot högst 1 000 radvärdeuttryck—
PostgreSQLIdentifierare längre än 63 byte trunkeras utan varning—
SQLiteEn tabell har högst 2 000 kolumner i en standardbygge—

Kontrollera detta innan du kör skriptet

Läs först raden med CREATE TABLE. Kolumntyperna gissas utifrån värdena, och en gissning kan bli fel: postnummer och telefonnummer ser numeriska ut men måste vara text, annars tappar 02134 sin inledande nolla. Ändra typen i skriptet innan du kör det, eller skapa tabellen själv och kör bara INSERT-delen.

Skriv det riktiga namnet i SQL-tabellnamn i stället för my_table, och kör skriptet i en transaktion om din klient tillåter det, så att en felaktig rad ångrar allt. Andra mål för samma CSV finns i navet dataomvandlare.

Formaten CSV och SQL-skript

CSV

Kommaseparerade värden

CSV är ett textformat för tabeller där varje rad är en post och kommatecken skiljer kolumnerna åt. Det har använts sedan datorernas barndom och beskrivs i RFC 4180, även om många varianter använder semikolon eller tabbtecken och olika teckenkodningar. Nästan alla kalkylprogram, databaser och analysverktyg kan importera och exportera det, vilket gör det till standardformatet för att flytta data mellan system. CSV lagrar bara värden, utan formler, formatering, flera blad eller datatyper.

Komprimering
–
Transparens
–
Animation
–
Introducerades
–
CSV-omvandlare

SQL

SQL-skript

En SQL-fil är ett skript i ren text med satser i Structured Query Language, till exempel CREATE TABLE och INSERT, som en databas kör i ordning. Den används ofta för databasbackuper, migreringar och för att dela exempeldata. Själva språket är en ISO-standard, men MySQL, PostgreSQL, SQLite och SQL Server har egna dialekter, så skript behöver ofta små ändringar mellan systemen. Vilken textredigerare som helst kan öppna en SQL-fil, och en databasklient behövs för att köra den.

Komprimering
–
Transparens
–
Animation
–
Introducerades
–
SQL-omvandlare

CSV blir SQL när en fil ska hamna som tabell i en databas som du bara når via ett frågefönster: att fylla en ny app med startdata, läsa in en referenslista eller flytta ett kalkylblad till MySQL eller PostgreSQL utan serveråtkomst.

Frågor om att konvertera CSV till SQL

Varför använda en SQL-fil i stället för LOAD DATA eller COPY?

Massinläsare som MySQL:s LOAD DATA INFILE och PostgreSQL:s COPY är snabbare men kräver filåtkomst på servern eller extra klientflaggor. Ett vanligt skript fungerar överallt där du kan klistra in SQL: i en molndatabaskonsol, phpMyAdmin eller en granskad migrering.

Hur skrivs apostrofer i namn som O'Brien?

I en SQL-sträng skrivs ett enkelt citattecken som två i rad, så värdet blir 'O''Brien'. Alla fyra dialekterna godtar den formen, och därför bryter ett namn med apostrof inte INSERT-satsen.

Vad blir rubrikerna i CSV-filen i tabellen?

Kolumnnamnen, med citattecken på det sätt som den valda dialekten kräver. Rubriker som Unit Price fungerar, men ett citerat namn med mellanslag måste citeras i varje senare fråga också, så byt helst namn på sådana rubriker till unit_price före konverteringen.

Kan jag importera SQL-filen via phpMyAdmin?

Ja, på fliken Import. Gränsen där är PHP:s upload_max_filesize, som är 2 MB i en standard-php.ini. Många webbhotell höjer den, och sidan visar den aktuella gränsen. Dela upp en stor CSV i flera filer om skriptet blir större än så.

Går det att gå tillbaka från en tabell till CSV?

Exportera tabellen som en dump och konvertera den med SQL till CSV, eller använd databasklientens egen CSV-export. Båda ger rader som ett kalkylblad kan öppna igen.