[数据库] Navicat for Oracle基本用法图文介绍

时间:2024-04-16 19:52:22

     引自百度百科:Navicat for Oracle是一套超强的Oracle数据库系统管理工具。它有极具巧思的图形化用户界面(GUI),让你可以快速且容易的以安全且简单的方法建立、组织、存取及共享资讯。Navicat for Oracle可以让用户连接本地/远端Oracle Server、提供一些实用的工具如数据/结构同步、导入/导出、备份及报表以协助管理数据的流程。

        本文主要通过图文的方法介绍了Navicat for Oracle的基本用法,因为最近做J2EE项目涉及到远程数据库连接,故使用了该工具。文章非常简单基础,但还是希望对你有所帮助,如果文章中存在错误或不足之处,还请海涵~

 

一.连接远程数据库

 
       安装Navicat for  Oracle软件后运行如下图所示:

        点击”连接“按钮填写相关信息如IP地址,然后连接远程数据库如下图所示。

        连接成功后的数据库如下图所示:

        PS:因项目原因,该文章讲述的是连接远程数据库,但相关操作与本地的一样。

 

二. 创建数据库表


      新建数据库表通过如下图点击任务栏的”新建表“或右击空白处创建。


        新建表T_USER_INFO,其中“添加栏位”向表中插入相应字段,目前我插入的字段包括:ID(序号)、USERNAME(用户名)、PWD(密码)、STATUS(权限)、DW_NAME(单位名称)、DW_CODE(单位代码),同时可以设置主键、非空属性、添加注释等操作。
        同时,任务栏中还有索引、外键、触发器、权限供我们设置。这篇文章主要介绍一些基础知识,会基本使用即可,后面有机会给大家深层次讲解下这些用法。


        同时如果想修改已经创建的表的信息,可以通过如下图所示的方法进行操作。右击表T_USER_INFO“设计表”可以对表结构就行修改。

        通过点击“打开表”可以查看用户信息,如下图所示,同时也可以删除表、清空表数据、复制表等操作。


 

三. 数据库增删改查


        下面我将结合SQL语句和Navicat for Oracle软件对数据库的增删改查进行讲解。点击“查询=》新建查询”后进行操作,SQl支持的命令包括:
        数据定义语言(DDL) : create, alter, drop
        数据操纵语言(DML): insert, delete, update, select
        数据控制语言(DCL) : grant, revoke
        事务控制语言(TCL)  : commit, savepoint, rollback


        1.插入操作
[sql] view plain copy
 
  1. insert into T_USER_INFO   
  2.     (ID,USERNAME,PWD,STATUS,DW_NAME,DW_CODE)  
  3. values(\'1\', \'Eastmount\', \'123123\', \'2\', \'教务处\', \'10001\');  
        运行结果如下图所示,同时可以设置结果升序显示。



        PS:Oracle设置序号ID递增方法比较麻烦,不像MySQL勾选AUTO_INCREMENT。

        2.更新操作
[sql] view plain copy
 
  1. update T_USER_INFO set USERNAME=\'杨秀璋\' and PWD=\'123456\'  
  2.     and STATUS=\'2\' and DW_NAME=\'软件学院\' and DW_CODE=\'08111003\'  
  3. where ID=\'0\';  
        但是会报错:[Err] ORA-00933: SQL command not properly ended
        Orcale语法与MySQL的区别,需要使用逗号替代and。
[sql] view plain copy
 
  1. update T_USER_INFO   
  2. set   
  3.     USERNAME=\'杨秀璋\',  
  4.     PWD=\'123456\',  
  5.     STATUS=\'2\',  
  6.     DW_NAME=\'软件学院\',  
  7.     DW_CODE=\'08111003\'  
  8. where ID=\'0\';  
        运行结果如下图所示:


        3.查询操作
[sql] view plain copy
 
  1. select * from T_USER_INFO where USERNAME=\'杨秀璋\';  
        查询结果如下图所示:

        4.删除操作
[sql] view plain copy
 
  1. delete T_USER_INFO where ID=\'0\';  
        运行结果如下图所示:
 
        PS:在数据库操作中,现实中的网站项目会结合SQL语句和Java变量,此时之间空格、换行建议都删除,否则很容易更新自动添加空格等错误。如:
[sql] view plain copy
 
  1. String sql="delete T_USER_INFO where ID=\'"+ID+"\'";  



四. 数据库导入和导出


       1.导出数据
 
        选择Excel2007文件如下:




        依次点击下一步进行导出:


        最好选择“包含列的标题”,Excel中添加标题:




        输出如下图所示:
          2.导入数据
          导入数据的步骤如下图所示:










五. 数据库自动备份

 
        数据库备份如下图所示,保存为SQL文件:



        同样可以对具体的某张表进行备份SQL,如下图所示:






        打开具体的T_USER_INFO.sql文件代码如下所示:
[sql] view plain copy
 
  1. /*  
  2. Navicat Oracle Data Transfer  
  3. Oracle Client Version : 11.2.0  
  4.   
  5. Source Server         : 远程oracle连接  
  6. Source Server Version : 110200  
  7. Source Host           : XXX  
  8. Source Schema         : XXXXXX  
  9.   
  10. Target Server Type    : ORACLE  
  11. Target Server Version : 110200  
  12. File Encoding         : 65001  
  13.   
  14. Date: 2016-04-07 22:00:50  
  15. */  
  16.   
  17.   
  18. -- ----------------------------  
  19. -- Table structure for "T_USER_INFO"  
  20. -- ----------------------------  
  21. DROP TABLE "T_USER_INFO";  
  22.   
  23.   CREATE TABLE "GUI"."T_USER_INFO"   
  24.    (    "ID" NUMBER(22,0) NOT NULL ENABLE,   
  25.     "USERNAME" VARCHAR2(50) NOT NULL ENABLE,   
  26.     "PWD" VARCHAR2(50) NOT NULL ENABLE,   
  27.     "STATUS" NUMBER(22,0) NOT NULL ENABLE,   
  28.     "DW_NAME" VARCHAR2(100),   
  29.     "DW_CODE" VARCHAR2(50),   
  30.      PRIMARY KEY ("USERNAME")  
  31.   USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS   
  32.   STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645  
  33.   PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)  
  34.   TABLESPACE "USERS"  ENABLE  
  35.    ) SEGMENT CREATION IMMEDIATE   
  36.   PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING  
  37.   STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645  
  38.   PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)  
  39.   TABLESPACE "USERS"   
  40.  ;  
  41.   
  42. -- ----------------------------  
  43. -- Records of T_USER_INFO  
  44. -- ----------------------------  
  45. INSERT INTO "T_USER_INFO" VALUES (\'100\', \'test01\', \'000000\', \'1\', \'经济学院\', \'3001\');  
  46. INSERT INTO "T_USER_INFO" VALUES (\'101\', \'test02\', \'000000\', \'1\', \'金融学院\', \'3002\');  
  47. INSERT INTO "T_USER_INFO" VALUES (\'102\', \'test03\', \'000000\', \'1\', \'工商学院\', \'3003\');  
  48. INSERT INTO "T_USER_INFO" VALUES (\'103\', \'test04\', \'000000\', \'1\', \'会计学院\', \'3004\');  
  49. INSERT INTO "T_USER_INFO" VALUES (\'104\', \'test05\', \'000000\', \'1\', \'公管学院\', \'3005\');  
  50. INSERT INTO "T_USER_INFO" VALUES (\'105\', \'test06\', \'000000\', \'1\', \'管科学院\', \'3006\');