In the field of software, SQL programming tools provide platforms for database administrators (DBAs) and application developers to perform daily tasks efficiently and accurately.

Database administrators and application developers often face constantly changing environments  which they rarely completely control. Many changes result from new development projects or from modifications to existing code, which, when deployed to production, do not always produce the expected result.

For organizations to better manage development projects and the teams that develop code, suppliers of SQL programming tools normally provide more than facility to the database administrator or application developer to aid in database management and in quality code-deployment practices.

Features

SQL programming tools may include the following features:

SQL editing

SQL editors allow users to edit and execute SQL statements. They may support the following features:

 cut, copy, paste, undo, redo, find (and replace), bookmarks
 block indent, print, save file, uppercase/lowercase
 keyword highlighting
 auto-completion
 access to frequently used files
 output of query result
 editing query-results
 committing and rolling-back transactions
 inside cut paper

Object browsing

Tools may display information about database objects relevant to developers or to database administrators. Users may:

 view object descriptions
 view object definitions (DDL)
 create database objects
 enable and disable triggers and constraints
 recompile valid or invalid objects
 query or edit tables and views

Some tools also provide features to display dependencies among objects, and allow users to expand these dependent objects recursively (for example: packages may reference views, views generally reference tables, super/subtypes, and so on).

Session browsing

Database administrators and application developers can use session browsing tools to view the current activities of each user in the database. They can check the resource-usage of individual users, statistics information, locked objects and the current running SQL of each individual session.

User-security management

DBAs can create, edit, delete, disable or enable user-accounts in the database using security-management tools. DBAs can also assign roles, system privileges, object privileges, and storage-quotas to users.

Debugging

Some tools offer features for the debugging of stored procedures: step in, step over, step out, run until exception, breakpoints, view & set variables, view call stack, and so on. Users can debug any program-unit without making any modification to it, including triggers and object types.

Performance monitoring

Monitoring tools may show the database resources — usage summary, service time summary, recent activities, top sessions, session history or top SQL — in easy-to-read graphs. Database administrators can easily monitor the health of various components in the monitoring instance. Application developers may also make use of such tools to diagnose and correct application-performance problems as well as improve SQL server performance.

Test data

Test data generation tools can populate the database by realistic test data for server or client side testing purposes. Also, this kind of software can upload sample blob files to database.

See also
 Comparison of database administration tools

Data management
Relational database management systems