2.Oracle_2

1 Scott是demo用户

在这里插入图片描述

2. Oracle的结构:

物理:

  • 数据文件: .DBF
  • 控制文件: .CTL
  • 日志文件: .LOG

逻辑:

  • 数据库: 实例
  • 表空间: 对应用户, 系统表空间,用户表空间,临时表空间。 对应一个或多个BDF。一个数据文件只能与一个表空间相联。
  • 段:对应表, 多个区组成一个段。 数据段(表),索引段(索引),回退,临时段
  • 区:连续的数据块。 表是可以分区存储。
  • 数据块: 一行数据

3. 工具: SQLPLUS

在这里插入图片描述

desc + 表名:描述

4. 创建用户:

-- 创建用户 指定默认表空间,和临时表空间
create user mazheng
identified by 123456
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP;
-- 授权访问
grant create session to  mazheng; 
-- 切换用户访问。。。

-- 删除用户
drop user mazheng;

5. 授权:

  • 系统权限: 允许用户执行某些操作:创建表权限 create table
  • 对象权限:在对象上的操作 ::对象(表,索引,序列。。。。) select on table
-- 授权
grant 权限/角色 to 用户/角色;
-- 撤销
revoke 权限 from  用户;

6 修改和删除

ALter USER 用户 identifeid by 密码; 修改密码

7 SQL: 结构化查询语句

sql是 关系型数据库通用 ORDBMS:对象关系型数据库管理系统

  • SQLServer: MS : 大型
  • MySQL: oracle: 中小型
  • Oracle: 大型
  • DB2: ibm: 大型
  • gaussDB: huawei: 涵盖所有
  • teradata: 美商天睿:超大型:

NOSQL:非关系型数据

  • mongo: 基于document的
  • redis: key,vale数据库
  • 图库,

8. SQL分类:※

  • DDL: 数据定义语言:

    create创建 alter修改 drop摧毁 truncate截断(把表中数据清空,保留表结构)

  • DML:数据操纵语言 insert插入 update更新 delete删除 select查询

    • DQL: 数据查询select
  • DCL: 数据控制语言grant授权 revoke回收

  • TCL: 事务控制语言commit提交 rollback回滚 savepoint保存回滚点

9 数据类型:

  • 字符:char varchar2 nchar nvarchar2 long clob

    • char: 定长字符型: 右侧补空格 2000

    • varchar2;不定长字符型 4000

    • nchar:定长字符型:可以放全角2000

    • nvarchar:不定长字符型:可以放全角4000

    • long: 2G以内不定长字符型

    • clob: 4G以内不定长字符型

    -- DDL 创建表
    create table A1 (a char(10), b varchar2(10));
    
    -- DQL DML查询表
    select * from a1;
    
    -- DML 插入数据
    insert into a1 (A, B) values ('hello', 'world');
    
    -- length函数: 字符的长度
    select A , length(A), B, length(B)
    from a1;
    
    alter table A1 add C nchar(10);
    alter table A1 add D nvarchar2(10)
    
    select * from A1;
    
    insert into A1 (C, D) values ('abcdefghij', '一二三四五六七八九十') 
    insert into A1 (C, D) values ('abcdefghij1', '一二三四五六七八九十') 
    

在这里插入图片描述

  • number(p,s); 数值类型:

    • number(5,2) 五位数小数是两位 999.99
    • number(2) 两位整数 99 -99
alter table A1 add E number(5,2);
alter table A1 add F number(2);
update a1 set E=3.119, F=1

在这里插入图片描述

  • Date: 日期类型 年月日时分秒格式
    • to_date(str, ‘yyyy-mm-dd hh24:mi.ss’); 模式不区分大小写
    • 系统时间: sysdate, current_date
-- dual: 伪表
select sysdate, current_date from dual;
select sysdate - to_date('1999-2-1 17:01:02', 'yyyy-mm-dd hh24:mi:ss')
from dual;

  • timestamp: 时间戳类型。精确秒后6位: 可以用例做乐观锁

    select sysdate, systimestamp, CURRENT_date, current_timestamp from dual;
    
  • raw; 二进制 2000字节以内

  • long raw: 2G以内

  • Blob: 4G以内

  • BFile: 关联到外部系统文件

乐观锁

select sysdate, systimestamp, CURRENT_date, current_timestamp from dual;
  • raw; 二进制 2000字节以内
  • long raw: 2G以内
  • Blob: 4G以内
  • BFile: 关联到外部系统文件
posted @ 2021-04-15 12:19  剑心空明  阅读(0)  评论(0编辑  收藏  举报  来源