{"id":26360928,"url":"https://github.com/nao1215/sqluv","last_synced_at":"2025-03-16T17:18:52.876Z","repository":{"id":281001239,"uuid":"939939530","full_name":"nao1215/sqluv","owner":"nao1215","description":"simple terminal UI for RDBMS \u0026 local CSV/TSV/LTSV","archived":false,"fork":false,"pushed_at":"2025-03-15T12:00:18.000Z","size":6503,"stargazers_count":33,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-15T12:23:04.183Z","etag":null,"topics":["csv","ltsv","mysql","postgres","rdbms","sql","sqlite3","sqlserver","tsv"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nao1215.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"nao1215"}},"created_at":"2025-02-27T11:02:06.000Z","updated_at":"2025-03-15T12:00:15.000Z","dependencies_parsed_at":"2025-03-06T13:37:25.498Z","dependency_job_id":null,"html_url":"https://github.com/nao1215/sqluv","commit_stats":null,"previous_names":["nao1215/sqluv"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nao1215%2Fsqluv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nao1215%2Fsqluv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nao1215%2Fsqluv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nao1215%2Fsqluv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nao1215","download_url":"https://codeload.github.com/nao1215/sqluv/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243902320,"owners_count":20366262,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csv","ltsv","mysql","postgres","rdbms","sql","sqlite3","sqlserver","tsv"],"created_at":"2025-03-16T17:18:52.351Z","updated_at":"2025-03-16T17:18:52.859Z","avatar_url":"https://github.com/nao1215.png","language":"Go","funding_links":["https://github.com/sponsors/nao1215"],"categories":[],"sub_categories":[],"readme":"![dbms_demo](doc/image/dbms_demo.gif)\n\nThe **sqluv (sql + love)** provides a simple text user interface for multiple DBMSs and local CSV/TSV/LTSV files. You execute SQL queries for the connected DBMS or local files. The sqluv has the color theme feature, so you can change the color theme to your liking.\n\nThe sqluv is a command derived from [nao1215/sqly](https://github.com/nao1215/sqly). Its starting point is to provide a more user-friendly interface for writing SQL compared to sqly.\n\n\u003e[!WARNING]\n\u003e sqluv is under development. Do not execute UPDATE or DELETE in the production environment. Currently sqluv starts transactions and executes commits on a per SQL query basis. Therefore, commits may be executed at unexpected times.\n\n## How to install\n### Use \"go install\"\n\n```shell\ngo install github.com/nao1215/sqluv@latest\n```\n\n### Use homebrew\n\n```shell\nbrew install nao1215/tap/sqluv\n```\n\n## Supported OS, DBMS, go version\n\n- Windows\n- macOS\n- Linux\n- MySQL\n- PostgreSQL\n- SQLite3\n- SQL Server\n- go1.24 or later\n\n## How to use\n\n### Syntax\n\n```shell\nsqluv [FILE_PATHS]\n```\n\n※ Supported file formats: CSV, TSV, LTSV\n\n### Connect to DBMS\n\nWhen you start the sqluv command without specifying a file path, the following screen will appear. \n\n![first_screen](doc/image/dbms_first.png)\n\nPlease enter the connection information for the DBMS you want to connect to.\n\n![dbms_connection](doc/image/dbms_info.png)\n\nIf the connection is successful, database connection information will be saved in the configuration file. The next time you start the sqluv command, you will be able to select the DBMS you want to connect to from the list.\n\n![dbms_list](doc/image/dbms_list.png)\n\n## SQL query history\n\nIf you execute a SQL query, the history will be saved in the `~/.config/sqluv/history.db`. So, you can look up the history by pressing the history button.\n\n![history_button](./doc/image/history_button.png)\n\nIf you select a history, the SQL query will be copied to the query text area.\n\n![history_list](./doc/image/sql_query_history.png)\n\n\n### Read from a file\n\nPlease specify a file path when executing the sqluv command. The file will be loaded before launching the TUI.\nIf you start the sqluv command without specifying a file path, it will enter DBMS connection mode, and local files cannot be loaded.\n\n![sqluv_demo](./doc/image/demo.gif)\n\n## Key bindings\n\n| Key | Description |\n| --- | --- |\n| ESC | Quit |\n| Ctrl + d | Quit |\n| Ctrl + c | Copy the selected sql query |\n| Ctrl + v | Paste the copied text |\n| Ctrl + x | Cut the selected text |\n| Ctrl + t | Change the theme |\n| TAB | Move to the next field |\n| Shift + TAB | Move to the previous field |\n\n## Color theme\n\n### Defaulut\n![color_default](./doc/image/color_default.png)\n\n### Sublime\n![color_sublime](./doc/image/color_sublime.png)\n\n### VS Code\n![color_vscode](./doc/image/color_vscode.png)\n\n### Atom\n![color_atom](./doc/image/color_atom.png)\n\n### Dark\n![color_dark](./doc/image/color_dark.png)\n\n### Light\n![color_light](./doc/image/color_light.png)\n\n### Solarized\n![color_solarized](./doc/image/color_solarized.png)\n\n### Monokai\n![color_monokai](./doc/image/color_monokai.png)\n\n### Nord\n![color_nord](./doc/image/color_nord.png)\n\n### Cappuccino\n![color_cappuccino](./doc/image/color_cappuccino.png)\n\n### Gruvbox\n![color_gruvbox](./doc/image/color_gruvbox.png)\n\n### Tokyo Night\n![color_tokyo_night](./doc/image/color_tokyo_night.png)\n\n### Dracula\n![color_dracula](./doc/image/color_dracula.png)\n\n## Altenative Tools\n\n|Name | Description |\n|:----|:------------|\n| [jorgerojas26/lazysql](https://github.com/jorgerojas26/lazysql) |A cross-platform TUI database management tool written in Go.|\n| [vladbalmos/mitzasql](https://github.com/vladbalmos/mitzasql) | MySQL command line / text based interface client |\n| [TaKO8Ki/gobang](https://github.com/TaKO8Ki/gobang) | A cross-platform TUI database management tool written in Rust |\n\n\n## Contributing\n\nFirst off, thanks for taking the time to contribute! See [CONTRIBUTING.md](./CONTRIBUTING.md) for more information. Contributions are not only related to development. For example, GitHub Star motivates me to develop! \n\n\n[![Star History Chart](https://api.star-history.com/svg?repos=nao1215/sqluv\u0026type=Date)](https://star-history.com/#nao1215/sqluv\u0026Date)\n\n## Contact\nIf you would like to send comments such as \"find a bug\" or \"request for additional features\" to the developer, please use one of the following contacts.\n\n- [GitHub Issue](https://github.com/nao1215/sqluv/issues)\n\n## LICENSE\n\n[MIT License](./LICENSE)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnao1215%2Fsqluv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnao1215%2Fsqluv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnao1215%2Fsqluv/lists"}