This article needs additional citations for verification. (September 2014) (Learn how and when to remove this template message)
Main view of a session, with the database tree on the left and details on the right
|Original author(s)||Ansgar Becker|
|Initial release||April 2006|
9.5 / December 19, 2017
|Written in||Object Pascal|
HeidiSQL is a free and open-source administration tool for MySQL and its forks, as well as Microsoft SQL Server and PostgreSQL. Its codebase was originally taken from Ansgar Becker's own MySQL-Front 2.5 software. Due to having sold the MySQL-Front branding to an unrelated party, Becker chose "HeidiSQL" as a replacement. The name was suggested by a friend as a tribute to Heidi Klum, and was further reinforced by Becker's own nostalgia for Heidi, Girl of the Alps.
Ansgar Becker began development on a MySQL front-end in 1999 naming the project "MySQL-Front" and used a direct API layer written by Matthias Fichtner to interface with MySQL servers and contained databases. Private development continued until 2003 with version 2.5.
In April 2006, Becker open-sourced the application on SourceForge, renaming the project "HeidiSQL". HeidiSQL was re-engineered to use a newer and more popular database-interface layer, ZeosLib, which debuted in version 3.0.
The database layer was again replaced by a single-unit approach in October 2009 by Becker. Later, this was again extended for supporting other database servers.
Support for Microsoft SQL Server was added in March 2011 for the 7.0 release.
Since the 8.0 release, HeidiSQL offers its GUI in about 22 languages other than English. Translations are contributed by users from various countries via Transifex.
PostgreSQL support was introduced in March 2014 for the 9.0 release.
In early 2018, a slightly extended v9.5 release was published on the Microsoft Store.
- Server connection
- Multiple saved sessions with connection and credentials stored within
- Compressed client/server protocol for compatible servers
- Interface with servers via TCP/IP, named pipes (sockets) or a tunneling protocol (SSH)
- Multiple parallelly running sessions in one window
- Manage users on the server: add, remove and edit users, and their credentials
- Manage user privileges globally and per database
- Export databases to SQL files or to other servers
- Multiple query tabs, with each one having multiple subtabs for batch results
- Server host
- View and filter all server variables, such as system_time_zone
- Edit all server variables, either for this session or with global scope
- View server statistical variables, and average values per hour & second
- Currently running processes to analyze executed SQL and to kill bad processes
- View command-statistics with percentage indicator bars per SQL command
- View all databases on the server, connect to a single database to work with its tables and data
- View connected databases' total and table size in KB/MB/GB within the database/table tree structure
- Create new, alter existing databases' name, character set and collation, drop (delete) databases
- Tables, views, procedures, triggers and events
- View all objects within the selected database, empty, rename and drop (delete) objects
- Edit table columns, indexes, and foreign keys. Virtual columns on MariaDB servers are supported.
- Edit view query and settings
- Edit procedure SQL body and parameters
- Edit trigger SQL body and settings
- Edit scheduled event SQL body time settings
- Matthias Fichtner (2011-09-15). mysql.pas "Client API for MySQL Database Servers" Check
|url=value (help). audio-data.de. Retrieved 2014-12-01.
- "Partial list of major features". HeidiSQL. Retrieved 2014-12-01.
- "Screenshots of GUI features and descriptions". HeidiSQL. Retrieved 2014-12-01.