当前位置:首页 > 公众号精选 > 架构师社区
[导读]前言对于开发、测试、DBA、运维来说,数据库再熟悉不过了。很多时候,我们需要在本地电脑上,直接连接开发或测试环境的数据库,方便对数据进行增删改查。当然很多数据库都提供了自带的客户端,比如mysql的客户端是这样的:用过的人基本都会吐槽,太low了,极其不好用。写sql语句不方便,...

前言

对于开发、测试、DBA、运维来说,数据库再熟悉不过了。

很多时候,我们需要在本地电脑上,直接连接开发或测试环境的数据库,方便对数据进行增删改查。当然很多数据库都提供了自带的客户端,比如mysql的客户端是这样的:

使用了这个数据库神器,让我工作效率提升了数倍
用过的人基本都会吐槽,太low了,极其不好用。

  1. 写sql语句不方便,没有提示功能,特别是如果sql语句比较复杂,不能格式化,会看得人头皮发麻。
  2. 看数据不方便,如果数据比较多,整屏的数据显得有点凌乱。如果字段中包含json格式的数据,基本看不了。
  3. 对表的dml和ddl操作,都必须通过命令,低效率,而且容易出错。
  4. 很难看出表和表之间是怎样关联的。
  5. 导入导出数据就更不方便了。
有没有一款好用的工具,让我们能更高效的操作数据呢?

这就是今天我要推荐给大家的数据库神器:Navicat Premium

下面我们一起看看Navicat Premium有哪些牛逼的功能。

1. 支持多种数据库

在连接数据库之前,我们需要知道Navicat Premium支持哪些数据库。

点击工具栏中Connection上的加号使用了这个数据库神器,让我工作效率提升了数倍就会弹出如下窗口:使用了这个数据库神器,让我工作效率提升了数倍从图中它支持7种常规数据库,包括我们经常使用的mysqlsql serveroracle,还有mongodb等。此外,还支持8种数据库云。

2. 轻松管理连接

2.1 连接数据库

之前我们通过mysql客户端连接mysql服务端时,需要通过命令行,比如:

mysql -h127.0.0.1 -uroot -p123456;
每次都需要输入连接地址、用户名、密码,不觉得烦吗?

恭喜你,Navicat Premium自带保存密码的功能:使用了这个数据库神器,让我工作效率提升了数倍只需第一次连接数据库时配置:Connection Name、Host、Port、User Name,然后勾选 Save password即可。

以后就能通过界面双击Connection Name,直接访问数据库了:使用了这个数据库神器,让我工作效率提升了数倍nice。

2.2 显示指定实例

有时候,同一个数据库连接下的实例很多,但只有少部分是我们真正需要关心的。我们想要过滤出这部分我们关心的实例,该怎么做呢?如果每次都从上百个实例中找一个,会不会有点太浪费时间了?

这时可以在databases tab页下勾选 Use custom database list:使用了这个数据库神器,让我工作效率提升了数倍勾选我们想看到的数据库实例。

这样重新访问数据库连接的时候,会发现左边实例列表中只展示了,我们选择的数据库实例。使用了这个数据库神器,让我工作效率提升了数倍

3. 方便查询表信息

以前我们查看某个数据库实例拥有哪些表,一般通过如下命令:

show tables;
使用了这个数据库神器,让我工作效率提升了数倍
不好意思,那已经是过去式了。

现在只需双击Tables节点,展开即可。除此之外,还能非常直观的看到试图、函数、事件、备份等功能。

如果想看数据,选中双击某张表就可以了:使用了这个数据库神器,让我工作效率提升了数倍

如果想看表信息,可以通过右边的窗口:使用了这个数据库神器,让我工作效率提升了数倍里面能清楚的看到表中的这些信息:记录行数、数据占用磁盘空间的大小、存储引擎、创建日期、修改日期、字符集等。

如果想看表结构,只需切换成ddl选项:使用了这个数据库神器,让我工作效率提升了数倍这样就能看到该表完整的ddl语句。

比如:之前已经在dev环境创建了表,通过该功能快速获取ddl语句,然后复制到st环境执行,简直太棒了。

当然我们通过如下命令:

show create table jump_log;
也可以看到同样的效果,但是在Navicat Premium中只需动动鼠标就能搞定,确实更方便。

4. 数据库实例的ddl操作

通常情况下,我们对数据库的ddl操作,其实不多。创建了数据库,很少去修改和删除。这些操作虽说有点食之无味,但确实弃之可惜。

右键单击某个数据库实例,就会弹出如下窗口:使用了这个数据库神器,让我工作效率提升了数倍

里面包含了数据库实例的:创建、修改和删除操作,同时还能打开、关闭该实例。

4.1 数据库的创建和修改

创建和修改实例时,只需要输入以下三个字段:使用了这个数据库神器,让我工作效率提升了数倍

4.2 mysql客户端

在右键单击某个数据库实例,出现的弹窗中如果选择Console,能调出mysql客户端:使用了这个数据库神器,让我工作效率提升了数倍

4.3 执行外部脚本

