Please enable Javascript to view the contents

免费的数据库管理工具

 ·  ☕ 9 分钟
    🏷️

免费的数据库管理工具

几款现代化风格免费工具:

  • HeidiSQL :支持 MariaDB,MySQL,Microsoft SQL 和 PostgreSQL数据库;功能较多;只支持Win平台。(主题展示 )(推荐👍🏻️)
  • Falcon SQL Client :支持大量SQL数据库,还支持部分 NoSQL数据库;支持 Windows 和 Mac 平台
  • SQL Operations Studio:只支持 SQL Server, Azure SQL DB。 Windows, MacOS, Linux。
  • Azure Data Studio :只支持 SQL Server, Azure SQL DB and SQL DW;跨三大平台。
  • TablePlus 支持主流数据库,还支持 Redis 、mongoDB。付费软件,每台设备 $59;免费版只能同时打开两个标签页、两个窗口、两个高级过滤器。跨三大平台,同时支持 IOS,但Linux版只支持MySQL、PostgreSQL几个开源数据库。

在Windows中可以分别通过 scoop 进行安装:

scoop install heidisql
scoop install sqlopsstudio
scoop install falcon-sql-client

几款基于JDBC的客户端:

某位大牛介绍的三个开源程序:

  • DBeaver;安装包30M,功能也较强,界面与eclipse一样(基于eclipse平台开发,所以占用内存多)。(另企业版不开源但仍然免费)网站,易于使用,直接就可以从maven下载各个驱动。
  • SQuirreL SQL Client;安装包50M,功能多,支持代码补全,可以在不同(一些)数据库程序间复制数据等网站
  • SQL Workbench/J ;安装包5M,另可安装支持导出Excel的包,18M。SQL Workbench/J uses standard Java/JDBC calls to the databas,所以连接相应的数据库时需要下载该数据库的JDBC driver,就可连接参照

以上3个它们都是使用JDBC连接数据库,这意味着可以支持几乎所有数据库。也就是说它们都需要指定JDBC driver的目录。内存占用量DBeaver最多,SQL Workbench/J最少(375M –> 264M –> 187M)。

HeidiSQL

支持代码补全:快捷键为 Ctrl + 空格。但在 Windows 中该快捷键被输入法占用,如果你想更改 输入法占用的 Ctrl + 空格 ,恭喜你成功入坑。

加载 SQL 文件后该 SQL文件会占用一个标签页,并且并没有显示关闭按钮,但我们可以双击该标签页来关闭它。

工具 👉🏻️ 首选项,中可以对其进行配置,比如:

  • 修改字体:修改界面字体后并不会立即生效,需要重启后才能看到显示小狗
  • 设置快捷键
  • 更改主题

更改快捷键:

  • 提交数据:默认为 Ctrl + Enter,可以更改为 Ctrl + Shift + Enter
  • 运行当前查询:默认为 Ctrl + Shift + F9 更改为 Ctrl + Enter
  • 格式化:更改为 Ctrl + Alt + L
  • 取消添加注释:更改为 Ctrl + /

但是并没有找到代码补全的快捷键更改的位置。

SQL Workbench/J

这个软件还行,另外在Windows中还可选择通过 scoop 安装:

1
scoop install sql-workbench

建立连接

在确保安装了java(需设置环境变量 JAVA_HOME:D:\Program Files\java\jdk1.8),可以访问远程mysql服务器,并且用来连接的用户有进行远程连接等权限的情况下的配置:

  • 官网下载软件包,在windows中可以使用scoop安装
  • 下载对于数据库的JDBC driver,参照(有完整驱动下载列表)
  • 运行 sqlworkbench ,**.sh**.bat
  • 首次运行,在弹出的Select Connection Profile对话框中,先选择"Manage Drivers"为其指定 JDBC driver的路径 (下面有图) ;之后再配置 URL ,比如jdbc:mysql://127.0.0.1:3306(省略了数据库)
  • 如果MySQL配置正确就可以顺利连接。
  • 如果出现如下错误(MySQL配置问题)(它显示在命令行): (最终解决方法见后面)
WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.

