JavaEE学习日志(九十九): oracle体系结构,oracle操作表空间,操作用户,操作表

JavaEE学习日志持续更新----> 必看!JavaEE学习路线(文章总汇)

oracle

oracle介绍

关系型数据库,端口号:1521

优点:大型数据库,效率高,安全(最大的特点)
缺点:收费

体系结构

1、数据库:oracle只要一个数据库。
2、实例:后台运行的一个进程,一个库可以有多个实例,但一般只有一个实例。
3、表空间:逻辑存储单位,如cdef盘,就是逻辑分区。一个实例可以有多个表空间。
4、数据文件:物理存储单位,就是物理存储单位。一个表空间可以对应一个或多个数据文件。
5、用户:oracle面向用户管理,由用户管理表空间,用户向表空间添加数据,最终存储到数据文件中。多个用户管理一个表空间。

sys和system

  • sys:超级管理员,可以修改数据的静态表
  • system:管理员,日常操作:用户管理,表的管理,其他对象的管理

表空间

一、表空间的创建

create tablespace  表空间名称
datafile '路径/数据文件名称.dbf或.ora'
size 200M --指定数据文件的存储大小
autoextend on --开启自动扩展 /off关闭
next 20M;  --每次的增长量

路径:oracle服务所在电脑的的路径
tabelspace:表空间关键字

示例

create tablespace itheima_331
datafile 'c:/itheima_331.dbf'
size 200M -- 指定数据文件的存储大小
autoextend on -- 开启自动扩展 /off关闭
next 20M;  -- 每次的增长量

二、删除表空间

只能删除逻辑单位,不能删除物理单位

drop tablespace 表空间名; --只能删除逻辑单位,不能删除物理单位

要删除逻辑单位和物理单位(需要慎重使用

drop tablespace 表空间名 including contents and datafiles;

用户和权限

一、用户的创建:新创建的用户没有任何的权限

create user 用户名 identified  by 密码 default tablespace 表空间名称;

此时登录时,会提示登录失败,没有任何权限

二、权限管理

  • 赋予权限grant 权限列表 to 用户列表;

  • 回收权限revoke 权限列表 from 用户列表;

权限的分类
1、对象权限:对某用户赋予某表的查询操作,或删除操作
2、系统权限:创建表,修改表,创建视图的权限
3、角色权限:

  • 基础权限:connect:create session
  • 开发人员权限:resource:创建表(包括对表的操作),创建序列,创建存储过程
  • dba权限:dba,接近于system

查询当前用户的所有权限

-- 查询当前用户所有的权限
select * from session_privs;

赋予权限

--赋予权限
grant connect to itheima_331;
grant resource to itheima_331;

回收权限

-- 回收权限
revoke resource from itheima_331;

三、修改用户

修改用户的密码

alter user 用户名 identified by 密码

表的管理

一、数据类型

  • . 字符串类型
    varchar2:由oracle定义,承诺向后兼容
    varchar:可变长度字符串,最大长度:4000
    char:固定长度字符串,最大长度:4000
  • 数值类型
    number:整数类型,相当于mysql中的int
    number(m,n):浮点数类型,m:总位数,n:小数点后的位数
  • 日期类型
    date:与mysql的datetime类型一样
    timestamp:时间戳类型,精确度非常高,精确到秒后的9位
  • 大数据类型:指数据的存储量较大
    clob:字符大数据类型,最大存储量4G
    blob:字节大数据类型,主要存储视频、音频、图片,最大存储量4G(几乎不用)

创建表和修改表

创建表

create table 表名(
	列名 类型 约束
)
create table customer(
       custId number,
       custName varchar2(20)
)

添加列

alter table 表名 add 列名 类型;
alter table customer add address varchar2(20);

修改列属性

alter table 表名 modify 列名 类型 约束;
alter table customer modify address varchar2(200);

删除列

alter table 表名 drop column 列名;
alter table customer drop column address;

修改列名

alter table 表名 rename column 原列名 to 新列名;
alter table customer rename column custName to cname;

约束

六大约束
非空:不能为空
唯一:不能重复
默认:没有指定,使用默认值
主键:唯一非空
外键:与表的关联
检查:检查数据

注意:自增不是约束,且oracle没有自增

create table customer(
       custId number,
       primary key(custId),
       custName varchar2(20) not null,
       address varchar2(40) unique,
       age number default 18 check(age between 1 and 150),
       sex char(2) check(sex in('男','女'))
)

如果添加数据时违反了什么约束,可以将约束的name和报错的属性进行比对,看违反了什么约束
可在这里查看
在这里插入图片描述

sql语句的分类

DCL:数据库控制语言:grant,revoke
DQL:数据库查询语言:select
DML:数据库操作语言:insert,update,delete
DDL:数据库定义语言:create,drop,alter

DML语句:和mysql一样

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章