Oracle数据库(一)

Oracle数据库JDBC连接
  Driver : oracle.jdbc.driver.OracleDriver
  url : jdbc:oracle:thin:@localhost:1521:orcl
  user   : xxx
  password : xxx
与MySQL不同的是:oracle需要手动提交事物。

安装Oracle时,在口令管理中,需要选择将SCOTT取消√,并且设置密码(敏感Scott用户), 然后设置SYS 与SYSTEM密码Oracle 数据库的数据类型:
  1 -- 使用管理员 sys 登录后,创建表空间
  2 CREATE TABLESPACE test_data -- 表空间名
  3 LOGGING
  4 DATAFILE 'C:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\TEST_DATA01.DBF' -- 是oracle 安装目录到 ORCL 一级,路径
  5 SIZE 32M -- 大小
  6 AUTOEXTEND ON --自动增长  
  7 NEXT 32M MAXSIZE 2048M --最小到最大在本地空间
  8 EXTENT MANAGEMENT LOCAL;
  9 
 10 -- 使用管理员 sys登录后,赋予新用户权限
 11 --赋权限
 12 grant dba to 用户名;  --最大权限
 13 grant connect to 用户名; --登陆权限
 14 grant resource to 用户名; --只能访问和修改自己用户下的有限对象   开发人员权限connect  和 resourse
 15 grant create table to 用户名; --创建表权限
 16 grant select on 表名/视图名   to  用户名; --把自己的表或者视图赋查看权限给其它用户
 17 grant update on 表名 to 用户名; --把自己表赋修改权限(delete / insert  权限) 给其它用户
 18 --修改权限
 19 alter user
 20 --收回权限
 21 revoke 权限  from 用户名;
 22 --查看用户拥有的角色
 23 select * from user_role_privs;
 24 --查看用户拥有多少张表
 25 select * from user_tables;
 26 --查看其它用户拥有的表
 27 select * from all_tables;
 28 --所有拥有的表
 29 select * from dba_tables;
 30 
 31 
 32 -- 创建user表
 33 create table t_user(
 34        cid number primary key ,-- 主键
 35        cname varchar2(50) not null,
 36        cpwd varchar2(50) not null,
 37        csex char(3) not null,
 38        cage number(4) 
 39 );
 40 commit;
 41 
 42 
 43 -- 给表
 44 comment on table t_user is '用户表';
 45 
 46 -- 给表中的列添加注释
 47 comment on column t_user.cid is '用户ID';
 48 comment on column t_user.cname is '用户姓名';
 49 comment on column t_user.cpwd is '用户密码';
 50 comment on column t_user.csex is '用户性别';
 51 comment on column t_user.cage is '用户年龄';
 52 
 53 -- 创建序列
 54 create sequence sequence_index -- 序列名
 55 start with 1 -- 序列的初始值 。(默认1) 
 56 increment by 1 -- 序列变化的步进,负值表示递减。(默认1) 
 57 nomaxvalue -- 序列可生成的最大值,不限制最大值
 58 nocycle -- 当序列产生的值达到限制值后是否循环(NOCYCLE:不循环,CYCLE:循环)
 59 nocache; -- 缓存序列的个数,默认值为20,不使用缓存可设置NOCACHE
 60 
 61 -- 获取当前序列初始值,新序列必须使用一次nextval 才能获取到值
 62 select sequence_index.currval from dual;
 63 -- 获取表中自增ID 下一个序列值
 64 select sequence_index.Nextval 自增序列ID from dual;
 65 
 66 -- 修改、删除序列 
 67 -- 使用 alter 命令进行修改
 68 alter sequence sequence_index
 69     increment by 2  
 70     minvalue 1
 71     maxvalue 999999999;
 72 -- 使用 drop 命令删除    
 73 drop sequence sequence_index;
 74 
 75 -- 删除表中的数据
 76 -- 使用delete 速度慢
 77 delete from t_user;
 78 -- 使用truncate速度快
 79 truncate table t_user;
 80 
 81 
 82 -- 使用序列,往表中的自增列添加
 83 insert into t_user(cid,cname,cpwd,csex,cage)
 84 values(sequence_index.nextval,'','qiguo','',200);
 85 
 86 insert into t_user(cid,cname,cpwd,csex,cage)
 87 values(sequence_index.nextval,'','chuguo','',100);
 88 
 89 insert into t_user(cid,cname,cpwd,csex,cage)
 90 values(sequence_index.nextval,'','qinguo','',500);
 91 
 92 insert into t_user(cid,cname,cpwd,csex,cage)
 93 values(sequence_index.nextval,'','yanguo','',300);
 94 
 95 insert into t_user(cid,cname,cpwd,csex,cage)
 96 values(sequence_index.nextval,'','zhaoguo','',400);
 97 
 98 insert into t_user(cid,cname,cpwd,csex,cage)
 99 values(sequence_index.nextval,'','weiguo','',100);
