/ i9 q1 d0 T3 O) _5 v + p1 M2 F7 A7 c1: ~/ q* P1 \. w9 i6 O
2 4 S9 R, K6 e+ N a5 a# J每次都需要输入连接地址、用户名、密码,不觉得烦吗?, v7 C3 O3 c0 p+ T
) A# z. F4 R8 {6 H6 k Q: S- u# |- R I* [8 }$ }4 p
恭喜你,Navicat Premium自带保存密码的功能:只需第一次连接数据库时配置:Connection Name、Host、Port、User Name,然后勾选 Save password即可。/ i8 f h' z, w9 ?: c1 @3 P( p
8 T5 C, M# z, [+ P7 I. h# j0 P r& o }/ Y6 q( i# d( x( c
如果选择:Structure,则只复制表结构,数据库也会自动创建一张新表,但数据是空的: + p" D8 y( ~! X3 g# ?3 ^ g' p $ g: r" c" @9 [0 k4 h# _, }+ A% v' G1 y# |
5.4 数据导入 : ~' w6 k3 E. C5 } \在实际工作当中,我们经常需要导入数据。 9 p" q! Y3 z5 b @& S5 Z `! J8 g2 J5 C
7 j! d$ B' T% r( Z; l9 Q! M3 w7 K比如有一批新的用户数据需要导入数据库,这时可以选择Import Wizard,会弹如下窗口:目前Navicat Premium允许导入文件格式包括:dbf、db、txt、cvs、xls、xlsx、xml、json等。 / n8 r3 W+ h. n. Z/ O, P) s! R/ j9 B/ ^
2 m2 F0 D1 L0 Y( n( w; m
我们以excel文件为例,假设现在接到需求,有这样的数据需要导入数据库:. H8 d0 y1 J5 _5 m6 ?* m2 X
/ I, U8 t; {) B* W1 F
8 p* w* G8 p4 }* i7 K4 M. H可以新加一张表字段跟其对应:然后选择刚刚的excel文件上传:当然还需要选择该excel文件中的sheet,对应具体上传到哪张表:接下来,还需选择excel文件的字段相对应的表中的字段:然后发现已经导入成功:查一下表,已经有数据了: * T( j8 q/ c' A1 |! K }; X 4 U0 V; @ K2 u7 P2 u3 o" V0 ]3 e! Y- `8 F* }* K4 c% b
5.5 数据导出 ' g @7 t, z& A0 ^' x/ w在实际工作当中,数据导出的需求偶尔也会遇到。$ j8 Y7 E! Z3 P0 g
' X w# D9 E( b5 R6 B _8 y& f. V) }- q& G! ^1 |9 P
这时可以选择Export Wizard,会弹如下窗口:我们选择导出到SQL script file中,然后会弹窗如下窗口: ; i. K+ {0 h4 K* P' r6 L ( o* O$ P" c! K/ @; W 9 ?3 f; P" l8 L. a) g. j/ z0 d可以选择要导出的表和对应的sql文件名称。 ; M b S. u+ ]8 j( a ) C K0 N- v& @4 P1 f7 V 1 I& m" I3 J# ` ?- v* }接下来,选择要导出的字段,允许只导出某些指定字段:然后发现已经导出成功:在这个路径下多了一个category.sql文件:其内容是很多insert语句,这不是我们一直想要的初始化脚本吗?' V9 d2 D+ b, j2 N. Q
* `& s9 h; Z8 ^0 r7 k % l9 B S0 O$ u1 a6. 表的查询操作 / w6 P$ c5 L6 K, o查询操作可能是数据库中用得最多的操作,因为绝大多数功能,都是读多写少。 ( d: b/ K& S7 @8 k/ O9 p* D/ u2 X e5 @. k4 @' ?. X/ t
' p9 A- E7 Z" U9 D% O' L选中某张表,点击工具栏中的New Quer按钮,就会出现右边查询窗口: ' p8 E3 c" K* Z5 J1 {6 v) i/ a; y# D9 V
) A& G* D0 h1 {8 o
6.1 执行sql语句:5 o( j5 G$ `# d
在窗口中可以选择一个数据库连接 和 数据库实例:在中间的空白区域,我们能编写sql语句:点击图中的类似箭头的按钮,就能执行该sql,执行结果会在下方的Result中显示出来。; S& C* W1 ]1 h% r$ ? |1 f" V
, q) H, B5 Y H
1 `4 R) G) q8 d2 B4 M虽说该窗口的名称是查询窗口,但并非仅仅支持查询操作,还可以执行其他操作,比如:update、delete、alter、drop等等。 * R) w% }2 ^4 N # a1 R) ~; ~* K2 W4 b 2 \0 R. o! E/ y" B6.2 保存sql语句: 0 Y4 N6 L5 m, E有时候我们新建了一个查询窗口,里面写了很多sql语句,但由于急着关电脑,又想保存这些sql,避免丢失重写的情况发生。8 W/ e" _1 u9 @) m1 l& V% W! C
! `% L) l$ z8 F5 v8 B9 ^3 j; M& K : T; D. I# w- v这时我们如何保存该sql语句呢?只需点击上图中的保存按钮。 9 ]; I: \; ~) t( ]( b' a+ N* e . N) V' X! ]+ ^9 [/ \5 u3 H. q6 c- k9 P7 G( D H& t
这样以后就能在Queries中非常方便得找到该sql了:! ^- \3 j% f( f, P% W9 f9 W2 |
+ k4 J* A- U% I' Y+ n a
4 i9 D; c# i4 h6 z% T
6.3 快速关联表+ W6 Z* d" i" a/ V2 _; i' h
我们写查询sql如果涉及到多张表的时候,通常需要通过join或者子查询做关联。 ( V' ~; _' n. ]$ Y3 _- ^, @( @ `) a1 ^1 X3 `* V
T% s3 z" N8 Z
这种方式不是说不行,但我想说的是,如果需要关联的表太多,这样sql效率比较低。$ F0 |& ^- X5 G8 K! X
4 {) A# M. z. a" }2 p3 F% W( @: T" [5 M/ h/ G- h% j6 h
难道还有更高效的方式? / z7 c9 v) t$ K4 u8 E) w/ Z$ N- Q4 w$ w) [) A/ |& j1 w5 t$ _
0 D& v# t9 d' ]
点击下图中的按钮: " }) [: X& E! q+ y$ x ! v( V0 e/ Q) R9 i, t. ^6 a$ V, W % A& r/ B0 [* N会弹窗如下窗口:在该窗口的左边选择需要做关联的表,选择完之后会表会自动出现在右边窗口中。& ~4 u5 D9 h- s' d" [
3 ^! ^! ]1 X# q8 o% K" O9 o: m f1 G
然后在右边窗口中选择做的关联:点击ok之后,会自动生成sql语句: - q7 c* _ A" P& x% o. `# `9 t2 C! z# D0 A
8 o' _( G" L. b; }+ t( o
太牛逼了。- H; P5 `- }5 y' u5 a+ ~
9 x0 I( q' a. \
' j9 b* \7 p: S6.4 格式化sql语句; e1 H+ Q" ^2 J |! u3 U
有时候,我们写的sql很长,而且比较复杂,一眼根本没办法看出层次结构。虽说该sql能够正常运行,但每次看到它的时候,心头可能会一紧,比如: 1 a' {7 C$ @, ]: u0 U, m+ {- s) c, w3 B& q) W2 n