oracle基础
一、Oracle简介:
1.版本:8i/9i-10g/11g(目前我们使用的是11g)
二、数据库:
1.在物理上表现为数据文件、日志文件和控制文件等。
2.在逻辑上以表空间的形式存在
3.首先需要创建数据库才能使用oracle
三、数据库实例:
每个启动的数据库都对应一个数据库实例,由这个实例来访问和控制数据库。
注意:他两的区别:数据库是永久的,存在磁盘上的。而数据库实例是临时的,存放在内存中。
四、数据文件:
后缀是.dbf
用于存储数据库的数据文件。
五、控制文件:
后缀是.ctl
存储数据文件和日志文件的位置。
六、日志文件:
后缀是.log
记录所有对数据的更改信息
七、表空间:
每个oracle数据库都是由若干个表空间构成,每个表空间里都有若干个表,创建数据库时会自动创建若干个表空间。
八、使用sqlplus来修改system的密码:
win+r–>cmd–>sqlplus “/as sysdba”–>alter user system identified by 新密码
九、sys和system的区别:
1.sys和system都是oracle中的系统用户,他们都使用的是system表空间 ,sys的权限更大一点。
2.地位:sys是一个超级用户,而system是一个系统管理员,拥有dba权限
3.作用:sys用来维护系统信息和管理实例,system管理oracle数据库的用户、权限和存储等。
4.登录身份:只能以sysdba和sysoper的角色来登录。system只能以normal的方式来登录。
十、表空间:
1.创建:
语法:create tablespace 表空间名
datafile ‘存放的路径’
size 大小M;
eg:create tablespace epetspace
datafile ‘d:\oraclespace\epet.dbf’
size 100M;
2.删除:
语法:drop tablespace 表空间名
eg:drop tablespace epetspace
十一、用户
1.创建用户:
语法:create user 用户名 identified by 密码
eg:create user pet identified by 1234
2.权限和角色:
一个角色里可以包含多个权限。
常用系统预定义角色:
(1)connect:临时用户,给那些不需要创建表的用户赋予此角色
(2)resource:正式用户,可以创建表、触发器和过程等。
(3)dba:数据库管理员角色,拥有管理数据库的最高权限。
3.给用户赋予角色
语法:grant 角色名 to 用户名
eg:grant connect,resource to pet;
4.撤销用户的角色
语法:revoke 角色名 from 用户名
eg:revoke connect from pet;
十二、oracle中的数据类型:
1.char,varchar2:存储字符串类型
2.number:存放数值类型(int double float)
3.date,timestamp:都是日期类型,但是timesramp更为精确。
4.lob:(clob和blob),存储大类型的数据,比如二进制文件、图片等。
注意:oracle也支持float和double类型,但是尽量使用number类型。varchar也支持,但是尽量使用varchar2类型。
十三、创建表:
语法:create table 表名(
列名1 数据类型 是否非空,
列名2 数据类型 是否非空
)
eg: creat table users
(
uid number(11) primark key ,
uname varchar2(50) not null,
uphone varchar2(11) not null
)
十四、删除表:
drop table 表名
十五、创建和使用序列:
1.创建序列:
语法:create sequence 序列名
strat with 起始值
increment by 每次增长的值
nomaxvalues --不限制最大值
cache 缓存值
2.使用序列:
序列名.nextval
3.返回当前的序列值:
序列名.currval