! s- n! \; T4 [" R6 `它支持的字段类型有:实在太多了,列举不完。 * a; x9 o1 v9 x " }+ ]8 c# x0 b' Q `- `6 u8 Z9 d5 \" {, h1 k: f
如果在该窗口中选择Index tab页,则会弹出索引设计窗口:在这个窗口中我们能定义:索引名称、所属字段、索引类型、索引方法和索引描述等。此外,还可以建立:全文索引、普通索引、唯一索引等多种索引。 4 w4 K) Q3 O1 v0 g. e4 m5 k3 e2 f: r8 l* Y% y9 [
# T$ A) n5 I# }! _- O, z
如果选择Options tab页,则会弹窗表信息的窗口:可以设置存储引擎、字段增长基础值、字符集等属性。3 s7 c9 N" s( p7 v$ X7 C7 z2 [1 |9 Y
4 G3 ?9 k' v7 M1 I# h
$ q7 k/ [3 \# }7 K& d9 I
Comment选项主要是为了描述一下该表的功能,由于过于简单,此处省略截图了。0 T2 D L6 |2 c) A/ W( R: t0 w
7 M9 I- ~8 G _2 w/ X
* p0 D, b( l4 r1 i0 y4 W
如果选择SQL Preview,也能看到该表完整的ddl语句:) E5 _5 R4 H- }1 E+ t
/ ]/ r% E) a) B% ~- |6 b( }
2 F3 d: B2 o/ H , H6 a, S1 v ?5 Y4 y % i/ j& m3 _! i. R A" U' q) r1 W 6 H/ a: L# U' r0 j$ O, [/ e+ q7 D1 J6 ^7 U
5.2 表的删除 0 s$ S) \2 T2 v# h上面重点介绍的是表的设计窗口,通过它我们能创建和修改表,那么表的删除呢?7 u O4 a' }8 H" g: o. o6 I
" h, k- v% U% [. X+ T9 a * ~. v6 [8 A, s- G3 R. u主要是通过如下三个功能实现的:; t8 l. b# X. c$ T. n
/ o2 N9 D; C$ F! k. m! q4 u5 g" S1 b# f7 T1 G5 W
Delete Table:物理删除表0 _4 E+ E5 ~1 a) F) ~$ u
( D: [' W/ H9 J- S! m; A
1 d8 `/ R+ L3 x7 t3 nEmpty Table:清空表中的数据,但表任然保留3 m9 P/ w- u- d2 \* u
5 r- U t3 Y/ D' {# Q
4 e! L6 j' m3 L) o" _% z, g$ E
Truncate Table:逻辑删除表5 s& f3 F% K. l8 I1 l1 U
! Q# `1 I, ?9 k" [* v3 u
5 P$ T; {2 l' o7 j& k5 J# p( m1 ~0 N
5.3 表的复制, J) Y5 [ K" p9 m% S' [) w+ {
有时候,我需要复制某张表,做备份。或者为了节省时间,基于某张已有的表创建新表。如果选择Duplicate Table,会出现如下选项: : w! v$ o2 |" t. J- o2 \ 8 [, Z7 R2 f/ H E' z! W/ Q6 [( y6 @4 t7 t
如果接下来选择:Structure + Data,则表示复制表结构和数据,数据库会自动创建一张新表: % O$ P. P+ Y, ^# D! i5 t" J 3 j/ w3 O# ], h% D" f4 h; H5 |4 F' s, l) K# v$ x6 B8 A& H
3 @3 m) o X" H# y# z$ X9 z 5 ^; X3 E& y0 i9 h( ` 7 U* R7 K& w+ l8 ` ) @. F# e. F/ r0 t里面包含的数据跟原表一样:# U9 ]: N6 m4 B
w; q" P% w" R Q; D+ A1 g- l+ j1 B, w如果选择:Structure,则只复制表结构,数据库也会自动创建一张新表,但数据是空的: $ A, x5 H }8 Q; ]5 a/ y j$ E5 S8 Y) z+ R
9 E) {- E {8 {! z/ a! {8 q5.4 数据导入 0 L2 D) h* }0 A在实际工作当中,我们经常需要导入数据。/ L. y( R, q( N. U: ^4 t
$ i1 Y7 F2 o" I# T3 L, a9 G& [4 J$ Z n$ s4 m
比如有一批新的用户数据需要导入数据库,这时可以选择Import Wizard,会弹如下窗口:目前Navicat Premium允许导入文件格式包括:dbf、db、txt、cvs、xls、xlsx、xml、json等。3 d9 f0 @! `6 }8 N
% |5 s. z. _4 B& b4 s/ Y/ a 3 t1 ?8 j7 z# c3 W, \* W( Z我们以excel文件为例,假设现在接到需求,有这样的数据需要导入数据库:; f0 n( Z0 y7 N7 p+ a
4 o$ a- j8 W* S0 s" D ( E4 n' U2 s9 O+ p可以新加一张表字段跟其对应:然后选择刚刚的excel文件上传:当然还需要选择该excel文件中的sheet,对应具体上传到哪张表:接下来,还需选择excel文件的字段相对应的表中的字段:然后发现已经导入成功:查一下表,已经有数据了: % Y4 j% H/ S8 T- H |. M0 L! ^ x5 @/ `6 e1 o9 _) s
: ]! M5 n0 @" k- a3 [
5.5 数据导出% y( n/ M1 s. T! G9 D9 K5 d- ^
在实际工作当中,数据导出的需求偶尔也会遇到。 - V |* q& Y. | 6 @5 y' f6 @1 |2 M% q2 q) G1 b6 a9 l
这时可以选择Export Wizard,会弹如下窗口:我们选择导出到SQL script file中,然后会弹窗如下窗口: 3 X. \7 C* ] a3 x& l1 q/ F% P% b 6 a! L3 o) Z# ]" s- ]' h : [) m. O2 Q* `% l' _可以选择要导出的表和对应的sql文件名称。 + F4 v( ?) |2 i6 ~ p ; X, q$ {8 \# N% ^$ t ' {- ^' r z* `8 o8 c' r8 k) _接下来,选择要导出的字段,允许只导出某些指定字段:然后发现已经导出成功:在这个路径下多了一个category.sql文件:其内容是很多insert语句,这不是我们一直想要的初始化脚本吗?/ g/ o. s; v$ ]* g7 L
: p. p2 e4 X, e5 L0 c _; p' W6 ^! }# Q* X, W
6. 表的查询操作 5 |5 U w' _2 D$ d3 b. K0 Z查询操作可能是数据库中用得最多的操作,因为绝大多数功能,都是读多写少。+ i* l. T8 G* C; t4 P
. j- M f5 L4 y0 r. v0 K8 i" Z" |* h9 Z0 g2 `7 i1 |- A
选中某张表,点击工具栏中的New Quer按钮,就会出现右边查询窗口: . A9 k" W' z( h( ~8 T9 \* V 2 j1 R0 y0 D/ i: M6 I6 v) E) E" u( m# s
6.1 执行sql语句: : X& x0 y6 z& P- p' s/ u8 S3 F6 |在窗口中可以选择一个数据库连接 和 数据库实例:在中间的空白区域,我们能编写sql语句:点击图中的类似箭头的按钮,就能执行该sql,执行结果会在下方的Result中显示出来。 R" A; g2 [( N7 ^: ]1 [4 E n 0 z. N! Q& M1 f8 t4 {4 S* L" }/ _$ `' S$ W
虽说该窗口的名称是查询窗口,但并非仅仅支持查询操作,还可以执行其他操作,比如:update、delete、alter、drop等等。 ) l; q& v. B5 F$ m. V7 M - b* R4 U& r6 ?4 ?. b) W, k3 g# i7 z% j4 Y- p% D! |2 h1 ~, k
6.2 保存sql语句:+ h' v6 F2 w2 b
有时候我们新建了一个查询窗口,里面写了很多sql语句,但由于急着关电脑,又想保存这些sql,避免丢失重写的情况发生。4 u9 J( x" Y/ Q$ e& h' o
* v& S% g V" Y. l+ ^, @, U5 U