CINXE.COM
HeidiSQL - MariaDB/MySQL, MSSQL, PostgreSQL, SQLite and Interbase/Firebird made easy
<!DOCTYPE html> <html lang="en"> <head> <title>HeidiSQL - MariaDB/MySQL, MSSQL, PostgreSQL, SQLite and Interbase/Firebird made easy</title> <meta name="description" content="HeidiSQL is a free and powerful client for MariaDB, MySQL, Microsoft SQL Server, PostgreSQL, SQLite and Interbase/Firebird" /> <link rel="canonical" href="/" /> <link rel="alternate" type="application/atom+xml" href="/rss.php?c=1,7" /> <meta name="Content-Language" content="en" /> <meta name="author" content="Ansgar Becker" /> <meta name="viewport" content="width=device-width" /> <link rel="search" type="application/opensearchdescription+xml" title="HeidiSQL Board Search" href="/searchboard.xml" /> <link rel="stylesheet" type="text/css" href="/basic.css?v54" /> <script type="text/javascript"> // Log JS errors per AJAX call window.onerror = function (msg, url, line, column) { let headers = "Method: GET\n"; let img = new Image(); let maxValLen = 250; // column may be 0, or even unsupported in old browsers if(typeof column === 'undefined') { column = (window.event && event.errorCharacter) || -1; } for (let p in navigator) { let tp = typeof navigator[p]; let val = navigator[p]; switch (tp) { case "string": case "number": // Normal case - do nothing specific break; case "boolean": val = val ? "true" : "false"; break; case "object": try { val = JSON.stringify(val); } catch(err) { val = "[" + tp + "]"; } break; default: val = "[unknown]"; } if ((typeof val === "string") && val.indexOf("function") !== 0) { if(val.length > maxValLen) { val = val.substr(0, maxValLen) + '...'; } headers += p + ": " + val + "\n"; } } img.src = "/logjserror.php" + "?domain=" + encodeURIComponent(window.location.host) + "&url=" + encodeURIComponent(window.location.pathname) + "&referrer=" + encodeURIComponent(document.referrer) + "&headers=" + encodeURIComponent(headers) + "&message=" + encodeURIComponent(msg) + "&jsurl=" + encodeURIComponent(url) + "&jsline=" + encodeURIComponent(line) + "&jscolumn=" + encodeURIComponent(column); return false; }; </script> <script src="/jquery-3.5.1.min.js" onload="window.jQueryLoaded=true"></script> <script src="/xads.js" defer></script> <script src="/jquery.selection.js"></script> <script src="/helpers.js?v1"></script> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4114345487694759" crossorigin="anonymous"></script> <script> window.onload = function() { window.download_started = false; let links = document.querySelectorAll('.download-link'), i; for (i=0; i<links.length; i++) { links[i].onclick = function() { window.download_started = true; }; } // auto download? // Forum preview and handle paste if(window.jQueryLoaded) { let postMessage = $('#post_message'); postMessage.keyup(debounce(postPreview, 250, {maxWait: 3000})); postMessage.on('paste', handlePaste); } }; </script> </head> <body> <div id="header"> <div id="inner-header"> <a href="/"> <img src="/images/heidisql_logo_mwd.png" id="logo" alt="HeidiSQL Logo" width="260" height="66" /> </a> <div id="inner-right-header"> <!-- horizontal --> <ins class="adsbygoogle" style="display:inline-block;width:640px;height:100px" data-ad-client="ca-pub-4114345487694759" data-ad-slot="2718443743"></ins><script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <ul id="menu"> <li class="highlight"><a href="/">Home</a></li> <li><a href="/download.php">Downloads</a><ul><li><a href="/download.php?download=installer">Installer</a></li> <li><a href="/download.php?download=portable">Portable</a></li> <li><a href="/download.php?download=portable-64">Portable-64</a></li> <li><a href="/download.php?download=app">App</a></li> <li><a href="/download.php?download=source">Source</a></li> <li><a href="/download.php#nightlybuilds">Nightly builds</a></li> </ul></li> <li><a href="/screenshots.php">Images</a><ul><li><a href="/screenshots.php">Screenshots</a></li> <li><a href="/themes.php">Themes</a></li> </ul></li> <li><a href="/forum.php">Forum</a><ul><li><a href="/forum.php?t=43739#p43742"> 25 Nov - Jakko: Bulk import of CSV with some columns only </a></li> <li><a href="/forum.php?t=43736#p43737"> 24 Nov - ansgar: heidi sql grid editing error: column #4 <span title="... not available">...</span> </a></li> <li><a href="/forum.php?t=43734#p43735"> 23 Nov - ansgar: Unlock the Power of PostgreSQL Date Data <span title="... Types">...</span> </a></li> <li><a href="/forum.php?t=43728#p43733"> 22 Nov - nadeemcoorg: I want to run a query with CMD file </a></li> <li><a href="/forum.php?t=43725#p43727"> 18 Nov - TimothyMadden: How to connect to default SQL Ser <span title="... ver installation ?">...</span> </a></li> <li><a href="/forum.php?t=43720#p43724"> 16 Nov - sakim: heidisql for Postgresql </a></li> <li><a href="/forum.php?t=6073#p43723"> 16 Nov - Reinier: Unable to see query results ... </a></li> <li><a href="/forum.php?t=5331#p43722"> 16 Nov - Reinier: how to enable Resut panel in Query tab </a></li> <li><a href="/forum.php?t=43713#p43719"> 12 Nov - ansgar: Can you use multiple databases from dife <span title="... rent connections for doing a statement">...</span> </a></li> <li><a href="/forum.php?t=43709#p43712"> 07 Nov - artvandelay: Un/comment in toolbar or shortcut </a></li> <li><a href="/forum.php?t=43710"> 07 Nov - ATRICA: Error at connection to a FIREBIRD DB </a></li> <li><a href="/forum.php?t=43698#p43708"> 03 Nov - luvheidi: Newbie. Cannot log on. Consistent 1006 <span title="... 0 error. Please help.">...</span> </a></li> <li><a href="/forum.php?t=43706#p43707"> 03 Nov - ansgar: Lost connection to server at 'hands <span title="... hake: reading initial communication packet&#039;, system error: 0uery">...</span> </a></li> <li><a href="/forum.php?t=43696#p43697"> 30 Oct - ansgar: parameters fonts size </a></li> <li><a href="/forum.php?t=43685#p43694"> 29 Oct - ansgar: Why did my grid go? </a></li> <li><a href="/forum.php?t=43691"> 24 Oct - SQL_Hack: Problem with User-Defined Variables an <span title="... d Run Routine function">...</span> </a></li> <li><a href="/forum.php?t=39507#p43690"> 23 Oct - LAIS: Incomplete display of store procedure </a></li> <li><a href="/forum.php?t=42380#p43689"> 22 Oct - ansgar: Can't see all the databases (scroll <span title="... bar issue)">...</span> </a></li> <li><a href="/forum.php?t=43677#p43684"> 21 Oct - ansgar: Export issue </a></li> <li><a href="/forum.php?t=43662#p43676"> 20 Oct - ansgar: Window just disappears after opening ses <span title="... sion (Windows)">...</span> </a></li> </ul></li> <li><a href="/donate.php">Donate</a><ul><li><a href="/donate.php#howto">How to donate</a></li> <li><a href="/donate.php#donors">List of donors</a></li> </ul></li> <li><a href="https://github.com/HeidiSQL/HeidiSQL/issues">Bugtracker</a><ul><li><a href="https://github.com/HeidiSQL/HeidiSQL/milestones">Milestone Roadmap</a></li> <li><a href="https://github.com/HeidiSQL/HeidiSQL/issues?q=is%3Aissue+is%3Aopen+label%3Abug">Bug reports</a></li> <li><a href="https://github.com/HeidiSQL/HeidiSQL/issues?q=is%3Aissue+is%3Aopen+label%3Afeature">Feature requests</a></li> <li><a href="https://github.com/HeidiSQL/HeidiSQL/issues?q=is%3Aissue+is%3Aopen+label%3Aenhancement">Enhancement requests</a></li> </ul></li> <li><a href="/help.php">Help</a><ul><li><a href="/help.php#requirements">Requirements</a></li> <li><a href="/help.php#connecting">Connecting to a server</a></li> <li><a href="/help.php#commandline">Command line switches</a></li> <li><a href="/help.php#dbtree">The database tree</a></li> <li><a href="/help.php#createtable">Creating a table</a></li> <li><a href="/help.php#createview">Creating a view</a></li> <li><a href="/help.php#createroutine">Creating a stored procedure</a></li> <li><a href="/help.php#createtrigger">Creating a trigger</a></li> <li><a href="/help.php#createevent">Creating a scheduled event</a></li> <li><a href="/help.php#data">The Data tab</a></li> <li><a href="/help.php#queries">Running SQL queries</a></li> <li><a href="/help.php#sqlexport">SQL export</a></li> <li><a href="/help.php#import">Importing files</a></li> <li><a href="/help.php#portable">HeidiSQL portable</a></li> <li><a href="/help.php#license">License</a></li> <li><a href="/help.php#credits">Credits</a></li> </ul></li> </ul> </div> </div> <div id="content"> <div id="centercol"> <h1>What is HeidiSQL?</h1> <p id="main-description"> HeidiSQL is free software for people who work with databases, and aims to be intuitive to use. "Heidi" lets you connect to a variety of databases, like MariaDB, MySQL, Microsoft SQL, PostgreSQL, SQLite, Interbase and Firebird. Once you are connected, you can edit data and structures in these databases. Invented in 2002 by Ansgar, HeidiSQL is still a popular tool for MariaDB and MySQL, and actively maintained. Current <a href="https://www.embarcadero.com/products/delphi">Delphi version</a> for compiling HeidiSQL is v12.1. </p> <p> <a href="/download.php">Download HeidiSQL</a>, read further about <a href="#featurelist">features</a>, take part in <a href="/forum.php">discussions</a> or see some <a href="/screenshots.php">screenshots</a>. </p> <div class="screenshot-thumb-index"> <a href="/screenshots.php?which=view_editor" title="Create and modify VIEWs on newer MariaDB/MySQL servers."> <img src="/images/screenshots/view_editor.png" alt="HeidiSQL screenshot: Create and modify VIEWs on newer MariaDB/MySQL servers." /> </a><a href="/screenshots.php?which=copy_table" title="Create exact copies of an existing table, within the same database or in another one."> <img src="/images/screenshots/copy_table.png" alt="HeidiSQL screenshot: Create exact copies of an existing table, within the same database or in another one." /> </a> </div> <h1>News <a href="/rss.php?c=1,7"><img src="/images/icons/rssfeed.png" alt="RSS feed" /></a></h1> <ul class="news"> <li class="news-category-7"> <h2>17 Jul <a href="/forum.php?t=42415" title="Click to read complete article">Compiler update to Delphi 12.1</a></h2> <p>All upcoming HeidiSQL builds and releases will use the latest Delphi 12.1 compiler from Embarcadero. This should definitely raise quality, probably even fix some bugs. If you like to compile HeidiS <span title="... QL yourself, or probably start your own project using Delphi, you can get a trial of Delphi for free: https://www.embarcadero.com/products/delphi/start-for-free">...</span></p> </li><li class="news-category-1"> <h2>11 Jul <a href="/forum.php?t=42358" title="Click to read complete article">HeidiSQL 12.8 with support for encrypted SQLite databases and SSL/MySQL bugfixes</a></h2> <p>Get it from the download page 3rd party updates: Issue #1946: update C connector / libmariadb.dll and plugin libraries to latest v3.3.10 New stuff: Issue #1284: add support for encrypted SQLite <span title="... databases, using the C API from utelle/SQLite3MultipleCiphers Issue #1964: support MariaDB's INET4 and INET6 data types Issue #1604: support creating table indexes on SQLite Issue #1604: support adding primary key to new tables, which needs to be done inside the CREATE TABLE code Issue #1605: supp">...</span></p> </li><li class="news-category-1"> <h2>05 May <a href="/forum.php?t=42121" title="Click to read complete article">HeidiSQL 12.7 with support for descending indexes, filter boxes in table tools, JSONL export, and more</a></h2> <p>Get it from the download page 3rd party updates: Issue #1946: update libmariadb.dll and plugin libraries to latest v3.3.8 Update regular expression library to v1.181 2023.11.22, supporting \K pat <span title="... tern to set the begin of a reported match. Update InnoSetup compiler to v6.2.2 Update VirtualTrees component code to release v8.0.3 (major version update) Issue #1888: Update plink executables to v0.81 Update madExcept exception handler to v5.1.4 Issue #1905: Update OpenSSL libraries used by libpq-1">...</span></p> </li><li class="news-category-7"> <h2>27 Nov <a href="/forum.php?t=41545" title="Click to read complete article">Official Instagram profile</a></h2> <p>Thanks to my daughter HeidiSQL now has an official Instagram profile: https://www.instagram.com/heidisql.official/ Mainly used for screenshots of HeidiSQL, especially of certain dialogs which are r <span title="... ather unknown but probably helpful.">...</span></p> </li><li class="news-category-1"> <h2>05 Nov <a href="/forum.php?t=41419" title="Click to read complete article">HeidiSQL 12.6 with two new SQL formatters and static grid row id</a></h2> <p>Get it from the download page 3rd party updates: Update madExcept exception handler to v5.1.3 Upgrading to Delphi compiler version 11.3 Update VirtualTrees component code to release v7.6.5a Updat <span title="... e vcl-styles-utils from current master branch Update SQLite libraries to v3.44.0 Issue #1841: Update OpenSSL libraries used by libpq-15.dll to v3.1.3 Update plink executables to v0.79 New stuff: Issue #861: New static row id column in all result grids. Uses the session background color, and can be">...</span></p> </li> </ul> <h1 id="featurelist">Features</h1> <ul> <li>Free for everyone, OpenSource</li> <li>Connect to multiple servers in one window</li> <li>Supported database systems: MariaDB, MySQL, MS SQL, PostgreSQL, SQLite, Interbase and Firebird</li> <li><a href="/help.php#commandline">Connect to servers via commandline</a></li> <li>Connect via SSH tunnel, or pass SSL settings</li> <li>Create and edit <a href="/screenshots.php?which=table_editor">tables</a>, <a href="/screenshots.php?which=view_editor">views</a>, <a href="/screenshots.php?which=stored_routines">stored routines</a>, <a href="/screenshots.php?which=trigger_editor">triggers</a> and <a href="/screenshots.php?which=event_editor">scheduled events</a>. </li> <li><a href="/screenshots.php?which=export_sql">Generate nice SQL-exports</a>, compress these afterwards, or put them on the clipboard.</li> <li>Export from one server/database directly to another server/database</li> <li><a href="/screenshots.php?which=usermanager">Manage user-privileges</a> </li> <li><a href="/screenshots.php?which=import_textfile">Import text-files</a> </li> <li><a href="/screenshots.php?which=export_textfile">Export table rows as CSV, HTML, XML, SQL, LaTeX, Wiki Markup and PHP Array</a> </li> <li><a href="/screenshots.php?which=data">Browse and edit table-data using a comfortable grid</a> </li> <li>Bulk edit tables (move to db, change engine, collation etc.) </li> <li><a href="/screenshots.php?which=insert_files">Batch-insert ascii or binary files into tables</a> </li> <li><a href="/screenshots.php?which=query">Write queries with customizable syntax-highlighting and code-completion</a> </li> <li>Pretty reformat disordered SQL </li> <li><a href="/screenshots.php?which=host_processlist">Monitor and kill client-processes</a> </li> <li><a href="/screenshots.php?which=find_text_on_server">Find specific text in all tables of all databases of one server</a></li> <li><a href="/screenshots.php?which=maintenance">Optimize and repair tables in a batch manner</a></li> <li>Launch a parallel mysql.exe command line window using your current connection settings</li> <li>And <a href="/screenshots.php">much more</a> </li> </ul> </div> <div id="rightcol"> <p style="margin-bottom:0"> HeidiSQL users with enabled statistics feature work on these servers: </p> <script type="text/javascript" src="//www.google.com/jsapi"></script> <script type="text/javascript"> if(window.google != null) { google.load('visualization', '1', {packages: ['corechart']}); } </script> <script type='text/javascript'> function drawVisualization_serverstats_mysql() { // Create and populate the data table. let data = google.visualization.arrayToDataTable([["Version","Users",{"role":"style"}],["10.11",21895,"#D7BAA7"],["10.6",28498,"#D7BAA7"],["10.5",20767,"#D7BAA7"],["10.4",51825,"#D7BAA7"],["10.3",21951,"#D7BAA7"],["10.1",11794,"#D7BAA7"],["8.0",120185,"#D7BAA7"],["5.7",73874,"#D7BAA7"],["5.6",17390,"#D7BAA7"],["5.5",25363,"#D7BAA7"]]); // Create and draw the visualization. let el = document.getElementById("serverstats_mysql"); new google.visualization.BarChart(el).draw( data, { width:340, height:200, chartArea: {top: 0, height: "80%"}, vAxis: {title: "MySQL", titleTextStyle: {fontName:"Trebuchet MS", fontSize:"14"}}, legend: "none" } ); } if(window.google != null) { google.setOnLoadCallback(drawVisualization_serverstats_mysql); } </script> <div id="serverstats_mysql" style="width: 340px;"></div> <script type='text/javascript'> function drawVisualization_serverstats_ms_sql() { // Create and populate the data table. let data = google.visualization.arrayToDataTable([["Version","Users",{"role":"style"}],["16.0",2578,"#C9D7A7"],["15.0",5584,"#C9D7A7"],["14.0",2150,"#C9D7A7"],["13.0",2260,"#C9D7A7"],["12.0",2734,"#C9D7A7"],["11.0",1291,"#C9D7A7"],["10.50",1216,"#C9D7A7"],["10.0",220,"#C9D7A7"],["9.0",254,"#C9D7A7"],["8.0",96,"#C9D7A7"]]); // Create and draw the visualization. let el = document.getElementById("serverstats_ms_sql"); new google.visualization.BarChart(el).draw( data, { width:340, height:200, chartArea: {top: 0, height: "80%"}, vAxis: {title: "MS SQL", titleTextStyle: {fontName:"Trebuchet MS", fontSize:"14"}}, legend: "none" } ); } if(window.google != null) { google.setOnLoadCallback(drawVisualization_serverstats_ms_sql); } </script> <div id="serverstats_ms_sql" style="width: 340px;"></div> <script type='text/javascript'> function drawVisualization_serverstats_postgresql() { // Create and populate the data table. let data = google.visualization.arrayToDataTable([["Version","Users",{"role":"style"}],["17.0",688,"#A7C3D7"],["16.4",1950,"#A7C3D7"],["16.3",1510,"#A7C3D7"],["16.2",774,"#A7C3D7"],["15.8",1056,"#A7C3D7"],["15.7",953,"#A7C3D7"],["15.4",769,"#A7C3D7"],["14.13",1347,"#A7C3D7"],["14.12",902,"#A7C3D7"],["9.6",842,"#A7C3D7"]]); // Create and draw the visualization. let el = document.getElementById("serverstats_postgresql"); new google.visualization.BarChart(el).draw( data, { width:340, height:200, chartArea: {top: 0, height: "80%"}, vAxis: {title: "PostgreSQL", titleTextStyle: {fontName:"Trebuchet MS", fontSize:"14"}}, legend: "none" } ); } if(window.google != null) { google.setOnLoadCallback(drawVisualization_serverstats_postgresql); } </script> <div id="serverstats_postgresql" style="width: 340px;"></div> <script type='text/javascript'> function drawVisualization_serverstats_sqlite() { // Create and populate the data table. let data = google.visualization.arrayToDataTable([["Version","Users",{"role":"style"}],["10.23",1,"#D7A7D0"],["8.0",4,"#D7A7D0"],["5.5",1,"#D7A7D0"],["3.46",12,"#D7A7D0"],["3.45",1817,"#D7A7D0"],["3.44",627,"#D7A7D0"],["3.39",649,"#D7A7D0"],["3.38",85,"#D7A7D0"],["3.34",166,"#D7A7D0"],["3.30",58,"#D7A7D0"]]); // Create and draw the visualization. let el = document.getElementById("serverstats_sqlite"); new google.visualization.BarChart(el).draw( data, { width:340, height:200, chartArea: {top: 0, height: "80%"}, vAxis: {title: "SQLite", titleTextStyle: {fontName:"Trebuchet MS", fontSize:"14"}}, legend: "none" } ); } if(window.google != null) { google.setOnLoadCallback(drawVisualization_serverstats_sqlite); } </script> <div id="serverstats_sqlite" style="width: 340px;"></div> <script type='text/javascript'> function drawVisualization_serverstats_interbase_fb() { // Create and populate the data table. let data = google.visualization.arrayToDataTable([["Version","Users",{"role":"style"}],["5.0",9,"#B3A7D7"],["4.0",3,"#B3A7D7"],["3.0",3,"#B3A7D7"],["2.5",6,"#B3A7D7"],["0.0",2,"#B3A7D7"]]); // Create and draw the visualization. let el = document.getElementById("serverstats_interbase_fb"); new google.visualization.BarChart(el).draw( data, { width:340, height:200, chartArea: {top: 0, height: "80%"}, vAxis: {title: "Interbase\/FB", titleTextStyle: {fontName:"Trebuchet MS", fontSize:"14"}}, legend: "none" } ); } if(window.google != null) { google.setOnLoadCallback(drawVisualization_serverstats_interbase_fb); } </script> <div id="serverstats_interbase_fb" style="width: 340px;"></div> <p style="margin:3em 0; text-align:center;"> The author: <a href="/help.php#credits">Ansgar Becker</a><br /> <img src="//www.gravatar.com/avatar/61266a1d3dc66d2abac69df7c07cbbb3?d=identicon&s=512" style="width:256px;height:256px;" alt="Ansgar Becker" /> </p> </div> <br style="clear: both" /> </div> <p id="footer"> <a href="//mariadb.org"> <img src="/images/icons/server-mariadb.png" alt="MariaDB" /> Database powered by MariaDB</a> <a href="https://www.embarcadero.com/de/case-study/heidisql-case-study?utm_source=Eloqua&utm_medium=web&utm_content=HeidiSQL-website-footer"> <img src="/images/icons/embarcadero-rad-studio.png" alt="Embarcadero Delphi" /> HeidiSQL is proudly built with Embarcadero Delphi</a> <a href="https://www.facebook.com/HeidiSQL" title="HeidiSQL on Facebook"><img src="/images/facebook-icon.png" alt="Facebook" /></a> <a href="https://www.instagram.com/heidisql.official/" title="HeidiSQL on Instagram"><img src="/images/instagram-icon.png" alt="Instagram" /></a> <a href="/imprint.php">Imprint</a> </p> <div class="sticky-right"> </div> </body> </html>