在对话框中显示的是 Plugin "*61....22" is not loaded,则需要更改URL,在URL中添加一些选项;它看起来的样子应该是这样(但这样应该并不是很安全):

jdbc:mysql://localhost:3306/databaseName?autoReconnect=true&useSSL=false

好吧之后又出现连接错误,大概意思是:“不能与数据库服务器创建连接,尝试3次连接后,放弃”。

最后的解决办法,就是让root用户有远程连接的权限,这样上面说的都不用改。

如果想让mysql使用ssl进行登录,参考 1, 2

如何为CentOS 7上的MySQL启用SSL和远程连接

最后如果你使用的是MySQL数据库且下载的 JDBC driver版本是 mysql-connector-java-8.0.11.jar 及以上,那么建议 classname 选择 com.mysql.cj.jdbc.Driver

数据库相关.SQL Manage Drivers.png

基本使用方法,设置

模仿付费软件的部分功能:

  1. 直接浏览建表语句和数据:方法一,点击工具栏中的 Show The Database Explorer图标;方法二,在标签页中右键选择Add DbExporer;方法三,通过Tools菜单,可以选择在一个单独的窗口中查看(很爽)(还可以在选项中设置DbExplorer,比如我喜欢勾选"Remember column order")
  2. 左边显示 Db Tree(用处不是很大):点击工具栏中的 Show Db Tree 按钮

下面的设置如果有必要就进行设置一下:

  1. 右键点击Tab标签页的头部,选择另存为文件(如果有必要)。
  2. “Tools” –> “configure toobar”。比如添加Reformat SQL按钮。
  3. 选项中的Data display中设置输出结果的显示:Row Height设置行高,默认它只显示一行,比如:可以设置最大为2行。Bold headers加粗列名;show row numbers显示行号。Column Width设置最大列宽为 550。
  4. 设置快捷键 ctrl + / 为注释本行。 行内注释以 -- 开头(注意其末尾还有个空格)
  5. 设置字体。
  6. 保存工作空间。

Tools --> Options... 中的相关设置:

Genera:

  • Auto-Save connection profiles . 自动保存profiles

Workspace:

  • Auto-Save workspace: 自动保存 workspace

Editor:

  • file format 文件格式化
  • Encoding:文字编码。(Windows中默认是GBK)这里改成 utf-8。

Fonts:

  • Editor font:选择 YaHei Consolas Hybrid, 14字体可以解决编辑器中文乱码问题

Data display:(设置查询结果的显示格式)

  • show row numbers:显示行号
  • Display sql query:在头部显示该数据的查询语句
  • Append results:追加结果数据
  • use table name for result tabs:使用表名作为结果标签页的名称
  • Bold headers (Column headers):列头部以粗体显示
  • show remarks in header :在结果标题中包含列注释

相关技巧:

  • 保留当前标签页的显示结果: 右键点击显示结果的窗口头部,选择 “keep result”
  • 先查询某表的所有数据,再将其固定到标签页,以实现其它工具中检索所有表中数据的功能
  • 自动刷新结果: 同样在该右键菜单中选择 “refresh automatically”

快捷键:

设置快捷键:

Command Shortcut 描述
Editor: start of line Shift-Enter
Toggle Comment Ctrl - / 或 ctrl - slash 添加注释
SQL insert Ctrl - Q
Insert Row Shift-Enter

修改后记得保存工作空间。

  • ctrl + r 格式化SQL语句

Connection Profile:(连接界面)

  • Confirm DML without Where
  • Save password
  • Empty string is NULL

对于SQL Workbench/J 的一些导出功能,比如导出为html等,需要另外下载 插件包,大概20M;见官网。

SQuirreL SQL Client

支持中文。版本为 snapshot-20160731 即 Version 3.7.1

建立连接

连接MySQL时的问题,指定驱动程序: “驱动程序”–> “MySQL Driver”–>右键"修改驱动程序" –>“附加类路径”–>“指定下载的驱动jar包”–>“列出驱动程序” 此时:

  1. 如果下载的是驱动包是 mysql-connector-java-5.1.39-bin.jar,则只会列出 com.mysql.fabric.jdbc.FabricMySQLDriver 这个类。(而使用SQL Workbench/J时会列出两个类的,我们需要的是另一个类com.mysql.jdbc.Driver)解决办法是下载旧版本的驱动。
  2. 下载mysql-connector-java-5.0.8-bin.jar,就会列出com.mysql.jdbc.Driver。

