Oracle数据库相关知识整理
一、Oracle数据库的完全卸载
1、右击“计算机”-->管理-->服务和应用程序-->服务,停掉所有 Oracle 相关的 服务(以 Oracle 打头的,比如 OracleDBConsoleorcl)。
2、开始-->在搜索栏中输入 regedit,进入注册表
选择 HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,按 del 键删除这个 入口
选择 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,滚动这 个列表,删除所有 Oracle 入口(以 oracle 开头的键)
选择 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\ Application,删除所有 Oracle 入口。
删除 HKEY_CLASSES_ROOT 目录下所有以 Ora 或 Oracle 为前缀的键
3、删除所有与 Oracle 相关的目录(如果删不掉,重启计算机后再删就可以了)包括:
C:\PFrogram iles\Oracle 目录。
Oracle 的安装目录,比如 D:\app
C:\WINDOWS\system32\config\systemprofile\Oracle 目录。
C:\用户\用户名\Oracle
二、创建表空间
1.新建一个表空间;
create tablespace studentSpace datafile 'E:/myoracle/student.DBF'
size 200M autoextend on next 20M maxsize unlimited;
2.新建一个用户;
create user student identified by student default tablespace studentSpace;
3.给新用户授权;
grant dba to student;
三、date 和TIMESTAMP
-
date日期插入
日期格式需要转换一下 to_date('1998-08-08','yyyy-MM-dd')
TIMESTAMP:比DATE更精确,时间戳
-
获取系统时间
select sysdate from dual; sysdate 系统时间 dual 系统表
select 1+1 from dual; 计算1+1
四、主键约束
-
添加主键外键
-
在工具中选中对应的表,选中编辑,切换到列 ,名称pk_user_uid 类型主键Primary 列t_uid 应用即可
名称 类型 列 参照表 主键 pk_user_uid Primary t_uid 外键 fk_roles_rid Foreign t_rid t_roles -
sql语句添加主外键约束
--添加主键约束; alter table TEACHERS add constraint P_T_ID primary key (T_ID); --添加外键约束; alter table T_USERS add constraint F_T_USERS_ROLEID foreign key (T_ROLEID) references T_ROLES (T_ROLEID)
五、检查约束
1、在工具中选中对应的表,选中编辑,切换到检查 ,填入名称、条件 应用即可
名称 | 条件 | |
---|---|---|
ck_users_sex | t_sex in ('男','女') |
2、SQL语句添加约束
--添加检查约束;
alter table TEACHERS
add constraint CHK_SEX
check (t_sex in('f','m'));
alter table TEACHERS
add constraint
CHK_AGE check (t_age>=18 and t_age<=60);
六、唯一约束
SQL语句添加唯一约束
--添加唯一约束;
alter table T_ROLES
add constraint UNI_ROLENAME unique (T_ROLENAME);
七、主键自增
1、找到Sequences点新建
名称 | 最小值 | 最大值 | 下一个数字 | 增量 | 高速缓存大小 |
---|---|---|---|---|---|
seq_user_id | 1 | 999999 | 1 | 1 | 10 |
2、SQL语句实现主键自增
CREATE SEQUENCE student_seq3 --创建名为 student_Seq2 序列
START WITH 1011 --初始值
INCREMENT BY 1 --步长为 1,可以是正数,或负数
MAXVALUE 99999999999 --最大值
MINVALUE 1 --最小值
NOCYCLE --不循环
CACHE 20 --缓存 20 个序列号
八、Oracle数据库实现分页
1、什么是伪列?
-
Oracle中伪列就像一个表列,但是它并没有存储在表中。
-
伪列可以从表中查询,但不能插入,更新和删除它们的值。
2、常用的伪列
-
ROWID
ROWID是表中的存储地址,该地址可以唯一地标识数据库中的一行,可以使用ROWID位列块快速定位表中一行
-
ROWNUM
ROWNUM是查询返回结果集中行的序列号,可以使用它来限制查询返回的行数。
-
例:把t_users表按照t_uid升序排列,给t_user表加入伪列rn,查询前四行数据
select A.*,rownum rn from (select * from t_users t order by t_uid) A where rownum <=4;
3、Oracle数据库分页
-
按照u_id进行排序
select * from t_users t order by t_uid;
- 给排序后的表加入伪列序号,查出伪列序号前四条数据
select A.*,rownum rn from (select * from t_users t order by t_uid) A where rownum <=4;
- 查出第一页(每页四条数据)
select * from (select A.*,rownum rn from (select * from t_users t order by t_uid) A where rownum <=4) where rn> 0
- 查出第二页
select * from (select A.*,rownum rn from (select * from t_users t order by t_uid) A where rownum <=8) where rn> 4
查出第n页,每页条数pageSize
select * from (select A.*,rownum rn from (select * from t_users t order by t_uid) A where rownum <=n*pageSize) where rn> (n-1)pageSize;