Oracle数据库的使用

启动Oracle
1、启动服务OracleServiceORCL,启动orcl数据库
2、启动监听器服务OracleOraDb11g_home1TNSListener

使用Oracle
1、命令行的操作方法sqlplus
2、使用图形化界面SQLDeveloper
3、web管理方式OEM

基本操作
cmd–sqlplus 用户名/口令 as 角色
本地机操作sqlplus / as sysdba —sys用户

默认用户:
sys/change_on_install最高权限用户,拥有数据字典的基表,不能充当normal用户使用,一般用于系统管理
system/manager次高权限用户,拥有数据字典的视图,可以充当normal用户进行使用,可以用于系统管理
scott/tiger示例用户,默认处于锁定状态,如果需要使用则必须首先进行解锁操作

show user 查看当前用户
conn 用户名/口令 切换当前用户
alter user scott account unlock; 解锁scott用户
锁定用户alter user scott account lock;
conn / as sysdba 切换sys用户

查看当前用户下的所有表
select * from tab;
查看指定表的结构定义
desc 表名称

SQL:结构化查询语言,是一种非过程式编程语言
分为DDL、DML、DCL、TCL4大类

DDL数据定义语言: create alter drop truncate
DML数据操纵语言: insert delete update select
DCL数据控制语言: grant revoke
TCL事务控制语言: commit rollback savepoint

先创建用户
create user 用户名 identified by 口令[即密码]
create user yanjun identified by 123456;
创建用户后必须授予对应的权限,否则连接数据库都不行

授予权限
grant 权限 to 用户[with 参数]
grant create session to yanjun; 连接数据库的权限
grant select on scott.emp to yanjun; 将scott用户下的emp表的查询权限授予给yanjun用户

授予角色
直接的权限管理过于繁琐,所以引入了role角色。角色可以理解为一组权限的别名

[考试]
三种标准角色:
1、connect role连接角色,一般授予最终用户
–临时用户,特指不需要建表的用户,通常只赋予他们connect role.
–connect是使用oracle简单权限,这种权限只对其他用户的表有访问权限,包括select/insert/update和delete等。
–拥有connect role 的用户还能够创建表、视图、序列(sequence)、簇(cluster)、同义词(synonym)、回话(session)和其他数据的链(link)
2、resource role资源角色,一般授予开发人员
–更可靠和正式的数据库用户可以授予resource role。
–resource提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)和簇(cluster)。
3、dba role(数据库管理员角色)
–dba role拥有所有的系统权限
–包括无限制的空间限额和给其他用户授予各种权限的能力。system由dba用户拥有

grant connect,resource,dba to yanjun;

权限的回收
revoke 权限 from 用户
revoke connect from yanjun;

[考试]
oracle数据库的权限系统分为系统权限与对象权限。
系统权限( database system privilege )可以让用户执行特定的命令集。例如,create table权限允许用户创建表,grant any privilege 权限允许用户授予任何系统权限。
对象权限( database object privilege )可以让用户能够对各个对象进行某些操作。例如delete权限允许用户删除表或视图的行,select权限允许用户通过select从表、视图、序列(sequences)或快照(snapshots)中查询信息。

级联授予权限
with admin option用于系统权限
grant create session to yanjun with admin option;允许级联授予,但是不会进行级联回收

with grant option用于对象权限
grant select on scott.emp to yanjun with grant option;允许级联授予,同时会自动进行级联回收

删除用户
drop user 用户名称 cascade;

创建数据表
create table 表名称(
列名称 数据类型 约束
);

数据类型 – 域完整性
1、数值型 number
整数类型 number(n) n取值1-38之间,表示允许的数值位数
例如number(1)表示可以存储1位整数,超出则报错。允许的值为-9到+9

浮点数 number(p,s)其中p表示总位宽,取值范围1-38,s为小数位数,取值范围为-84到127。如果整数位数大于(p-s)则报错,如果小数位数大于s则四舍五入到指定位
	例如number(3,1)表示可以存储2位整数+1位小数。取值范围为-99.9到99.9

	number(3,5)
	number(3,-5)

2、字符串
定长字符串char(n) n指定字符个数,取值1-2000。
char(1)等价于char(1 byte),表示只能存储1个字节的字符,如果存储一个中文字符则报错
char(1 char)表示可以存储一个任意字符,包括中文

变长字符串varchar2(n),n为自定字符数,取值为1-4000,可以加上单位byte/char。可做索引的最大长度3209。

可变长字符列long,最大长度限制是2GB,用于不需要作字符串搜索的长串数据,如果要进行字符搜索就要用varchar2类型。

3、日期类型
date从公元前4713年1月1日到公元9999年12月31日的所有合法日期,在内部是按8个字节来保存日期数据,在定义中还包括小时、分、秒。缺省格式为DD-MON-YY,如07-11月-00 表示2000年11月7日。

sysdate用于获取系统当前时

修改会话的默认日期格式
	alter session set nls_date_format='yyyy-MM-dd hh24:mi:ss'

使用系统函数格式化日期
	select to_char(id,'yyyy-mm-dd') from d1; to_char可以将日期类型格式为字符串,但是注意格式串中文问题

	select to_date('1989-2-3','yyyy-mm-dd') from dual;使用to_date用于将字符串类型按照指定格式转换为日期类型
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值