另见Loading the Driver and Requesting a Fabric Connection 但是我还是没有解决问题。

好吧连接后还是有问题,说sql语法有错,不知是怎么回事?比如: show databases; show tables; use table_name; 都提示错误。 错误消息:

Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_SELECT_LIMIT=100' at line 1
SQLState:  42000
ErrorCode: 1064

这里有一个相同的错误报告

Stack owerflow上同样的问题

解决办法:

  1. 先使用这条语句,查询结果值: show variables where variable_name = ‘sql_select_limit’; 尝试将该值设置为: try setting it to UINT32_MAX max value 4294967295. set sql_select_limit = 4294967295; Default is supposed to be UINT64_MAX(18446744073709551615). 试了下没用。
  2. 另一个是让升级driver。Try upgrading your JDBC MySQL driver. 他认为这是JDBC MySQL driver 的一个bug。

以上都是废话:
最后解决方法是在Maven 下载新的Driver,还可以找一下有没有新版。

功能还是挺强的,比如可以进行代码补全,可以查看数据库可以使用哪些函数。

基本使用方法,设置

界面丑不要仅,可是本来屏幕很小了,图标太多…留下的编辑区域太小;而且使用输入法时,输入法的弹出框的上边缘是在该软件的下边缘的。

调整界面: 文件 – 全局设置 – 常规选项卡下,依次取消 “显示主窗口工具条” “显示主窗口状态栏” “在工具条上显示彩色图标”。重启程序。

文件 – 全局设置 – 常规选项卡下, 会话属性设置的 常规选项卡下,设置外观;SQL选项卡下设置字体。

如何使用代码补全:

  • 在 SQL 标签页,默认只显示一行,可以往下拉;按 Ctrl + T 可弹出工具提示框,在提示框中可以看到,代码补全的快捷键是 Ctrl + 空格(但是在Windows中它被输入法占用,所以无法使用,使用7zip 打开安装目录下的 ./plugins/codecompletion.jar , 右键点击编辑 Resources.properties文件修改文件中的 control SPACE 为 其它快捷键,比如 control alt SPACE(就用它了) ;我想设置为 alt / 但是不生效,尝试了多次浪费了半个小时,带符号的不生效,各种不生效。

  • SQuirreL SQL Client使用入门1

  • SQuirreL SQL Client使用入门2—插件使用

  • SQuirreL SQL Client使用入门2—插件使用2

卸载:在其安装目录下有一个 Uninstaller ,执行即可卸载。

Oracle客户端相关

以下是自己找的两个对Oracle支持性比较好的,都对PL/SQL有所支持。:

这两者应该都需要事先安装有Oracle Client. (放弃)

JDBC连接步骤:

jdbc驱动下载: 要下载的文件为 **ojdbc6.jar ** ,看准版本。

Oracle 连接参考: How to Connect to Oracle via JDBC JDBC

连接URL: 默认端口为 1521

  • 服务端运行命令:
  # 假设一切都是默认设置
  dbstart            #开启数据库
  lsnrctl start    #开启默认监听器(事先使用netca进行过配置)
  • 下载ojdbc6.jar包(只要是11g R2的都行,这里下载11g的最新版)
  • 在SQL客户端中添加该驱动
  • 配置URL;比如: jdbc:oracle:thin:@//127.0.0.1:1521/ORA11G
  • 用户名:sys 。当选择使用oracle用户是出现错误,或者尝试使用system用户,或其它用户。

Oracle client

有两种类型,其中一种是轻量级。 太大了无需下载, 650M。

下载网站地址 前两个是client,还有一些是额外支持的附加包。

客户端安装指南: Database Client Quick Installation Guide Client Installation Guide 11g Release 2 (11.2) for Linux

您的鼓励是我最大的动力
alipay QR Code

Felix
作者
Felix
如无必要,勿增实体。

3

目录