Navicat完全使用手册(上)

2021-04-03 00:00:00 数据 数据库 模型 导出 如下图

之前给小伙伴们推荐一款数据库开发工具DataGrip

干掉Navicat,这个数据库管理工具真香!

近使用了DataGrip一段时间,发现它并不适合我,因为我平时不仅仅要写代码,也要负责数据仓库的建设和数据库管理的一些工作。


这里给小伙伴们罗列几个我在使用DataGrip中一些不足的地方:

  • 用户体验并不十分友好,你需要花费一些时间去学习如何使用它
  • 和相似的工具比较,它运行并不迅速,当处理大容量数据库的时候会比较缓慢,将耗费GB等级的内存
  • 完全加载本地数据库数据,如果你的数据库数据较多,可能等它加载完成,你差不多要吃午饭了
  • 导入导出功能有待完善

后还是滚去用Navicat了


Navicat的功能非常多,这里为了让小伙伴们一一掌握,分为多个篇章具体讲述。


目录

  • 安装Navicat
  • 连接不同数据库
  • 创建数据库
  • 数据传输
  • 导出表结构
  • 生成数据字典
  • 查找数据或表名
  • 生成E-R模型

注:以上功能无需书写任何SQL代码


安装Navicat

因为工作原因,需要经常连接不同的数据库,这里我安装的是Navicat Premium版本,在公众号后台回复 Navicat 即可获取。

安装过程很简单,只要你能看懂中文,不停的下一步,等待安装完成即可。


连接不同数据库

这里分别介绍Oracle,MySQL,SQL Server这三种数据库的连接方法


连接Oracle

在连接Oracle之前我们需要先配置一下OCI文件,具体如下:

点开主菜单里的【工具】——【选项...】,在弹出的对话框中找的OCI选项


这里就要把你安装的oracle的安装目录下的bin文件夹里面的oci.dll文件导入

E:\software\oracle\Oracle_win64\product\11.2.0\dbhome_1\BIN\oci.dll

以上是我的安装目录下的文件,大家根据自己的安装目录不同来导进来

导进来之后就重启Navicat,重启后会自动生效。

重启Navicat后,点击菜单栏的连接,选择Oracle,如下图:

在弹出的对话框中做如下配置,其中连接名可以随意起,然后输入你要连接的主机名或IP地址,后输入账号密码。

如果你是使用DBA角色登录的,还需要点开选项卡,将角色选为DBA

配置完了以后,我们可以点击连接测试

这样Oracle的连接就配置好了。


连接MySQL和SQL Server

MySQL和SQL Server的连接相对比较简单,只需要输入主机名或IP地址,账号密码即可,具体如下图:


配置好后,点击连接测试,在弹出连接成功窗口就表示我们配置好了。

数据库连接成功后,下面是各个功能的介绍,我们以SQL Server数据库作为案例来介绍各个功能的使用。


创建数据库

右键我们刚新建的数据库连接——选择【新建数据库...】即可开始创建数据库了。

可以根据你的要求来进行配置,配置完以后,还可以在【SQL预览】看到完整的SQL代码:


数据传输

数据传输,顾名思义就是将数据从其他地方传输到当前数据库,例如我们将SQL_Road数据库中的数据传输到刚才新建的Test数据库中。

右键刚才创建好的Test数据库,在弹出的选项中选择【数据传输...】,在弹出的窗口中我们配置源数据库为【SQL_Road】,目标数据库配置为【Test】,这样就可以将SQL_Road中的对象传输到Test了,支持传输的对象包括:表,视图,函数和存储过程,具体如下图:

点击开始即可开始进行数据传输,传输效率还是很快的,即使你的数据量很大,也可以使用该方法进行数据传输,这里使用了不到2秒钟就将整个数据库对象迁移到新的数据库中了。


此外如果你想导出整个数据库中的对象到文件,也可以使用该方法,只需要将方式改为文件即可,如下图:

如果你想自定义导出的内容,可以点击该窗口的【】选项进行自定义配置,如下图:

配置完成后,点击开始,就会将你选择的数据库对象以脚本的形式导出到文件中。


但是数据传输到文件有个不足的地方,就是会将数据记录也会一并导出,而很多时候,我们其实只需要表结构,那么我们可以使用下面的这个功能。


转储SQL文件

双击打开数据库后,我们右键架构名dbo,在弹出的选项中选择【转储SQL文件...】,这里还有两个子选项:【结构和数据...】和【仅结构...】,如下图:

他们的区别就是一个有数据记录,一个没有数据记录,如果你只要数据结构可以只选择【仅结构...】,这样就可以大大节省导出时间了。


打印模式/数据字典生成

做数据库仓库往往面对的不是几张表,往往是成百上千张数据表,该怎么维护对DBA是个非常头疼的事,如果有个数据表结构或数据字典之类的就非常完美了。

打印模式可以完美的生成所有表的数据表结构的。这里我们选择表数量较多的数据库ReportServer。右键dbo后,选择【打印模式...】,如下图:

可以看到右侧窗口里面出现了所有数据表的表结构,如下图:

足足有10页之多,我们点击左上方的【打印】,将表结构打印成PDF文件,就可以得到一份非常完成的数据字典了,如下图:

内容中主键和索引也有仔细的标注出来,其中P代表主键,下面的index表示索引

这个功能是一个神器!


在模式中查找

这个功能主要用来查找数据或结果,当你需要从当前数据库中查找数据记录或对象中包含某些字符时,可以使用该功能,具体如下:

在弹出的对话框中,我们查找pre的结构,就可以将当前数据库符合要求的的所有对象都查找出来,如下图:


逆向模式到模型

这又是一个神仙技能,谁用谁知道,右键dbo在弹出的选项中选择【逆向模式到模型..】,如下图:


它可以将当前数据库中创建的所有表,以E-R图的模型清楚的告诉你每个表之间的关联关系,包括主外键,表结构,关联关系等,如下图:


你以为就这?


还支持模型转换,模型导出,说白了就是你可以将该模型转换成其他数据库的模型,从SQL Server转换成MySQL,Oracle,Postgresql都可以。点击左上角的三短横,选择【文件】——【模型转换】,如下图:


在弹出的对话框中选择你要转换的类型,比如我们想转换成MySQL 5.6的,如下图:

点击确定后,即可将当前的SQL Server模型立马转换成MySQL 5.6。给大家看下对比效果:

SQL Server模型


MySQL模型


转换成功后可以直接将转换后的模型导出成对应的SQL。

点击【工具】——【导出SQL...】,如下图:


选择导出位置,点确定即可,导出的SQL文件里面就是MySQL的建库代码了。


能导出肯定就可以打印,同样如果需要将模型文件保存,也可以导出为PDF,PNG,SVG等格式,但是建议打印成PNG图片格式,因为PDF会分页,导致模型不完整。


打印出来的图片如下:

当然你可随意放大缩小查看详细信息。

以上我们主要介绍了数据库和架构的一些功能,下一期我们再着重介绍数据库对象的一些功能,敬请期待。


原创不易,觉得不错记得帮忙【转发】+【在看】,谢谢啦


后给大家分享我写的SQL两件套:《SQL基础知识第二版》《SQL知识第二版》的PDF电子版。里面有各个语法的解释、大量的实例讲解和批注等等,非常通俗易懂,方便大家跟着一起来实操。


有需要的读者可以下载学习,在下面的公众号「数据前线」(非本号)后台回复关键字:SQL,就行

数据前线


后台回复关键字:1024,获取一份精心整理的技术干货

后台回复关键字:进群,带你进入高手如云的交流群

相关文章