Oracle数据库中的4个主要用户
超级管理员:
sys/change_on_install
普通管理员: system/manager
普通用户: scott/tiger ( Oracle12c 之后,不存在,需要自己创建 c##scott )
海量数据用户(大数据用户): sh/sh;
普通管理员: system/manager
普通用户: scott/tiger ( Oracle12c 之后,不存在,需要自己创建 c##scott )
海量数据用户(大数据用户): sh/sh;
程序开发中,以下的服务一定要开启
数据库监听服务:
OracleOraDB12Home1TNSListener
,当需要通过程序进行数据库访问时,必须启动此服务,否则将无法进行数据库的连接;
- 程序是通过监听服务进行数据库连接的;
常量
常量可以直接输出:
简单选用原则
- 字符串常量:直接使用“ '”声明,例如:'我是常量';
- 数字常量:直接输出数字,例如:7;
- 单引号“ '”:直接使用4个“ '”表示
- 例:select '编号是:' || empon || '的雇员姓名是:' || ename || ',基本工资是:' || sal 雇员信息 from emp;
- 效果:
- 前面加上“ '”符号的,就是字符串常量,而最后的“雇员信息”没有加上单引号,是设置列别名;
数据类型
oracle数据类型(红色为常用)
数据类型 | 描述 |
VARCHAR2(size) | 可变长字符数据 |
CHAR(size) | 定长字符数据 |
NUMBER(p,s) | 可变长数值数据 |
DATE | 日期型数据(不包含毫秒) |
TIMESTAMP | 用于存放日期型数据(包含毫秒) |
LONG | 可变长字符数据,最大可达到2G |
CLOB | 用于存放海量文字,例如保存一部《红楼梦》,最大可达到4G |
RAW and LONG RAW | 原始的二进制数据 |
BLOB | 保存二进制文件,例如图片,电影,音乐等,最大可达到4G |
BFILE | 存储外部文件的二进制数据,最大可达到4G |
ROWID | 行地址 |
- 一般在200个字以内的信息(例如,姓名,地址,E-mail等)可以使用varchar2;
- 区分整数或小数比较麻烦的话,可以直接使用NUMBER;
- 日期时间使用DATE,时间戳是TIMESTAMP;
- 大文本数据使用CLOB,BLOB尽量少用
Oracle外连接特殊写法
--左关系属性=右关系属性(+):现在“(+)”放在等号的右边,所以此时表示的是左连接;
select *from emp e,dept dwhere e.deptno = d.deptno(+);
--左关系属性(+)=右关系属性:现在“(+)”放在等号的左边,所以此时表示的是右连接;
select *from emp e,dept dwhere e.deptno(+) = d.deptno;
--自身关联:自己关联自己的列
select e.empno eno,e.ename ename,m.empno nmo,m.ename mnamefrom emp e,emp mwhere e.mgr=m.empno
关于
所有
oracle
的数据字典的基表和视图都存放在
sys
用户中,
sys
用户拥有
dba
,
sysdba
,
sysoper
等角色或权限,是
oracle
权限最高的用户。
system 用户用于存放比 sys 用户更次一级的内部数据,如 oracle 的一些特性或工具的管理信息。 system 用户拥有普通 dba 角色权限。 system 用户只能用 normal 身份登陆,除非你对它授予了 sysdba 的系统权限或者 syspoer 系统权限。
normal 身份是普通用户身份
sysdba 身份拥有最高的系统权限,登陆后是 SYS (通过命令“ show user ”查看一下即可知道)
sysoper 身份主要用来启动、关闭数据库, sysoper 登陆后用户是 PUBLIC