NHacker Next
  • new
  • past
  • show
  • ask
  • show
  • jobs
  • submit
SQLiteStudio: Create, edit, browse SQLite databases (sqlitestudio.pl)
googie 1 days ago [-]
Author here. I'm surprised and honored to have my pet project here ;) As mentioned in another comment, I'm currently in the process of bugfixing/polishing 3.4.x branch. Then I will focus more on 3.5.0, which will bring many big features. One of them being ERD (read & write).
tolai 22 hours ago [-]
SQLiteStudio is fantastic, I've been using it on and off for a few years already and it's saved my ass so many times. Once, we were doing many many meetings discussing a potential implementation for a sales incentive scheme and it was very difficult to get everyone onboard. Fed up with this I built a demo database in sqlite using a portable SQLiteStudio instance and prepared a bunch of queries. This "reference implementation" made it possible to get everyone aligned in record time !! This would not have been possible at all with the "frictions" of a convential RDBMS. Also, analyzing and cleaning up client data during project UATs is so damn convenient in SQLiteStudio. Thanks !!!!
davisr 3 hours ago [-]
How much money have you paid the author of SQLiteStudio?
forinti 22 hours ago [-]
It's a great tool. My use-case is a bit unusual: I decommissioned an Oracle Portal instance and decided to keep a copy of the tables in SQLite so that I can recover files people may later remember they need. It's much easier than maintaining an Oracle instance.

It's a nice feature of SQLiteStudio that you can click on a blob and see the image, if it's an image file.

macmac 16 hours ago [-]
How did you get the tables from Oracle into SQLite?
forinti 15 hours ago [-]
GGerome 1 hours ago [-]
Nice to meet the author here. I use SQLIteStudio since few years and I am still annoyed by its bad performances when dealing with a table that contains columnq that holds json data, at least each row of this column has json data between 500kb to 1 mb, then the app freeze and is quite unable to deal with its datas. I can provide example if you want
googie 40 minutes ago [-]
Yes, please! You can contact me directly through email, or through github discussions or issues. Details are at https://sqlitestudio.pl/contact/
zeroq 5 hours ago [-]
Ha! I was going to reach out to you through a different channel, but here you are, on HN. :)

The import function is really slow.

I was recently playing with my pet project which is building an sqlite database from IMDB public datasets. It's 6Gb of CSV files into a ~12Gb database after a vacuum. With nodejs I can import the data within 6 minutes and create indexes and vacuum in another 4, which gives me a fully indexed database in just 10 minutes. With SQLStudio the import alone takes at least half an hour.

Probably not a typical use case for a sqlite database, but nevertheless, a decent benchmark.

BTW. Dobra robota! Dzięki! :)

googie 37 minutes ago [-]
In few days there will be another 3.4.x branch release (3.4.7), which addresses this exact problem - https://github.com/pawelsalawa/sqlitestudio/issues/5119
googie 18 minutes ago [-]
...or if you didn't mean the import() SQL function, but in general importing functionality (through Import Dialog) and it's still slow there, then please contact me and I will see what can be done to improve it - https://sqlitestudio.pl/contact/
shigawire 17 hours ago [-]
Thanks for your work on this. It was super helpful as a student learning SQL. Having the visual feedback to check the statements made or queries ran on my test data was invaluable.
mytdi 8 hours ago [-]
Thank you for this great app! I have used it for a while now on both, Windows and Linux. Love it! I have recommended it here on HN in the comments a few times.
muhehe 23 hours ago [-]
Thank you! This is great software. I don't use it much (and recently almost not at all), but I still love. It's fast, it's easy to use. I just checked your website and it looks there are tons of features I didn't know about :). Thanks again.
pie_flavor 17 hours ago [-]
I learned about it just a week ago, and the thing I wanted to do with it worked flawlessly the first time on terribly formatted data. Thank you for your hard work!
confiq 17 hours ago [-]
Where have you been all my life? :)

Seriously, I needed this 10 years ago.

Nickersf 12 hours ago [-]
Thank you very much for this amazing piece of software.
bpiroman 21 hours ago [-]
love it! thank you so much!!
TripleChecker 20 hours ago [-]
[flagged]
bmacho 15 hours ago [-]
It says portable, and

> No need to install or uninstall. Just download, decompress and run.

but the main download button is an installer for windows.

