Oracle基础

一、基础

1.1、角色

Oracle提供了三种标准的角色(role):CONNECT、RESOURCE和DBA。

  • CONNECT角色:

拥有connect角色的用户,可以与服务器建立连接会话(session,客户端和服务器连接,称为会话),主要应用于临时用户,不需要建表的用户。

  • RESOURCE角色:

RESOURCE提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)等

  • DBA角色:

DBA角色拥有所有的系统权限,包括无限制的空间限额和给其他用户授予各种权限的能力。用户system拥有DBA角色

一般情况下,一个普通用户,拥有CONNECT和RESOURCE两个角色就可以进行常规的数据库开发工作

1.2、连接身份

sysdba

即数据库管理员,权限包括:打开数据库服务器、关闭数据库服务器、备份数据库、恢复数据库、日志归档、会话限制、管理功能、创建数据库。sys用户必须用sysdba身份才能登录,system用户可以用普通身份登录。

sysoper

即数据库操作员,权限包括:打开数据库服务器、关闭数据库服务器、备份数据库、恢复数据库、日志归档、会话限制。

normal

即普通用户,权限只有查询某些数据表的数据。默认的身份是normal用户。

1.3、Oracle数据类型

类型 含义
CHAR(length) 存储固定长度的字符串。参数length指定了长度,如果存储的字符串长度小于length,用空格填充。默认长度是1,最长不超过2000字节。
VARCHAR2(length) 存储可变长度的字符串。length指定了该字符串的最大长度。默认长度是1,最长不超过4000字符。
NUMBER(p,s) 既可以存储浮点数,也可以存储整数,p表示数字的最大位数(如果是小数包括整数部分和小数部分和小数点,p默认是38为),s是指小数位数。
DATE 存储日期和时间,存储纪元、4位年、月、日、时、分、秒,存储时间从公元前4712年1月1日到公元后4712年12月31日。
TIMESTAMP 不但存储日期的年月日,时分秒,以及秒后6位,同时包含时区。
CLOB 存储大的文本,比如存储非结构化的XML文档
BLOB 存储二进制对象,如图形、视频、声音等。
  • MySQL字符串:varchar类型

  • Oracle字符串:varchar2:类型

  • char和varchar2类型的区别

    • char:固定长度
    • varchar2:可变长度

1.4、NUMBER类型

格式 输入的数字 实际的存储
NUMBER 1234.567 1234.567
NUMBER(6,2) 123.4567 123.46
NUMBER(4,2) 12345.67 输入的数字超过了所指定的精度,数据库不能存储

1.5、日期类型

对于日期类型,可以使用sysdate内置函数可以获取当前的系统日期和时间,返回DATE类型,用systimestamp函数可以返回当前日期、时间和时区。

1.6、dual表

Oracle的查询中,必须使用“select 列… from 表”的完整语法,当查询单行函数的时候,from后面使用DUAL表,dual表在系统中只有一行一列,该表在输出单行函数时为了select…from的语法完整性而使用。

SELECT SYSDATE,SYSTIMESTAMP FROM DUAL

二、基本操作

2.1、用户管理

2.1.1、创建用户

语法:CREATE USER 用户名 IDENTIFIED BY 口令 [ACCOUNT LOCK|UNLOCK]

CREATE USER jerry IDENTIFIED BY tom ACCOUNT LOCK; --用户名不能用数字开头
2.1.2、解锁用户

语法:ALTER USER 用户名 ACCOUNT LOCK|UNLOCK

alter user jerry account unlock;
2.1.3、修改密码

语法:ALTER USER 用户名 IDENTIFIED BY 新密码

alter user jerry identified by newpass;
2.1.4、删除用户
drop user jerry;
2.1.5、授权其他用户访问表

语法:grant 权限 on 表 to 用户

/*scott用户的dept表授权给用户*/
grant all on dept to 用户名;
/*sjx用户查看scott用户的dept表*/
select * from scott.dept;
提示:必须写用户.表名,例如本例中的scott.dept;
2.1.6、收回某用户对某表的权限

语法:revoke 权限 on 表 from 用户

/*收回授予用户的dept表的所有权限*/
revoke all on dept from 用户;

2.2、数据库管理

2.2.1、导入sql

@导入scott脚本


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值