100 
101 insert into t_user(cid,cname,cpwd,csex,cage)
102 values(sequence_index.nextval,'','hanguo','',100);
103 -- 手动提交事物
104 commit;
105 
106 -- 查询数据
107 select * from t_user;  

整数类型;NUMBER 类型:定义格式 NUMBER (precision,scale),取值范围为【1-38】默认 38,NUMBER 整数部分允许的长度为(precision- scale)。

  关于 number 的精度(p)和刻度(s)遵循以下规则:
    1) 当一个数的整数部分的长度> p-s 时,Oracle 就会报错
    2) 当一个数的小数部分的长度> s 时,Oracle 就会舍入。

  

字符串类型:字符串数据类型还可以依据存储空间分为固定长度类型(CHAR/NCHAR) 和可变长度类型(VARCHAR2/NVARCHAR2)两种.  

  所谓固定长度:是指虽然输入的字段值小于该字段的限制长度,但是实际存储数据时,会先自动向右补足空格后,才将字段值的内容存储到数据块中。这种方式虽然比较浪费空间,但是存储效率较可变长度类型要好。  

  所谓可变长度:是指当输入的字段值小于该字段的限制长度时,直接将字段值的内容存储到数据块中,而不会补上空白,这样可以节省数据块空间。

  CHAR:存储固定长度的字符串,最大长度 2000 bytes
  VARCHAR2 :存储可变长度的字符串 ,最大长度 4000 bytes
  NCHAR 和 NVARCHAR2 :存储 Unicode 字符集类型。
  NCHAR: 最大长度 2000 bytes,NVCHAR2: 最大长度 4000 bytes

注意:varchar2(2) 括号中的2代表的是是2个直接,不是字符,在Windows中,一个汉字占有2个字节,在Unicode中占有3个字节。

注意:
  1. 可以使用 LONG 类型的列来存储 LONG 类型的文本字符串。LONG 数据类型的使用是为了向前兼容的需要。建议使用 LOB 数据类型来代替 LONG 类型。
  2. VARCHAR2 比 VARCHAR 更适合使用,由于兼容性的原因,所以仍然在 Oracle 数据库中保留着VARCHAR 。
  3. 用于存储 raw 类型的二进制数据。最多可以存储 2000B。建议使用 BLOB 来代替它。
  4. 用于存储 raw 类型的二进制数据。最多可以存储 2GB 的数据。建议使用 BLOB 来代替它。
  5. 不建议使用 VARCHAR、 INTEGER、FLOAT、DOUBLE 等类型
  6. DATE:存储日期和时间数据
  7. TIMESTAMP:比 DATE 更精确
  8. BLOB:存储二进制对象,如图像、音频和视频文件
  9. CLOB:存储字符格式的大型对象

 

插入多条数据:

  insert into 表名 (字段1,字段2,字段3)

  select '值1',值2,值3 from dual union

  select '值1',值2,值3 from dual union

  select '值1',值2,值3 from dual 

注意:需要提交事物,不然不会保存。

转载于:https://www.cnblogs.com/in-the-game-of-thrones/p/11345474.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值