TheRealPomax 15 hours ago [-]
That's why you click on "downloads" which takes you to https://github.com/pawelsalawa/sqlitestudio/releases because a homepage button offers people "the most likely installer their OS/Browser combo suggests they probably want", so you click through the full list of downloads to explicitly pick the version you want. Just like you'd do if you wanted to download the Linux and Mac installers even though you're currently on Windows.
simonw 1 days ago [-]
Screenshots here: https://sqlitestudio.pl/gallery/

It's built in C++ and Qt, is GPL licensed, looks like it's been in development for just under ten years. https://github.com/pawelsalawa/sqlitestudio

googie 1 days ago [-]
Actually the project is much older. It started in 2007. More details on this can be found at https://sqlitestudio.pl/about/
hysan 1 days ago [-]
How does this compare with https://sqlitebrowser.org/ ?
hochmartinez 24 hours ago [-]
I've used both. Sqlitestudio is far more powerful, intuitive and easy to use. Fast and efficient. Flies even in old PCs. In Linux you won't find It in the repositories. You have to download and run a handy installer.
pmarreck 15 hours ago [-]
FYI to anyone on Nix/NixOS, sqlitestudio is available on unstable branch of nixpkgs:

https://search.nixos.org/packages?channel=unstable&show=sqli...

0points 23 hours ago [-]
It's in AUR
Jach 11 hours ago [-]
It's in gentoo's default portage tree
dotancohen 17 hours ago [-]
It's GPL, so why no Debian packaging, if it is popular?
mappu 2 hours ago [-]
The ITP was in 2016, but it seems like it didn't really progress from there - https://bugs.debian.org/827236
shortrounddev2 10 hours ago [-]
Anecdotally, but I see less and less software distributed through apt these days
PeterStuer 24 hours ago [-]
I have been using sqlitebrowser as well. Fairly satisfied, except for the poor 'export to csv' that seems to fail on respecting csv separations in some cases. Does SQLiteStudio handle this correctly?
justinclift 21 hours ago [-]
Do you have the specifics of the failure cases? We (sqlitebrowser.org devs) tend to fix bugs like that when we have a reproducer.
PeterStuer 18 hours ago [-]
Thx for replying here.

My issue had to do with exporting text fields that have multi-line content and then importing that data into Microsoft Excel. I have quickly looked more deeply into this as for now I used a workaround by exporting to JSON.

Upon investigation it does not seem like sqlitebrowser is doing anything explicitly wrong. It quotes texts correctly when necessary, in my case specifically strings that contain 'LF', and does not do it when it is not needed.

