BugenPyQ SQL Client is a simple SQL client with GUI based on PyQt. It allows users to connect several kinds of SQL database and supports visual editing and SQL statement queries.
After open a database in BugenPyQ SQL Client, you can select the active table through the tables list and edit data in it directly at the preview window. Use Submit to submit the modification.
BugenPyQ SQL Client can not only open an SQLite file locally, but also support connecting to remote PostgreSQL or MySQL database (driver compilation is probably needed under different OS).
Users can perform SQL queries at the second tab of **BugenPyQ SQL Client **. BugenPyQ SQL Client is multi-tabbed. To add a query tab, please press βT / Ctrl+T or simply via File menu. Also, the query system supports multi-threading technology that no other operations will be interfered even when you are dealing with a busy query.
While querying in BugenPyQ SQL Client, you can not only save the results with statements like SELECT INTO , but also export the query results to a CSV (comma-separated values) file for further data analysis.
- Make sure the Python version is higher than 3.7.
- Install latest
PyQt5module:python3 -m pip install PyQt5 --user. - Run
python3 ./main.py.
.
βββ connectionDialog.py
βββ database.py
βββ databaseView.py
βββ example.py
βββ exporter.py
βββ main.py
βββ queriesContainer.py
βββ queryView.py
βββ sqlites # examples
βββ product.sqlite
βββ students.sqlite
βββ test.sqliteHighlights:
- All of the widgets are implemented in a separate module (.py), which is loosely coupled with the main window, resulting in clearer code logic, strong reusability and dynamic compilation with performance improvement.
- Maintaining connections with a separate database manager class (database.py), separating the UI code from the logic code.
- Make use of multi-threading and PyQt signal-slot technology to avoid time-consuming operation in the main UI thread and ensure the program GUI fluency and stability.
- Easy operation logic and attention to details, such as:
- Adopt Layout comprehensively, scaling the window arbitrarily is allowed.
- Allows users to connect and disconnect multiple times and reuse program functions.
- Adjust the enabled state of buttons and actions bringing to strong program robustness.
- When new/open/close/exit, the user will be prompted to save the current changes to avoid misoperations.
- Indicates current connection information and operation status through the status bar and title bar.
- Keyboard shortcuts are supported on any platforms, which is in line with the user's usual operation logic.
Thanks to Professor Lu and the TAs for their guidance!




