# Introduction to SQLife

## What is SQLife?

SQLife is a powerful, modern database management tool designed to help you work efficiently with multiple database systems. Originally developed with a focus on Oracle databases, it has expanded to support MySQL, PostgreSQL, SQLite, and more.

## Key Features

### Multi-Database Support
- **Oracle** - Comprehensive support including advanced features like DBMS_OUTPUT, schedulers, and more
- **MySQL** - Full support for data management and schema operations
- **PostgreSQL** - Complete support including extensions and advanced features
- **SQLite** - Local database support for lightweight data management
- **More...**

### Rich SQL Editor
- **Syntax Highlighting** - Color-coded SQL for better readability
- **Auto-Completion** - Intelligent code completion for tables, columns, and keywords
- **SQL Formatting** - Automatic code formatting for cleaner queries
- **Multiple Editors** - Work with multiple SQL files simultaneously
- **Command History** - Quick access to previously executed queries

### Advanced Data Management
- **Data View & Edit** - View and edit table data with an intuitive interface
- **Import/Export** - Support for multiple formats (SQL, Excel, CSV, TSV, JSON, XML, HTML, Markdown)
- **Batch Operations** - Efficient processing of large data sets
- **Visual Data Editing** - Spreadsheet-like interface for data manipulation

### Database Object Management
- **Schema Browser** - Navigate database objects with ease
- **Object Operations** - Create, modify, and drop database objects
- **Trigger Management** - Enable/disable and manage triggers
- **Index Management** - View and manage table indexes
- **Constraint Management** - Handle primary keys, foreign keys, and constraints

### Developer-Friendly Features
- **SQL Executor** - Execute SQL scripts with advanced options
- **Oracle Scheduler** - Manage Oracle DBMS_SCHEDULER jobs, schedules, programs, windows, and chains
- **Explain Plan** - Visualize query execution plans
- **DBMS_OUTPUT Support** - Capture Oracle debug output automatically
- **Document Viewer** - View and manage database documentation
- **AI Assistant** - Write, explain, and fix SQL with AI (OpenAI, DeepSeek, Ollama, and more)
- **Quick Query Palette** - Run SQL against any saved connection from a global hotkey
- **Plugin Manager** - Install optional database drivers (Redis, MongoDB, Kafka, RabbitMQ, and more)

### Multi-Language Support
SQLife is available in 13 languages:
- English
- 繁體中文 (Traditional Chinese)
- 简体中文 (Simplified Chinese)
- 日本語 (Japanese)
- 한국어 (Korean)
- Français (French)
- Deutsch (German)
- Español (Spanish)
- Italiano (Italian)
- Русский (Russian)
- Türkçe (Turkish)
- العربية (Arabic)
- Português (Portuguese)

### Additional Features
- **State Recovery** - Automatic recovery after crashes with saved state
- **Customizable UI** - Adjustable fonts, themes, and layouts
- **Keyboard Shortcuts** - Fully customizable key mappings
- **Proxy Support** - Work behind corporate proxies
- **Auto-Update** - Automatic update checking and installation
- **Connection Backup** - Save and restore connection configurations

## Architecture

SQLife uses a modern client-server architecture:

- **Desktop Application** - JavaFX-based GUI for rich user experience
- **Web Backend** - Embedded web server for database connectivity
- **Modular Design** - Clean separation of concerns for maintainability

The application can run in two modes:
1. **Desktop Mode** - Integrated application with embedded server
2. **Gateway Mode** - Standalone server as a database gateway (for restricted network environments)

## Use Cases

### Database Administrators
- Manage multiple database connections
- Monitor and optimize database performance
- Execute administrative tasks efficiently
- Import/export data for migrations

### Developers
- Write and test SQL queries quickly
- Browse database schemas
- Debug stored procedures and functions
- Manage database versions during development

### Data Analysts
- Query and explore data visually
- Export data in various formats for analysis
- Create ad-hoc reports
- Work with large datasets efficiently

## Project Status

SQLife is actively developed with regular updates and improvements. See the [CHANGELOG](../CHANGELOG.MD) for recent updates and the [TODO](../TODO.MD) for planned features.

## License

This is a commercial project with licensing options. See the [License](#) section for more information.

## Getting Help

- **User Guide** - Continue to the next sections for detailed usage instructions
- **FAQ** - Check the [FAQ](https://bitifyware.com/sqlife/help) for common questions

## Next Steps

Continue to:
- [System Requirements](01-system-requirements.md) - Check if your system is compatible
- [Installation Guide](02-installation.md) - Install and set up SQLife
- [Getting Started](03-getting-started.md) - Learn the basics