The fault lies with the Excel importer that in this case does not correctly derive that it should use QuoteStyle=QuoteStyle.Csv (it uses QuoteStyle=QuoteStyle.None even when you instructed it to base its derivation on the entire dataset. I do not know if any accommodations on the exporting application can (or should) be made to compensate for Excel's import heuristics failures.

P.S. for those running into the same issue (there seem to be many and I have not seen a solution from a quick Goolge that worked), in Excel when doing the import from CSV, select "Transfrom Data", open up the "Advanced Query Editor" and in the first line you will see something like

let Source = Csv.Document(File.Contents("the path to your CSV file"),[Delimiter="#(tab)", Columns=13, Encoding=65001, QuoteStyle=QuoteStyle.None]), ...

Just replace the QuoteStyle.None with QuoteStyle.Csv and you should be good to go.

My apologies to the sqlitebrowser devteam for my initial misconception.

justinclift 8 hours ago [-]
No worries at all. I kind of wonder if using LibreOffice for the initial import -> Save to (say) Excel format would work better, than opening that in Excel?

ie might be easier for people who aren't comfortable changing the default settings in things

PeterStuer 2 hours ago [-]
It is a weird bug given that you explicitly select "Import from CSV file" In Excel, so no guessing should be needed.

And it is not an obscure edge case You find many people across different fora asking about this, and the suggedtions they get are impracticle workarounds (remove the LF before importing) or do not work (add an 'instruction' line to the file explicitly declaring a separator such as sep=;).

Routing through LibreOffice might work, but there could be a large overlap between those unwilling to open the advanced editor and those unwilling to install LibteOffice.

Google sheets could be another option to try, but only for those that do not mind their data leaving premise.

thechao 15 hours ago [-]
Hey! Thanks! Y'all do great work! Your tool is critical to my ability to keep sane.
justinclift 8 hours ago [-]
Awesome, you're welcome. :)
knighthack 1 days ago [-]
That's my Swiss knife.

Super handy in a lot of scenarios, and I use it side-by-side with Jetbrains' DataGrip.

jksmith 1 days ago [-]
My goto as well.
SonOfLilit 23 hours ago [-]
This week I needed to quickly have a peek at what was saved in a testing database, and I wondered "does VisiData support this?" and sure enough

    vd test.sqlite3
gave me a list of tables, right there in the terminal, and choosing a table with arrows and Return showed me the table data in a grid view with all of vd's filtering and sorting commands right there.
hu3 1 days ago [-]
I've been using this client lately: https://dbgate.org

Anyone else?

Oxodao 1 days ago [-]
Just tried it, it might replace DBeaver for me! Vim mode without plugin is amazing. Need a few days to fully try it out
thinker5555 16 hours ago [-]
I just tried it out, but for some reason it's complaining about missing a pivot_vtab module when I try to open an existing database. (MacOS ARM/Ventura)
hochmartinez 1 days ago [-]
I've been using It for several years, in Windows and now in Linux. Fast, slick and very powerful. Flies on my humble Atom laptop. By far the best free sqlite manager. Thanks Paweł Salawa for this great piece of software!
DecoPerson 1 days ago [-]
Be very careful using this over Samba, even with WAL mode enabled. I corrupted an important testing DB this way. Thankfully .recover came to the rescue and only a small amount of data was lost (but the test team had to wait a couple hours for me to bring the test environment back online).
CaliforniaKarl 1 days ago [-]
The WAL journal mode does not work over Samba. See the first disadvantage from https://www.sqlite.org/wal.html:

> All processes using a database must be on the same host computer; WAL does not work over a network filesystem. This is because WAL requires all processes to share a small amount of memory and processes on separate host machines obviously cannot share memory with each other.

The presence of the `-shm` file is one of the signs that the database is currently operating in WAL mode, and must only be accessed from the machine hosting the database file.

Looking at the list of journal modes supported (https://www.sqlite.org/pragma.html#pragma_journal_mode), you should see if the problem happens with the default `DELETE` journal mode.

Also, see https://www.sqlite.org/atomiccommit.html#_broken_locking_imp... for warnings about the SQLite that ships with macOS.

chasil 16 hours ago [-]
That is not the only limitation of WAL mode.

“It is not possible to change the page size after entering WAL mode.”

“In addition, WAL mode comes with the added complexity of checkpoint operations and additional files to store the WAL and the WAL index.”

https://www.vldb.org/pvldb/vol15/p3535-gaffney.pdf

“SQLite does not guarantee ACID consistency with ATTACH DATABASE in WAL mode. “Transactions involving multiple attached databases are atomic, assuming that the main database is not ":memory:" and the journal_mode is not WAL. If the main database is ":memory:" or if the journal_mode is WAL, then transactions continue to be atomic within each individual database file. But if the host computer crashes in the middle of a COMMIT where two or more database files are updated, some of those files might get the changes where others might not.”

https://www.sqlite.org/lang_attach.html

xenodium 21 hours ago [-]
This looks great. For Emacs users, v29 introduced sqlite-mode. I've experimented with some convenience extensions which can be handy for quick sqlite views and edits https://lmno.lol/alvaro/sqlite-mode-goodies
JaggerFoo 1 days ago [-]
Excellent product that behaves as expected and adheres to Sqlite's unique requirements when updating schema objects.
yupyupyups 7 hours ago [-]
I'm very thankful for this tool, it is powerful, doesn't stand in your way and does the job.

It is as others have said, lightwight due to it being build with Qt. The interface is mostly intuitive, and utilizes screen space properly.

If you need an open source SQLite editor, this is a solid choice.

skc 1 days ago [-]
Solid tool. But on Windows it has a tendency to freeze and remain unresponsive if you leave it open without using it for an extended period eg overnight.

It's a minor annoyance

googie 1 days ago [-]
Author here. This was never reported. I haven't noticed it for myself either. Feel free to get in touch through the official email (mentioned on the homepage) or through GitHub issues. I'm in the process of polishing 3.4.x branch, eliminating as many bugs as possible, before focusing on 3.5.0.
skc 19 minutes ago [-]
Cool, will do.
thunderbong 22 hours ago [-]
I've used it for many years. Never faced this problem.
cess11 1 days ago [-]
[flagged]
Temporary_31337 23 hours ago [-]
Then report it via the appropriate channels with as much detail as possible and steps to reproduce. It looks like you are complaining without having even used the software.
cess11 22 hours ago [-]
No, I'm just not going to use the software if I encounter this.
gchamonlive 21 hours ago [-]
You'll have to stick to pen and paper, although pens stop working if you don't use it for an extended period of time, so I guess it's an obvious defect with the product and you shouldn't use it.
cess11 19 hours ago [-]
No, I spend something like ten to sixteen hours a day in front of software that doesn't freeze up just because I don't cuddle it.

I've got some devices behind a NAT I'm lazy with, I reboot them maybe once a year or so.

cztomsik 13 hours ago [-]
You pay for a car. This is free and OSS.
cess11 2 hours ago [-]
Are you sure? Maybe I only borrow the car.

Edit: I apply the same rule to FOSS, of course. If it can't idle or if it freezes up or crashes sporadically or whatever I remove it. I'm old, I don't have the patience for stuff that breaks without good reason.

sirjaz 13 hours ago [-]
This is the way IDEs should be. We should be able to run things locally without the overhead of a webbrowser
pjturpeau 22 hours ago [-]
Very nice "pet" project! I was about to ask what would make it more interesting than HeidiSQL or DB Browser for SQLite and then I remembered those two are crashing on few of my .sqlite files while SQLiteStudio does not!
mey 12 hours ago [-]
Going to give this a try. I use DBeaver occasionally when working with SQLite db's but it's designed for persistent connections so opening random files isn't it's strong suit. (Also JDBC driver for SQLite)
dkjaudyeqooe 17 hours ago [-]
This behaves very strangely on macOS 10.14.6: the installer downloaded from the website immediately logs you out without warning.
googie 15 hours ago [-]
Weird behavior indeed. I don't observe it myself on MacOS 10.11 and I had feedback from couple of other Mac users, where it worked fine - even on older MacOS than yours. I really cannot imagine what could cause your MacOS to log out. Sorry.
Alifatisk 22 hours ago [-]
Is there a tool that allows multiple people to work in the same sql workspace? I thinking an application like mysql workbench but for collaboration where everyone shares the same editor, terminal and everything else.

That would accelerate the brainstorming a lot when working in a team remotely.

djsnoopy 1 days ago [-]
What does this have that the SQLite command line program doesn’t? Because every time I try one of these I go back to the cli.
owobeid 1 days ago [-]
Here's one use case: while I don't use this particular GUI, it really does help when you have some columns containing RTL text such as Arabic and you want to browse through a table. RTL handling in most terminal emulators I've used is really lacking, though I can't blame them.
bilekas 1 days ago [-]
That's actually a really interesting case I had never considered. I actually just took it for granted that RTL in the console was a solved problem
owobeid 22 hours ago [-]
Not just in consoles. While RTL is solved for most cases, I generally avoid writing Arabic in code for example (hard-coded strings, regex, etc) and just use Unicode escape sequences. Some issues include ASCII punctuation appearing (visually) in the wrong order and very awkward text selection
dotancohen 16 hours ago [-]
One day I set out to resolve this, though I can not find in my notes' files what the solution was (for MySQL). It might have been to simply use MyCLI instead of the standard MySQL CLI. Have you tried it?

https://github.com/dbcli/mycli

hochmartinez 23 hours ago [-]
Lots of things! It gives you sqlite superpowers. It makes you more productive and saves you lots if time. You can edit several databases at the same time. And editing them is far easier. For example, it generates and executes the sql code to add new columns for you. You can edit the data of several rows directly on a query response, as if It was a spreadsheet, just by clicking on a column value (or you can use a column value editor). Super handy. You can view and edit blobs. The sql editor has autocompletition and you can execute a statement just by having the cursor on this statement, so you can quickly test multiple independent queries in a single editor window. It shows the execution times, so you can easely compare the speed of several query strategies. You can view the query optimizer info by clicking a button. It supports several scripting lenguajes, and the list goes on and on. Check the features here: https://sqlitestudio.pl/features/
chasil 14 hours ago [-]
This interface is similar to Toad from Quest Software, or SQL Developer from Oracle.

If you don't like either of those, then you likely won't like this.

After a quick search it is possible to load a JDBC driver into SQL Developer.

https://www.reddit.com/r/sqlite/comments/ci1wd2/sqlite_conne...

AstroJetson 6 hours ago [-]
I went from company F to company V, used Toad at F all the time. I was told at V that Toad was not approved nor money for it. So I bought my own copy. Within 6 months all of the DBA team owned copies of Toad, a few months later V bought it for Developers and paid back all the DBA team for their copies.
dagw 23 hours ago [-]
Allows people who are not versed in SQL to interact with and edit sqlite files as if it was a spreadsheet (for better or worse)
kyawzazaw 1 days ago [-]
UI is quite useful to me
googie 1 days ago [-]
For example it has context-aware syntax autocompletion, easy D&D for tables between databases, and many more - you can see longer list at https://sqlitestudio.pl/features/
rmbyrro 23 hours ago [-]
A good alternative to the sqlite cli is litecli [1]. I've been a happy user for quite some time.

[1] https://litecli.com

dayeye2006 1 days ago [-]
Maybe UI
TheRealPomax 15 hours ago [-]
All the benefits of a normal GUI-based DB manager. So "too many things to list, have a look at the website, it should be pretty self-explanatory" =D
emptiestplace 1 days ago [-]
Agreed, rip the band-aid off folks. You will be so glad you did.
23 hours ago [-]
nbevans 17 hours ago [-]
I've been using this tool pretty much every day for almost a decade. It has a few quirks but it is still the best desktop tool for interacting with SQLite databases.
DonnyV 17 hours ago [-]
Just tried it out.

It seems to freeze on Windows with large sqlite views. I have a 89GB sqlite file and it doesn't like it.

sqlite file I used https://btrfs.openfreemap.com/areas/monaco/20241022_231001_p...

googie 16 hours ago [-]
The file you linked is around 388kB in size. Are you sure it's the one you intended to link? I've checked it anyway and I see no problem for SQLite to open and query views from that db file.
bbqbbqbbq 18 hours ago [-]
[dead]
18 hours ago [-]
killingtime74 1 days ago [-]
I just use Datagrip. Works with SQLite and many more dbs
turblety 1 days ago [-]
Datagrip is a paid, proprietary and closed source commercial product.
earthnail 1 hours ago [-]
True, but it’s one of the strongest offerings out there. Not everything has to be OSS. If you work with SQLite professionally (as I do), spending a few bucks on a good tool shouldn’t be a problem.

I still think SqliteStudio is a phenomenal piece of software. Super lightweight, just works, cross-platform… really not a lot to complain about. And incredibly well maintained.

coldcode 19 hours ago [-]
MacOS refused to run the installer on Sequoia. Signing it is not all that hard.
dathery 9 hours ago [-]
Don't you have to pay an annual fee to Apple to sign software? It looks like they have a fee waiver program but for some reason it doesn't cover open source or even let an individual person apply at all: https://developer.apple.com/support/fee-waiver/

I'm not sure it is reasonable to demand that open source devs pay a fee to Apple so that you don't have to right-click the app and whitelist it...

tensor 9 hours ago [-]
I thinks it's very reasonable. They provide an important security service, also the windows equivalent is many hundreds of dollars per year, per application, vs $99 per year which would cover any number of applications.
dathery 9 hours ago [-]
My comment was about whether it is reasonable for random people to demand open source devs pay a platform fee, not about whether the fee itself is reasonable.

Quoting the last line of my comment again with added emphasis in case it was confusing:

> I'm not sure it is reasonable *to demand that open source devs pay a fee to Apple* so that you don't have to right-click the app and whitelist it...

tensor 6 hours ago [-]
Oh yes. For sure. Agree completely.
JaggerFoo 15 hours ago [-]
I use it all the time on Sonoma OS with no problems. I have yet to upgrade to Sequoia due to the numerous reported problems on Reddit.
googie 18 hours ago [-]
You can right-click and run from the context menu, in which case it should start. Contributions are welcomed.
jbverschoor 15 hours ago [-]
Not on Sequoia / Lockdown Mode. Signing is not that hard indeed
TheRealPomax 15 hours ago [-]
Much like all previous versions of MacOS: settings -> privacy and security -> click "open anyway". No need for open source to give in to Apple's signing demands.
jbverschoor 31 minutes ago [-]
In Lockdown mode there's only: "App Store" and "App Store & Known Developers".

There is no "open anyway" button when using Lockdown mode.

edit: interestingly the button suddenly appeared. Perhaps you need to keep the privacy&setting screen open.

nolito 16 hours ago [-]
Same problem here. Also on Seqouia
19 hours ago [-]
Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact
Rendered at 08:52:17 GMT+0000 (UTC) with Wasmer Edge.