Navicat Premium 操作Oracle新建用户,表空间,建表

1.连接

首先打开Navicat Premium填入正确的信息,连接。

2. 新建表空间

我们点击面板上的其他下的选项表空间

进入表空间的界面,我们可以通过面板上的新建表空间,也可以通过在空白处鼠标右键,新建表空间

在弹出的界面中,我们输入表空间的名中输入我们需要在oracle在物理磁盘存储的文件名,以及表空间的初始大小以及单位。
在“路径”选项中填写该表空间所在的物理磁盘路径。
自动扩展选项中选择on,即允许自己动扩展表空间。如果选择“off”,那么该表空间是固定大小的,不允许扩展的。

其他信息填写完毕后,我们只需点击保存按钮。系统弹出一个界面让我们填入此表空间的名称,

新建完毕后,我们可以在物理磁盘看看是不是有表空间的文件,

3. 新建用户

表空间新建完毕后,我们就要来新建用户。点击面板上的用户选项,

新建用户的方法有两种,一种是控制面板上的“新建用户”按钮,另外一种就是在空出右键,如上图。在点击“新建用户”后,弹出的界面,填入相关的信息。

其中我们需要注意的是,在用户名处填写的用户名字母一定是大写。请记住一定是要大写,如果是小写的话此用户是无法连接Oracle数据库的。具体为什么是这样,我想这个可能是此软件的BUG。在“默认表空间”处,我们选择理科前面我们新建的表空间。如果我们不选择的话,会使用系统默认的表空间USERS。

在“成员属于”中我们选择了DBA权限。其实对于一般的用户,我们只需赋予connect、resource、create view这几个权限即可。但是这里我们为了演示方便就选择“DBA”了。有关connect、resource、create view这几个权限的赋予,

以上操作完毕后,我们可以切换到“SQL预览”选项,查看相关的SQL语句,

用户建立完毕后,我们就可以使用此数据库了。那我们先来测试下,该用户是不是可以正常连接Oracle数据库。

4. 命令–建表空间,用户空间,触发器


hostname: localhost
port: 1521
sid: xe
service name: xe
username: system
password: oracle

sqlplus

CREATE TABLESPACE "CUSTOMS_SPACE"
 DATAFILE  'CUSTOMS_DATA' SIZE 1024000 K AUTOEXTEND ON NEXT 1024000 K MAXSIZE UNLIMITED

CREATE USER "ROOT_TEST" IDENTIFIED BY "passw0rd" DEFAULT TABLESPACE "CUSTOMS_SPACE" TEMPORARY TABLESPACE "TEMP";
GRANT "DBA" TO "ROOT_TEST" WITH ADMIN OPTION;
ALTER USER "ROOT_TEST" DEFAULT ROLE "DBA"


-- Create sequence 
create sequence SEQ_NEW_PREDICT_201809
minvalue 1    -- 最小值=1
maxvalue 999999999999999999999999999  -- 指定最大值 
-- 或nomaxvalue      -- 没有最大值
-- NOCYCLE;      -- 不循环
start with 1   -- 从1开始
increment by 1  -- 每次递增1
cache 20;
 
--触发器
create or replace trigger TRI_NEW_PREDICT_201809
  before insert on NEW_PREDICT_201809  
REFERENCING OLD AS "OLD" NEW AS "NEW" FOR EACH ROW
begin
    SELECT SEQ_NEW_PREDICT_201809.NEXTVAL INTO :NEW.ID FROM DUAL;
end;

5. 查询

1,笛卡尔积

select * from a cross join b

2,自然连接(需两表有潜在的对应字段)

select * from a natural join b

3,JOIN…USING子句:用户自己指定一个消除笛卡尔积的关联字段

SELECT* FROM emp JOIN dept USING(deptno);

4,union

两个集合相加减去一份交集,背后实际做了排序和Distinct约束,效率低

5,union all

两个集合相加,效率比union高

6,left [outer] join ,right [outer] join

以一边驱动去匹配另一边

7,inner join,

与join一样,等同于 select * from a,b where a.id=b.id,要求两表交集

# 查询最近一周12:30分到13:00这段时间内的订单量:

SELECT *  
  FROM T_ORDER O  
 WHERE O.CREATEDATETIME BETWEEN  
       SYSDATE-7 AND  
       SYSDATE  
   AND TO_CHAR(O.CREATEDATETIME, 'hh24:mi:ss') BETWEEN '12:30:00' AND  
       '13:00:00'  


# 查询某段日期内某个时间段的订单量:

SELECT *  
  FROM T_ORDER O  
 WHERE O.CREATEDATETIME BETWEEN  
       TO_DATE('2016-10-08 12:30', 'yyyy-mm-dd hh24:mi') AND  
       TO_DATE('2016-10-14 13:00', 'yyyy-mm-dd hh24:mi')  
   AND TO_CHAR(O.CREATEDATETIME, 'hh24:mi:ss') BETWEEN '12:30:00' AND  
       '13:00:00'  

引用

吐血推荐:数据库你想知道的都在这

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值