Графический SQL-клиент

Я всегда использовал MySQL (или MariaDB, что, по сути, одно и то же) из собственного интерфейса командной строки, который отлично работает. Но недавно мне стал нужен одновременный доступ как к MySQL, так и к Redshift на работе (в Windows 10), и кто-то предложил мне использовать DBeaver , графический интерфейс для одновременного нескольких подключений в нескольких вариантах SQL. Я начал использовать его, и он открыл мне глаза на чудеса графического интерфейса. Я могу просмотреть список столбцов, индексов и т.п., не открывая новое окно командной строки и не прокручивая несколько страниц назад! Чудеса современной техники, скажу я вам.

Но у DBeaver есть один существенный недостаток, который постепенно сводит меня с ума. Каждый раз, когда мне нужно экспортировать полный набор результатов запроса в CSV или тому подобное, я должен иметь возможность щелкнуть правой кнопкой мыши, выбрать «Экспорт из запроса» и сделать это. Вместо этого «Экспорт из запроса» обычно неактивен. Иногда это не так, и мне удается экспортировать набор результатов, но, похоже, это зависит от… я не знаю от чего. Фаза луны, может быть?

Поэтому ищу альтернативу. В частности, я хотел бы альтернативу:

  • работать на Windows 10 (обязательно)
  • быть свободным ( как пиво ) (очень желательно)
  • быть бесплатным (например, пиво) или дешевым (например, пожертвования) (обязательно)
  • разрешить доступ к MySQL и Redshift на разных серверах (обязательно)
  • не требовать ввода пароля при каждом подключении (предпочтительно)
  • разрешить экспорт в CSV (или с разделителями табуляцией или вертикальной чертой и т.п.) (обязательно)
  • разрешить запросам комбинировать две разновидности SQL на двух серверах, например where foo in({server_alias: query})(очень предпочтительно)
  • выделить синтаксис (предпочтительно)
  • … Я достаточно новичок в графических интерфейсах SQL, поэтому даже не знаю, какие дополнительные функции искать
Поскольку DBeaver идеален, за исключением проблемы с «фазой луны», вы связывались с автором или писали на его форуме?
@Mawg не идеален, за исключением этого: он также не «позволяет запросам комбинировать две разновидности SQL на двух серверах», что я считаю «очень предпочтительным».
Возможно, вы холодно просите их добавить новую функцию? По моему опыту, разработчики программного обеспечения (к которым я отношусь) стремятся добавлять новые функции, которые просят пользователи. Хотя, если честно, я сомневаюсь, что вы когда-нибудь найдете что-нибудь, чтобы комбинировать запросы как хотите.

Ответы (2)

Я бы порекомендовал проверить MySQL Workbench . Он бесплатный и работает в Windows 10. Он позволит вам подключаться к нескольким БД и, среди прочего, сохранять пароли для входа в систему.

Вот это мне тоже сразу пришло в голову. Я использовал его в прошлом (недостаточно, чтобы написать достойную рекомендацию), но я знаю, что он поддерживается и расширяется уже много лет.
Спасибо! Есть идеи, какие из других функций, которые я упомянул, у него есть?
Пожалуйста, добавьте галочку/крестик для каждого требования маркера. Кроме того, неплохо было бы сделать скриншот. Спасибо!

Как бы мне ни нравился Mysql Workbench, я предпочитаю функции HeidiSql.

Free for everyone, OpenSource since 9 years of active development.
Connect to multiple servers in one window
Connect to servers via commandline
Connect via SSH tunnel, or pass SSL settings
Create and edit tables, views, stored routines, triggers and scheduled events.
Generate nice SQL-exports, compress these afterwards, or put them on the clipboard.
Export from one server/database directly to another server/database
Manage user-privileges
Import text-files
Export table rows as CSV, HTML, XML, SQL, LaTeX, Wiki Markup and PHP Array
Browse and edit table-data using a comfortable grid
Bulk edit tables (move to db, change engine, collation etc.)
Batch-insert ascii or binary files into tables
Write queries with customizable syntax-highlighting and code-completion
Pretty reformat disordered SQL
Monitor and kill client-processes
Find specific text in all tables of all databases of one server
Optimize and repair tables in a batch manner
Launch a parallel mysql.exe command line window using your current connection settings
And much more

Обязательный скриншот:введите описание изображения здесь

Если вы запускаете локальный сервер (может Xampp под Windows?), то наверняка знаете phpMyAdmin ; Я предпочитаю один файл PHP, который легко переключается между серверами баз данных. Администратор ( почему Adminer лучше, чем phpMyAdmin? )

Connect to a database server with username and password
Select an existing database or create a new one
List fields, indexes, foreign keys and triggers of table
Change name, engine, collation, auto_increment and comment of table
Alter name, type, collation, comment and default values of columns
Add and drop tables and columns
Create, alter, drop and search by indexes including fulltext
Create, alter, drop and link lists by foreign keys
Create, alter, drop and select from views
Create, alter, drop and call stored procedures and functions
Create, alter and drop triggers
List data in tables with search, aggregate, sort and limit results
Insert new records, update and delete the existing ones
Supports all data types, blobs through file transfer
Execute any SQL command from a text field or a file
Export table structure, data, views, routines, databases to SQL or CSV
Print database schema connected by foreign keys
Show processes and kill them
Display users and rights and change them
Display variables with links to documentation
Manage events and table partitions (MySQL 5.1)
Schemas, sequences, user types (PostgreSQL)
Extensive customization options

[Обновление] Вот снимок моего входа в систему администратора с выбором двух запомненных сайтов. Я решил даже не пытаться сохранять пароли из соображений безопасности и не буду пытаться делать это за вас по этой причине. Пожалуйста, попробуйте и дайте нам знать.

введите описание изображения здесь

Спасибо! Я не запускаю локальный сервер и не уверен, какое отношение PHP имеет к SQL. В любом случае, знаете ли вы, как эта программа справляется с другими критериями, которые я перечисляю, например, «разрешить запросам объединять две разновидности SQL на двух серверах» и «не требовать ввода пароля при каждом подключении» и «запускать в Windows 10"?
Вам нужен сервер для интерпретатора PHP. Загрузите Adminer на любой сервер, которым вы управляете, или XAMPP — это просто установить и забыть. Честно говоря, я сомневаюсь, что вы найдете что-нибудь, чтобы комбинировать запросы так, как вам хочется. Я использую Windows 10. Если вы используете только один сервер, вы можете «запомнить» настройки и не нужно вводить пароль. Я не уверен, что вы можете ввести пароли для нескольких настроек, а затем выбрать из раскрывающегося списка (есть раскрывающийся список предыдущих сеансов). Однако, поскольку Adminer работает в браузере, вы должны иметь возможность запоминать пароли в браузере.