安装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会分页,导致模型不完整。
打印出来的图片如下:
新建表
这个是比较常见的功能,相比其他管理工具,Navicat将建表过程中所涉及的各种常用功能都包含进去了,包含新字段,索引,主键,外键,唯一键等等与表有关的内容,具体如下图:
针对表的几个常用功能,我们再详细给大家介绍一下
字段
字段的功能很多,也是其他功能的前提,意思是你必须先创建了字段才能使用后面的一些功能。
其中第一排的添加字段,插入字段,删除字段,可以通过字面意思来理解。
主键:选中某个字段,点击主键即可设置为主键
标识:勾选后一般用作自增长列来使用
注释:对字段的备注,通常为中文
名:字段存在表里的字段名
类型:字段数据类型
长度:字段的长度,通常int和datetime可以不设置长度。
比例:小数位数
不是Null:该字段是否为空,勾选不为空,不勾选为空。
索引
用来创建索引,只需要选定指定的列,就可以在对应的列上创建索引了。
名:索引的名称,通常按命名规范以index或idx开头,当然你也可以自定义。
字段:选择在哪个字段上创建索引。还可以选择排序规则,默认是升序ASC。
索引类型:不同的数据库索引类型不同,SQL Server类型一般为聚集索引(Clustered)和非聚集索引(Non-Clustered)
唯一键:用来限制字段的记录是否可以重复,勾选就是不可重复。
外键
用来创建外键约束的功能,目前的数据库设计中,通常不设置外键约束了。
名:外键名称,通常以fk开头
字段:用来设置外键的字段
参考表:与之相关联的表
参考字段:与之相关联表中的字段
删除时:是否级联删除
更新时:是否级联更新
唯一键
区别于主键,唯一键具有唯一性
与主键的区别有:
1.主键不允许空值,唯一索引允许空值
2.主键只允许一个,唯一索引允许多个
3.主键产生唯一的聚集索引,唯一索引产生唯一的非聚集索引
检查
用来约束数据插入的合法性,对应SQL中的CHECK或DEFAULT
触发器
用来创建与表相关的触发器,其中触发器的使用可以查看历史文章:
选项
这里主要用来设置自增长的种子值(起始值)和增量
SQL预览
这里可以看到我们刚才对表做的配置所对应的SQL语句
查看对象模式
创建好的表有三种查看方式:列表,详细信息和ER图,如下图
列表模式
只显示表名,是表的默认显示方式
详细信息模式
会显示除了表名以为的其他信息,记录数,修改日期和表的注释等
ER图模式
会以ER图的形式显示每个表之间的关联关系,如下图
导入向导
用来引导用户导入数据到数据库对应的表
我们打算将Customers.xlsx里的数据导入到表Customers中,具体操作如下:
在导入向导中选择要导入的文件类型,Navicat支持多种导入类型,这里我们选择导入Excel文档,然后点击下一步
找的需要导入的文件,点击下一步
配置字段名等内容,然后点击下一步
选择要导入的目标表,你也可以直接新建一张表,这里我们导入到目标表Orders,然后点击下一步
配置源表和目标表之间的字段对应关系,点击下一步
选择一个导入模式,如果是直接添加,可以选择添加模式,如果是要先清空目标表再导入可以选择复制模式,点击下一步
点击开始就可以导入数据了
导出向导
需要将数据库里的数据导出可以使用导出向导,具体如下:
在弹出的对话框中选择导出文件类型,点击下一步
选择需要导出的表,点击下一步
选择需要导出的列,默认全部字段,也可以选择指定字段,点击下一步
定义一些附加选项,导出包含标题,遇到导出错误继续等,点击下一步
点击开始执行导出操作
新建查询
新建查询有两种方式,可以直接右键选择新建查询,也可以点击菜单栏的查询-新建查询,如下图:
查询功能
查询是我们用的比较频繁的一个功能,在查询窗口里面有许多好用的功能
智能提醒
根据我们输入的字符来自动提醒一些关键字,字段名,表名,视图名,函数名等,如下:
美化SQL
当你看到一段代码写的很复杂且都堆在一起,可以使用美化SQL功能,一键帮你把堆在一起的SQL美化得整整齐齐。
美化前
美化后
其他功能
此外查询窗口还有很多其他功能,都集中在左上角的三短横上面,如下图:
这里将查询窗口的所有功能都汇集在一起,比如注释,查看执行计划,简化SQL等都在这里可以找到,小伙伴们可以一一尝试一下。
创建视图
Navicat提供一套创建视图的模板,主要是针对新手朋友。如下图:
这里我们只需要写查询语句即可,在SQL预览里可以看到完整的SQL语句。如下图:
点击预览,可以看到我们刚定义的视图结果,如下图:
创建函数和存储过程
函数和存储过程是类似的,区别是函数必须要有返回值,而存储过程可有可无。
他们也有一套模板,选择函数后点击新建函数,弹出如下对话框:
输入函数名或过程名,然后选择你想是想创建函数还是存储过程。然后输入参数名称和类型,也可以不带参数,点击下一步
函数必须要有返回值,这里需要定义返回值类型,点击下一步或完成。
这里会配置函数的一些附加信息,通常不用配置,直接点击完成即可。
然后我们就可以看到函数的编辑窗口了
写好函数里的语句后点击运行即可开始测试了。
备份和还原
通过Navicat,我们可以很方便的完成备份和还原操作,我们先来备份一个文件。
备份
点击菜单栏的SQL Server备份——新建备份,在弹出的窗口中配置备份内容,然后点击生成SQL即可。
在这里我们可以看到备份的代码,然后点备份就会开始备份
还原
在备份完成后,我们可以选择还原该备份包
在弹出的对话框中可以配置相关信息
点击生成SQL就会看到执行备份的SQL命令,点击还原即可开始执行
历史日志记录
该功能可以很方便的查看到你在数据库中执行了哪些操作。点击菜单栏中的工具——历史日志,就可以看到我们的操作记录了,如下图:
利用Navicat客户端实现定时插入删除数据
开启MySQL定时
查询状态
新建查询>运行:SHOW VARIABLES LIKE ‘event_scheduler’
查询看到默认为关闭
修改为开启
执行:SET GLOBAL event_scheduler = ON
开启,再次查询为ON,ok
创建表
创建函数
打开窗口
一次点击 函数>新建函数>完成
创建函数
在begin和end之间写一条要执行的sql
每分钟新增一条数据(定时删除可看最下方ps内容)
代码
1 | BEGIN |
点保存,填写一个名字,再点击函数可以看到刚才新建的函数
创建事件
一次点击 事件>新建 输入call +刚才函数起的名字,我的是:CALL hello_min_ins
点击 计划,设置 时间间隔和开始时间
起一个名字保存,点击事件可以看到刚才创建的事件
此事件用来定时调用之前创建的函数
完成
实现了每分钟新增一条数据
ps:如果想每分钟删除一条id最小的数据,新建函数
1 | BEGIN |
ps:如果想每天删除七天前的数据,新建函数
ps:如果想每天删除七天前的数据,新建函数
1 | BEGIN |
事件里修改事件EVERY 1 DAY即可