实例与数据库
- 数据库把表、视图都看成是对象
- Oracle数据库服务器由两部分组成
实例 | 对象,看不见的 |
---|---|
数据库 | 类,看的见的 |
oracle 数据库
就是指的oracle 整体
临时表空间
临时表空间你也可以用,但是只能将临时表放在里面,临时表空间主要放置一些临时数据,比如你查询一个复杂的sql语句,系统会将中间数据
放在临时表空间里暂存
临时表空间会自己删除
(可以选择会话结束就删除)
smallfile tablespace:小文件表空间是创建数据库的默认选项。
maxsize unlimited 表空间大小最大值没有限制
segment space management auto:表示(分割)段空间管理为自动
表空间
实际上oracle是一个一个的DBF
文件,然后n个DBF文件组成一个表空间
表就建立在表空间下,如:
一个数据库叫zhangxu
,
jack下用户使用的表空间有3个: users ,lambor, qiqi
其中
users
由d:\1.dbf组成
lambor
由d:\11.dbf d:\22.dbf组成
qiqi
由 d:\cc.dbf组成
建的表可以选择放在这3个表空间的任意一个里(如果不写,就放在这个用户的默认表空间里,一般都是users,这个表空间是系统自己建立的)
在这里插入图片描述
如果之前存在用户
connect–连接角色,基本角色
resource–开发者角色
dba–超级管理员角色
reuse:重用制定路径下原有的文件。
blocksize:数据块的大小,默认为:8kb
logging:将日志写入日志文件。
online,offline 联机 脱机
extent management local 区管理本地化
segment space management 段空间管理方式
flashback 表空间是否可闪回
当表空间使用本地管理且段空间为字段管理时,表空间才能使用大文件表空间。(本地管理的撤销表空间和临时表空间除外。)
quota unlimited on tbs_main 表示用户在tbs_main上可使用的限额无限制。
account unlimited on tbs_main 创建的用户状态为未锁。
索引:把表数据和索引分离,分别存储在各自的表空间/物理磁盘上。在检索过程中,oracle就可以在不同的表空间中分别并行检索索引键值和数据,提高查询效率。
查看所有已创建的表空间及其对应的数据文件:
select file_name,tablespace_name,status from dba_data_files;
insert into shoes(picId) values(‘524811’)
查询数据字典:
select tablespace_name,status from dba_tablespaces;
alter tablespace zq tablespace group tbs_temp_group;
alter tablespace b tablespace group tbs_temp_group;
select * from dba_tablespace_group
SET SERVEROUTPUT ON; ,只有将serveroutput变量设为on后,信息才能显示在屏幕上。
Orcle中的别名
-
mysql后需要跟着as
Oracle可省略 -
别名都是用双引号“”,Orcle支持直接写别名,但是如果不写双引号则别名不能有空格
-
Oracle别名是不能使用单引号括起来的,Oracle默认单引号是字符串类型和日期类型
Oracle中的null值
- 存在字段是null,则在sqlplus不会显示
- null值数据与其他数据进行运算,最终结果都是null值
- NVL(表达式1,表达式2) 如果表达式1值为null,则取表达式2的值
- null值不能参与=号运算,能参与number/date/varchar2类型运算
- is null关键字代替 = 运算
转义字符
-- 查询姓名中含有'_'的员工【like '%\_%' escape '\'】
select * from emp where ename like '%\_%'escape '\';
-- 查询名字为'',则两个单引号代表一个引号
insert into emp(empno,ename)values(222,'''''');
单行函数与多行函数
单行函数 | 输入一个参数,返回一个结果 |
---|---|
多行函数/分组函数 | 扫描多个结果,返回一个结果 |
- 类型转换有两种:显式(使用函数进行类型转换)、隐式
- 单引号场景
字符串’Hello’
日期’17-12月-80’
to_char/to_date(日期,’ YYYY-MM-DD HH24:MI:SS ') - 双引号场景
select ename “姓名(列别名)” from emp
to_char/to_date(日期,‘ YYYY"年"MM"月"DD"日" HH24:MI:SS ‘)