Search code examples
mysqlphpmyadmindatabase-managementdatagrip

Phpmyadmin vs Jetbrains Datagrip for database management


I have been working with Phpmyadmin for quite some time and recently i came across Jetbrains Phpstorm and Intellij which i both really liked.

Now i found the database environment Datagrip.

I wanted to know objectively:

  • what are the advantages of Datagrip over Phpmyadmin and vice versa.
  • What does Datagripgive me that Phpmyadmin lacks?
  • What does Phpmyadmin give me that Datagrip lacks?

Solution

  • I am using PhpStorm and Datagrip since February 2017. Before that I was using Dreamweaver and PhpMyAdmin.

    The only thing PhpMyAdmin had an advantage over Datagrip from my perspective, was searching the whole database. But since 2019 Datagrip has a "full text search" which does exactly the same.

    Furthermore:

    • Datagrip is fully integrated into your IDE (PhpStorm, PyCharme, IntelliJ, etc). You don't need to leave it to run any SQL queries.
    • within the SQL console you have access to the "live templates" which let you insert huge code snippets impossible to remember via typing a few letters of the live template name. Before: enter image description here after: enter image description here
    • SQL consoles are saved automatically (by a consecutive number). And you can save them as SQL files to any directory right from the console via ctrl/cmd + s
    • you also have access to the IDE's huge clipboard with (in my case) 100 previously copied text pieces, while each of them can be a whole (SQL) document: enter image description here
    • it so easy to modify a table without writing any queries (table name, column name, foreign keys, indexes, column data type, etc):

    enter image description here enter image description here

    • the tables and search results are super easy to edit and update as if you would edit an Excel table
    • you can assign to /setup on any project as many databases as you like and access them easily
    • you can assign/setup and access any remote database via an SSH tunnel
    • you can assign/setup any type of DBMS:

    enter image description here

    • Datagrip checks the SQL query syntax live, before you even run it
    • this is my IDE setup for testing query time on two identical sites running on different server setups (the one on nginx/mysql and the other one on Openlitespeed/Mariadb):

    enter image description here

    All that you get only for a couple of bucks! I pay now for PhpStorm only 80€ annually! I pay often much more for a single site license of some shitty wordpress plugin! But get a really really high quality software product with PhpStorm. Seriously, probably the only company I would LOVE to work as employee (being freelancer throughout my whole dev "career") is probably JetBrains. It seems as they can read my thoughts :D. Sure there are some few minor issues. But any time they bring out a new version I am excited as a child.

    No I'm not paid by JetBrains :D And no I don't hype them because I'm Russian. At the time I felt in love with them I thought it is a Czech company with a bunch of Russian devs (nothing unusual in Europe). And Czech's in general don't like Russians. So I loved them even I thought they wouldn't love me :D Only a year after I've switched from Dreamweaver to PhpStorm I've found out it is a fully Russian company.

    The only thing I hate in Datagrip is that the SQL console output shares for any reason a tab/window with Docker (dafuq?) and it is a huge pain in the as* to navigate between multiple query outputs/results (as in the example above where I compare the performance of two servers)

    Update: the only flaw of Datagrip from my perspective (pain in the as* to switch between console outputs) has gone now as well! :D I've found a setting by which you can just simply open a "services" tree (Command + Shift + T) which list all the active/latest "services". I still don't understand why the Datagrip console output doesn't have a dedicated window, but at least I can now navigate easily between the different console's output: enter image description here