美文网首页
Oracle 数据库(一)

Oracle 数据库(一)

作者: 月影风煞 | 来源:发表于2018-04-18 11:41 被阅读0次

1.数据库

DB(database) 用来存储数据的仓库
DBS(数据库系统) 一套软件 包括DB 和DBS
DBMS(数据库管理系统)

主流数据库: 主流数据库

2.sql->structs query lanagues(结构化的查询语言)

任何数据库都支持的语言标准sql
不同数据库
1:数据类型会存在一些差异
2:函数存在一些差异
3:存储过程 plsql.一些差异

3.Oracle 定义

1) oracle版本

oracle7 – oracle8 -> oracle8i -> oracle9i -> oracle10g -> oracle11g -> oracle12c
i->internet 支持网络访问操作
g-> grid 支持网格的数据库 (支持分布式应用)
c->cloud 支持云计算的数据库

2)oracle数据类型
  • 字符类型
    char 是一个定长的字符类型 最大存储空间是2000字符
    char(10) “a”, -> a ,
    varchar 是一个变长的字符类型最大存储空间是4000字符
    varchar(10) “a” -> a,
    varchar2 是一个变长的字符类型最大存储空间是4000字符,是oracle 10g新推出的数据类型在varchar上面改正的数据类型,在性能上比varchar高
  • 数值类型
    number 可以存储任意的数据 包括带小数位的
    number(n) n代表整数位数
    number(3)->存储范围 -999 -999
    number(n,m) n代表有效值的总位数 m小数位数
    number(5,2) ->存储范围 -999.99 -999.99
  • 时间类型
    date 时间 可以存储到 年月日 时分秒
    timestamp 时间 可以存储到 年月日 时分秒 毫秒
  • 大数据类型
    clob 以字符存储的大数据 最大值是4G (文章)
    blob 以二进制存储的大数据 最大值是4G (视频 照片)
3) oracle 表 列命名规范

必须只能是 字母 数字 _ - $ 组成
首字母必须不能是数字
命名不能是oracle的关键字 number char varchar….
命名的长度不能超出 30个字符
数据库中 表名 列名 关键字 都不区分大小写,但数据值区分大小写

4、数据库定义语言 DDL(database defined language)

1)创建表:
   create table 表名(
     列名1  数据类型1,
     ………,
     列名n  数据类型n
)
2) 修改表结构
  • 添加列
    alter table 表名 add (字段名 字段类型 默认值 是否为空,....);
  • 修改列
    alter table 表名 modify (列名 新的数据类型,….. 列名 新的数据类型)
  • 删除列
    alter table 表名 drop column 列名;
  • 字段重命名
    alter table 表名 rename column 老列名 to 新列名
  • 表的重命名
    alter table 表名 rename to 新表名
3) 删除表
drop table 表名;
/*删除闪回为删除oracle10g中的数据库实体提供了一个安全机制,当用删除一个表时,oracle10g 
会将该表放到回收站中,回收站中的对象一真会保留,直到用户决定永久删除它们或出现表空间的空间不足
时才会被删除。回收站是一个虚拟容器,用于存储所有被删除的对象*/
flashback table 表名  to before drop;
4)截断表

truncate table 表名;//删除数据,保留表结构

5、数据库操纵语言 DML(database manipulate language)

  • 向数据库表里面插入记录
insert  into 表名 (列名1,。。。。。列名n) values (列名1值,…. 列名n值);
 数据仅仅插入数据库的缓冲器  要进入数据库 必须启动事务操纵
       Commit ;或者  rollback;
  • 删除表里面的记录
delete from表名   删除表里面的所有记录 保留表结构
也需要  Commit ;或者  rollback; 

drop table 删除表 删除表数据与表结构 不能回滚 会释放空间
truncate table 删除表数据 保留表结构 不能回滚 会释放空间
delete table 删除表数据 保留表结构可以回滚 不释放空间

  • 修改表里面的数据
 Update 表名 set 属性1=值1,….. 属性1=值1 where 属性=值;

6、数据库的规范(范式)

第一范式 :表的列不可再分
第二范式: 在满足第一范式的基础上,行数据可以唯一区分
可以考虑给表加上唯一可以区分的 不能重复的列(主键)
第三范式:在满足第二范式的基础上,外键要依赖其他表的主键

7、表的约束

constraint 约束名 约束类型(列名)

创建表的时候添加约束:

Create table xxx(
 列1 数据类型1,
...,
Constraint 约束名  约束类型 (列名)
)

创建完表之后添加约束:
alter table ttss_user add constraint ttss_user_pk primary key(id);

  • 主键约束(primary key)
  • 唯一约束(unique):只可以有一个null
  • 检查约束(check):常用于范围检查
    constraint sex_check check(sex='女')
  • 默认值约束(default ):写法不一样
    alter table 表名 modify 列名 default 默认值
  • 外键约束(foreign key):值可以是null
    constraint 约束名 foreign key(列名) references 外表名(列名)

相关文章

网友评论

      本文标题:Oracle 数据库(一)

      本文链接:https://www.haomeiwen.com/subject/zhkukftx.html