如果选择Execute SQL File,能执行外部的sql脚本:使用了这个数据库神器,让我工作效率提升了数倍

4.4 表导出

如果选择Dump SQL File,能导出所有表的数据:使用了这个数据库神器,让我工作效率提升了数倍目前支持两种:

  1. 导出表结构 和 数据
  2. 只导出表结构
最终会导出到xxx.sql文件中:使用了这个数据库神器,让我工作效率提升了数倍从图中看出,它最终生成的是能直接执行的sql脚本,如果选择的是Structure Data,则它里面既包含表的创建语句,又包含数据初始化语句。而如果选择的是Structure Only,则sql脚本中只会包含含表的创建语句。

4.5 打印数据库

如果选择print database,能生成pdf文件:使用了这个数据库神器,让我工作效率提升了数倍里面包含了表的信息,方面打印出来。

4.6 转换model

如果选择Reverse Database To Model,能弹窗表的model窗口:使用了这个数据库神器,让我工作效率提升了数倍表的名称、表的字段,已经表之间的关联关系,通过这个model窗口能够非常直观的看明白。这个功能有点强喔。

4.7 找到数据

如果选择Find in database,能从整个数据库实例的所有表中,查找某个关键的数据:使用了这个数据库神器,让我工作效率提升了数倍比如由此有个需求,要将数据库中所有的域名A,替换成域名B。以后我们需要查所有表的所有字段,是否包含域名A,然后才能找出有哪些表需要修改数据,相当麻烦。但如果有了Navicat Premium的这个查找功能,能够迅速减少我们的工作量。哇塞,太厉害了吧?

5. 表的ddl操作

相对于数据库实例的ddl操作,表的ddl操作使用频率会更高一些。选中某张表右键点击一下,就会弹窗如下窗口:使用了这个数据库神器,让我工作效率提升了数倍

如果选择Open Table,会弹出查看数据的窗口:使用了这个数据库神器,让我工作效率提升了数倍这个功能后面会详细说。

5.1 表的设计窗口

如果选择Desgin Table,会弹窗表设计窗口,默认的tab是Field:使用了这个数据库神器,让我工作效率提升了数倍在这个窗口中我们能定义表的字段,包含:字段名称、字段类型、字段长度、字段精度、是否允许为空、是否主键、字段描述、设置默认值等等。

它支持的字段类型有:使用了这个数据库神器,让我工作效率提升了数倍实在太多了,列举不完。

如果在该窗口中选择Index tab页,则会弹出索引设计窗口:使用了这个数据库神器,让我工作效率提升了数倍在这个窗口中我们能定义:索引名称、所属字段、索引类型、索引方法和索引描述等。此外,还可以建立:全文索引、普通索引、唯一索引等多种索引。

如果选择Options tab页,则会弹窗表信息的窗口:使用了这个数据库神器,让我工作效率提升了数倍可以设置存储引擎、字段增长基础值、字符集等属性。

Comment选项主要是为了描述一下该表的功能,由于过于简单,此处省略截图了。

如果选择SQL Preview,也能看到该表完整的ddl语句:

使用了这个数据库神器,让我工作效率提升了数倍

5.2 表的删除

上面重点介绍的是表的设计窗口,通过它我们能创建和修改表,那么表的删除呢?

主要是通过如下三个功能实现的:使用了这个数据库神器,让我工作效率提升了数倍

  1. Delete Table:物理删除表
  2. Empty Table:清空表中的数据,但表任然保留
  3. Truncate Table:逻辑删除表

5.3 表的复制

有时候,我需要复制某张表,做备份。或者为了节省时间,基于某张已有的表创建新表。如果选择Duplicate Table,会出现如下选项:使用了这个数据库神器,让我工作效率提升了数倍

如果接下来选择:Structure Data,则表示复制表结构和数据,数据库会自动创建一张新表:

使用了这个数据库神器,让我工作效率提升了数倍
里面包含的数据跟原表一样:使用了这个数据库神器,让我工作效率提升了数倍

如果选择:Structure,则只复制表结构,数据库也会自动创建一张新表,但数据是空的:使用了这个数据库神器,让我工作效率提升了数倍

5.4 数据导入

在实际工作当中,我们经常需要导入数据。

比如有一批新的用户数据需要导入数据库,这时可以选择Import Wizard,会弹如下窗口:使用了这个数据库神器,让我工作效率提升了数倍目前Navicat Premium允许导入文件格式包括:dbf、db、txt、cvs、xls、xlsx、xml、json等。

我们以excel文件为例,假设现在接到需求,有这样的数据需要导入数据库:使用了这个数据库神器,让我工作效率提升了数倍

可以新加一张表字段跟其对应:使用了这个数据库神器,让我工作效率提升了数倍然后选择刚刚的excel文件上传:使用了这个数据库神器,让我工作效率提升了数倍当然还需要选择该excel文件中的sheet,对应具体上传到哪张表:使用了这个数据库神器,让我工作效率提升了数倍接下来,还需选择excel文件的字段相对应的表中的字段:使用了这个数据库神器,让我工作效率提升了数倍然后发现已经导入成功:使用了这个数据库神器,让我工作效率提升了数倍查一下表,已经有数据了:使用了这个数据库神器,让我工作效率提升了数倍

