干掉Navicat:正版 MySQL 官方客户端真香!
如果使用Navicat的话,避免不了需要到处寻找破解版,或者license(笔者很肯定的说,没有几个人会购买正版Navicat的license)。个人使用暂且不提,如果是公司内使用,还是有法律风险的。
所以,我们何不寻找一个完全开源免费、不受任何限制的MySQL客户端来使用呢?正好MySQL官方就有一个这样的产品:MySQL Workbench。
开源协议
MySQL Workbench社区版遵循GPL开源协议,GPL协议描述:http://www.gnu.org/licenses/old-licenses/gpl-2.0.html。简单的总结就是:遵循GPL协议的软件允许你免费使用、分享以及修改。
GPL是一个具有传染性“传染性”的协议,它的“传染性”在于:只要在一个软件中使用(”使用”指类库引用,修改后的代码或者衍生代码)GPL 协议的产品,则该软件产品必须也采用GPL协议,既必须也是开源和免费,不允许修改后和衍生的代码做为闭源的商业软件发布和销售。我们所熟悉的Linux就是采用了GPL,而Android是基于Linux的,所以Android操作系统也必须是开源和免费的!
初体验Workbench
接下来让我们体验一下MySQL Workbench,看它是否有足够的能力来替代Navicat。首先去官方网站下载:https://dev.mysql.com/downloads/workbench/ 。安装后,打开得到如下界面:
Workbench
我们想新建连接的话,只需要点击“MySQL Connections”旁边的“+”即可(MySQL Workbench只支持MySQL,而Navicat能支持MySQL、SQLite、Oracle等多种数据库),然后输入Hostname,Port,Username,Password等目标数据库信息:
接下来点击“Test Connection”检查填入的信息是否正确,如果没有任何问题,就会弹出“Successfully made the MySQL connection”,即表示你成功的创建了MySQL连接:
探索Workbench
设置默认schema
我们一般设置一个MySQL连接的话,是希望操作它时,能直接进入我们的目标数据库,比如笔者的MYSQL服务器上有好几个数据库:leaf、tinyid等。如果希望我创建的连接,每次操作时直接进入tinyid这个库的话,只需要在设置连接属性时,设定“Default Schema”即可:
模糊搜索表
Navicat中,如果想在目标库中模糊搜索某个表(假如带有info的表名)的话,只需输入info即可。但是MySQL Workbench中的语法比较复杂,需要输入.*info*
才行:
增删改查
接下来说一下如果对表中的数据进行增删改查。以新增id=3这行数据为例,填入数据后,点击右下角的“Apply”。点击“Apply”后,会出现这次新增数据对应的SQL,再次点击“Apply”即可:
执行日志如下:
数据预览
如果我们想预览表中部分数据的话,需要右键点击表名,然后选择“Select Rows - Limit 1000”:
三大功能键
在点击表名后,就可以显示下图中三个功能键,第一个表示得到表的详情,例如:列信息,索引信息,DDL等。第二个功能键是用来修改表结构的,即我们常说的DML操作。第三个功能键是查看表数据(即上一段落说的数据预览),并可以对其进行增删改查:
- 段永朝:天性,互联网的灵性回归
- objective-C中的Class(类类型),Selector(选择器SEL),函数指针(IMP)
- 数据中心进水了怎么办?数据中心如何防洪?
- 戴若犁:虚拟中的现实
- kvm虚拟化管理平台WebVirtMgr部署-完整记录(1)
- objective-C中如何判断一个类中有没有定义某个方法
- Steve Boswell:智能口罩让PM2.5滚蛋
- kvm虚拟化管理平台WebVirtMgr部署-完整记录(2)
- objective-C中的扩展方法与partial class
- 仿优酷Android客户端图片左右滑动(自动滑动)
- objective-C: NSString应该用initWithFormat? 还是 stringWithFormat?
- objective-C 的内存管理之-实例分析
- Tim Berners-Lee:网络的自由和开放
- android防止内存溢出浅析
- MySQL 教程
- MySQL 安装
- MySQL 管理与配置
- MySQL PHP 语法
- MySQL 连接
- MySQL 创建数据库
- MySQL 删除数据库
- MySQL 选择数据库
- MySQL 数据类型
- MySQL 创建数据表
- MySQL 删除数据表
- MySQL 插入数据
- MySQL 查询数据
- MySQL where 子句
- MySQL UPDATE 查询
- MySQL DELETE 语句
- MySQL LIKE 子句
- mysql order by
- Mysql Join的使用
- MySQL NULL 值处理
- MySQL 正则表达式
- MySQL 事务
- MySQL ALTER命令
- MySQL 索引
- MySQL 临时表
- MySQL 复制表
- 查看MySQL 元数据
- MySQL 序列 AUTO_INCREMENT
- MySQL 处理重复数据
- MySQL 及 SQL 注入
- MySQL 导出数据
- MySQL 导入数据
- MYSQL 函数大全
- MySQL Group By 实例讲解
- MySQL Max()函数实例讲解
- mysql count函数实例
- MYSQL UNION和UNION ALL实例
- MySQL IN 用法
- MySQL between and 实例讲解
- ubuntu搭建常见开发环境
- 基于 Kubernetes,Helm 及 Jenkins 实现弹性 CI/CD
- Go by Example 中文版: 读文件
- Apache Shiro权限框架理论介绍
- 【技术创作101训练营】Linux服务器的晴雨表—top命令
- 微服务之间的通信的方式
- Python从入门到熟练(7):函数
- Django调用百度地图api在地图上批量增加标记点
- Spring Cloud Config - 统一配置中心
- 从头分析一则traceId穿透问题(附解决方案)
- openldap的介绍与安装
- docker搭建环境如何配置端口
- Go语言入门(二)-流程控制
- 【Java8新特性】02 函数式接口和Lambda表达式实战练习:环绕执行模式使行为参数化
- Go语言入门(三)数组和切片