Oracle数据库基础
1.Oracle基本概念
1.1数据库
是磁盘上存储数据的集合,在物理上表现为数据文件,日志文件和控制文件等,在逻辑上以表空间存在
1.2全局数据库名
由数据库名称和域名构成,类似网络中的域名,是数据库的命名在整个网络环境中唯一
1.3数据库实例
每个启动的数据库都对应一个数据库实例,由这个实例来访问数据库中的数据
1.4表空间
一个表空间可以由多个数据文件组成,但一个数据文件只能属于一个表空间
1.5数据文件
一个数据文件中可能存储很多个表的数据,而一个表的数据也可能存放在多个数据文件中,即数据表和数据文件不存在一对一的关系
1.6控制文件
由于控制文件的重要性,因此一个数据库至少要有一个以上的控制文件,Oracle 11g默认包含三个控制文件,各个控制文件内容相同
1.7日志文件
在Oracle数据库中,日志文件是组成使用的,每个日志文件组可以有一个或多个日志文件
1.8模式和模式对象
模式是数据库对象的集合,Oracle会为每一个数据库用户创建一个模式,此模式为当前用户拥有,和用户具有相同的名称
2.Oracle数据类型
2.1 char数据类型
这种数据类型的列长度可以使1~2000字节,如果在定义时未指明大小,则默认其占有1字节,如果用户输入的值小于指定的长度,则数据库用空格填充至固定长度
2.2 varchar2数据类型
类型大小为1~4000字节,在定义该数据类型时,应指定其大小
2.3 nchar数据类型
nchar,即国家字符集,使方法和char相同
3.数值数据类型
number数据类型可以在存储正数,负数,零,定点数和精度为38位的浮点数
4.日期时间数据类型
4.1 date 数据类型
用于存储表中的日期和时间数据,Oracle数据库使用自己的格式存储日期,使用7字节固定长度,每字节分别存储世纪,年,月,日,小时,分和秒。
4.2 TIMESTAMP 数据类型
TIMESTAMP 数据类型用于存储日期的年,月,日,以及时间的小时,分,秒,其中秒值精确到小数点后6位,该数据类型同时包含时区信息
5.LOB 数据类型
5.1 CLOB
CLOB能够存储大量字符数据
5.2 BLOB
BLOB可以存储较大的二进制对象
5.3 BFILE
BFILE能够将二进制文件存储在数据库外部的操作系统文件中
6. Oracle 中的伪列
6.1 ROWID
数据库中的每行都有一个行地址,ROWID伪列返回该行地址
ROWID伪列有以下重要的用途
1.能以最快的方式访问表中的一行
2.能显示表的行是如何存储的
3.可以作为表汇总行的唯一标识
6.2 ROWNUM
对于一个查询返回的每行,ROWNUM伪列返回一个数值代表行的次序
7.SQL语言简介
1.数据定义语言(DDL):create(创建),ALTER(更改),TRUNCATE(截断)和DROP(删除)命令
2.数据操纵语言(DML):INSERT(插入),SELECT(选择),DELETE(删除)和UPDATE(更改)命令
3.事务控制语言(TCL):COMMIT(提交),SAVEPOINT(保存点)和ROLLBACK(回滚)命令
4.数据控制语言(DCL):GRANT(授予)和REVOKE(回收)命令
7.1数据定义语言
数据定义语言中,create table语句用来创建新表,alert table语句用来修改表结构,truncate table语句用来删除表中所有记录,drop table语句用力啊删除表
7.1.1 create table命令
语法:create table[schema.] table(colum datatype[,colum datatype[,…]])
schema表示对象的所有者,即模式的名称
table表示表的名称
colum表示列的名称
datatype表示该列的数据类型及其宽度
Oracle和SQL Server数据库对象表之间的差异
类别 | Oracle | SQL Server |
---|---|---|
列数 | 254 | 1024 |
行大小 | 没有限制 | 8060字节,加16字节指向每个text或image列 |
最大行数 | 没有限制 | 没有限制 |
表命名 |