{"id":19224104,"url":"https://github.com/pedroalbanese/db","last_synced_at":"2026-05-16T18:07:28.995Z","repository":{"id":193945647,"uuid":"689783628","full_name":"pedroalbanese/db","owner":"pedroalbanese","description":"Command-line CSV-based DB tool written in Go for managing CSV-based databases. ","archived":false,"fork":false,"pushed_at":"2023-10-05T23:25:18.000Z","size":53,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-04T21:18:26.503Z","etag":null,"topics":["csv","database","golang"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pedroalbanese.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-10T22:03:52.000Z","updated_at":"2023-10-05T22:03:21.000Z","dependencies_parsed_at":"2024-06-21T07:08:41.156Z","dependency_job_id":"c4ce3721-0521-4c8d-a46d-aab99eb3cb47","html_url":"https://github.com/pedroalbanese/db","commit_stats":null,"previous_names":["pedroalbanese/db"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pedroalbanese%2Fdb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pedroalbanese%2Fdb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pedroalbanese%2Fdb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pedroalbanese%2Fdb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pedroalbanese","download_url":"https://codeload.github.com/pedroalbanese/db/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240298487,"owners_count":19779283,"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","database","golang"],"created_at":"2024-11-09T15:10:34.279Z","updated_at":"2026-05-16T18:07:23.974Z","avatar_url":"https://github.com/pedroalbanese.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# db\n### CSV-based DB\nThe CSV-based DB tool is a database based on CSV, which means it stores and manipulates data in CSV (Comma-Separated Values) format.\n\nThe goal of CSV-based DB is to provide a simple and lightweight solution for data management using CSV files. This approach can be useful in scenarios where a full database is not required or when working with CSV files is preferred for ease of portability and integration with other tools.\n\nThe tool allows users to perform basic database operations such as data insertion, querying, updating, and deletion in CSV files.\nOverall, CSV-based DB offers a straightforward and efficient alternative for data management using CSV files, enabling users to store and manipulate data easily and flexibly.\n\n## Usage\n\n### Command-line\n```\nUsage of db:\n  -add\n        Add entry to CSV\n  -column string\n        Column name (for get command)\n  -create\n        Create CSV file\n  -edit\n        Edit entry\n  -f string\n        Select CSV file by its path\n  -get\n        Get entry or value\n  -id int\n        ID (for get command)\n  -list\n        List CSV files or entries in CSV\n  -n int\n        Select CSV file by its number\n  -search\n        Search entries in one or more CSV\n```\n\n### Shell\nThe shell allows users to perform various operations on CSV files, including listing CSV files, creating new CSV files, adding records, editing records, listing records, searching records, and deleting records. Here's an overview of its functionality:\n\n  1.  **List CSV Files**: Lists all the CSV files in the current directory and its subdirectories.\n\n  2.  **Select CSV File**: Allows the user to select a specific CSV file for further operations.\n\n  3.  **Create CSV File**: Helps in creating a new CSV file by specifying column headers.\n\n  4.  **Search Records**: Searches for records containing a specific search term in one or more CSV files.\n\nOnce a CSV file is selected, the user can perform the following operations on it:\n\n  1.  **Add Record**: Adds a new record to the selected CSV file, prompting the user to input values for each column.\n\n  2.  **List Records**: Lists all the records in the selected CSV file, displaying them one record per line.\n\n  3.  **List Records as Table**: Lists all the records in a tabular format, aligning columns for better readability.\n\n  4.  **Search Record**: Searches for a specific record by providing a search term.\n\n  5.  **Edit Record**: Allows the user to edit an existing record in the selected CSV file.\n\n  6.  **Delete Record**: Deletes a specific record from the selected CSV file.\n\nThe tool also handles some features like automatically assigning IDs to records, handling date columns, and managing CSV files.\n\nOverall, it provides a command-line interface for managing CSV-based databases with various CRUD (Create, Read, Update, Delete) operations on records within those CSV files.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpedroalbanese%2Fdb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpedroalbanese%2Fdb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpedroalbanese%2Fdb/lists"}