Oracle数据库的基本使用(学习笔记)

创建数据库:

查看当前用户的所有表:

 	 select * from tab;

切换用户:

create user kfc identified by a123`
	语法:
	Conn   用户名/密码  as 角色[sysdba  sysoper  normal]
	Conn system/manager;     //使用system用户登录
	Conn sys/change_on_install as sysdba/sysoper;    //使用超级管理员sys登录时必须跟上角色

查询scott用户自己的emp表:

	Select * from emp;    

其他用户如果想要查询scott的表则使用:

Select * from scott.emp   //查询scott用户的emp表

角色权限管理

创建数据库用户:

create user kfc identified by a123`
Create user 用户名(自定义) identified by 密码;--确保使用数据库管理员登录上去[as sysdba | sysoper]

创建完成后需要授权,否则无法登录[登录被拒绝]
权限:系统权限[对数据库的操作] 对象权限[数据表 视图等]
角色:系统角色 对象角色

语法:grant 角色 to 用户
 grant connect to kk
角色作用
connect仅允许连接上来
DBA系统管理员权限最大
Resource允许创表,视图等对象的操作

具体操作:

 权限名: 增insert 删delete 改update 查select 所有all

授权

语法:Grant 权限 on 表名 to 用户
  grant select,insert on scott.users to kk

收回权限

语法:Revoke 权限 on 表名 from 用户

数据库表设置

数据量过大 可以进行如下设置:
Set linesize 200;     //设置行宽
Set pagesize 20;     //设置每一页显示的数据量

Java连接oracle

//jdbc:oracle:thin:@地址:端口:数据库名称
	String url="jdbc:oracle:thin:@localhost:1521:oracl";//注意需要导入oraclejar包
	Class.forName("oracle.jdbc.driver.OracleDriver");
	//odbc方式
	Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
 //jdbc:odbc:数据源名称
	 String url="jdbc:odbc:mycon";
	  Connection con=DriverManager.getConnection(url,"scott","tiger");

在oracle中创建自增序列: sequence

从序列中查看下一个值: select 序列名称.nextval from 表名 (dual)
从序列中查看当前值:   select 序列名称.currval from 表名
**序列一旦显示出来,该数字作废,例如:查出来的是2,则在插入进表中时,则是下一个数2

用代码创建自增序列

Create sequence 序列名称
Increment by 整数值   //每次的增量
Start with 整数值    //起始值
Nomaxvalue           //没有上限

手工创建

在这里插入图片描述

Oracle中的数据类型

类型名字
数字类型number(可以被int所替代)
整数number(n) /number(n,m) n表示总长度,m表示小数位)
字符串类型varchar2(n) 可以被varchar(n)所替代
日期类型date
大文本类型clob(可以存储4G的文本内容)
二进制类型blob(可以存储视频 图片 音频等二进制文件)

创建约束

oracle中的约束  除了默认值约束和其他数据库不一样,其他约束均和其他数据库一致

基本格式

Alter table 表名 add constraint 约束名称 约束关键字 表达式

主键约束

alter table 表名 add constraint 约束名城 primary key(列名)

唯一键约束

alter table 表名 add constraint 约束名称 unique(列名)

默认值约束

alter table 表名 modify (列名 数据类型 default 默认值)
alter table stuinfo modify (sex varchar2(2) default '男');
alter table users add constraint ck_name check(length(username) between 2 and 4)
alter table stuinfo add constraint ck_sex check (sex in (‘男’,’女’));

外键约束

alter table 外键表名 add constraint 约束名称 foreign key(外键列) references 主键表名(主键列) 

删除约束

alter table 表名 drop constraint 约束名称  

多表联合查询:

Select 字段列表 from 表A,表B where 表A.主键=表B.外键
  select s.sname 姓名,s.sex,s.age,c.exam from stuinfo s,chengji c where s.id=c.sid

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值