5.5 数据导出

在实际工作当中,数据导出的需求偶尔也会遇到。

这时可以选择Export Wizard,会弹如下窗口:使用了这个数据库神器,让我工作效率提升了数倍我们选择导出到SQL script file中,然后会弹窗如下窗口:

使用了这个数据库神器,让我工作效率提升了数倍可以选择要导出的表和对应的sql文件名称。

接下来,选择要导出的字段,允许只导出某些指定字段:使用了这个数据库神器,让我工作效率提升了数倍然后发现已经导出成功:使用了这个数据库神器,让我工作效率提升了数倍在这个路径下多了一个category.sql文件:使用了这个数据库神器,让我工作效率提升了数倍其内容是很多insert语句,这不是我们一直想要的初始化脚本吗?

6. 表的查询操作

查询操作可能是数据库中用得最多的操作,因为绝大多数功能,都是读多写少。

选中某张表,点击工具栏中的New Quer按钮,就会出现右边查询窗口:使用了这个数据库神器,让我工作效率提升了数倍

6.1 执行sql语句:

在窗口中可以选择一个数据库连接 和 数据库实例:使用了这个数据库神器,让我工作效率提升了数倍在中间的空白区域,我们能编写sql语句:使用了这个数据库神器,让我工作效率提升了数倍点击图中的类似箭头的按钮,就能执行该sql,执行结果会在下方的Result中显示出来。

虽说该窗口的名称是查询窗口,但并非仅仅支持查询操作,还可以执行其他操作,比如:update、delete、alter、drop等等。使用了这个数据库神器,让我工作效率提升了数倍

6.2 保存sql语句:

有时候我们新建了一个查询窗口,里面写了很多sql语句,但由于急着关电脑,又想保存这些sql,避免丢失重写的情况发生。

这时我们如何保存该sql语句呢?使用了这个数据库神器,让我工作效率提升了数倍只需点击上图中的保存按钮。

这样以后就能在Queries中非常方便得找到该sql了:使用了这个数据库神器,让我工作效率提升了数倍

6.3 快速关联表

我们写查询sql如果涉及到多张表的时候,通常需要通过join或者子查询做关联。

使用了这个数据库神器,让我工作效率提升了数倍这种方式不是说不行,但我想说的是,如果需要关联的表太多,这样sql效率比较低。

难道还有更高效的方式?

点击下图中的按钮:使用了这个数据库神器,让我工作效率提升了数倍

会弹窗如下窗口:使用了这个数据库神器,让我工作效率提升了数倍在该窗口的左边选择需要做关联的表,选择完之后会表会自动出现在右边窗口中。

然后在右边窗口中选择做的关联:使用了这个数据库神器,让我工作效率提升了数倍点击ok之后,会自动生成sql语句:

使用了这个数据库神器,让我工作效率提升了数倍太牛逼了。

6.4 格式化sql语句

有时候,我们写的sql很长,而且比较复杂,一眼根本没办法看出层次结构。虽说该sql能够正常运行,但每次看到它的时候,心头可能会一紧,比如:使用了这个数据库神器,让我工作效率提升了数倍

看起来非常不直观,这时可以点击下图的按钮优化该sql:使用了这个数据库神器,让我工作效率提升了数倍优化后的效果如图:使用了这个数据库神器,让我工作效率提升了数倍感觉瞬间优雅多了。

6.5 执行计划

有时候,我们想查看某条sql的执行计划,通常情况下需要在该sql语句前,加explain关键字,比如:

使用了这个数据库神器,让我工作效率提升了数倍这样执行后,就能看到执行计划了:使用了这个数据库神器,让我工作效率提升了数倍

但还有更简单的方法,就是在执行sql之前,点击下图中的按钮:使用了这个数据库神器,让我工作效率提升了数倍我们看到没有加explain关键字,但同样出现了执行计划。真的帅呆了。

6.6 切换展示方式

我们查询出来的数据,默认是用表格的方式展示的。如果字段中的内容非常少,这种方式还是比较好的。但如果某个字段的内容很多,比如extra字段是json类型的,里面层次结构很复杂:使用了这个数据库神器,让我工作效率提升了数倍该字段展示的数据显示不太完整。

这时可以切换到form view模式:使用了这个数据库神器,让我工作效率提升了数倍

然后在弹窗的窗口中点击下图中按钮:使用了这个数据库神器,让我工作效率提升了数倍就会在下方出现完整的数据了。

6.7 新增和删除数据

我们在新增数据时,只需点击下图中的按钮:使用了这个数据库神器,让我工作效率提升了数倍就会在一行空数据,然后在里面填值即可。

同样,我们在删除数据时,只需选中要删除的数据,然后点击下图中的按钮,就能轻松搞定:使用了这个数据库神器,让我工作效率提升了数倍当然为了安全考虑,会先弹出一个确认窗口。

其实Navicat Premium的功能还有很多很多,我不可能一一列举完,在这里只是抛砖引玉,如果朋友们想了解更多功能可以找我私聊。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