* Oracle的简介
ORACLE 数据库系统是美国 ORACLE 公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S 体系结构的数据库之一。
ORACLE 通常应用于大型系统的数据库产品。
ORACLE 数据库具有以下特点:
(1)支持多用户、大事务量的事务处理
(2)数据安全性和完整性控制
(3)支持分布式数据处理
(4)可移植性
卖的是服务
*Oracle的体系结构
*数据库
Oracle 数据库是数据的物理存储。这就包括(数据文件 ORA 或者 DBF、控制文件、联机日志、参数文件)。其实 Oracle 数据库的概念和其它数据库不一样,这里的数据库是一个操作系统只有一个库。可以看作是 Oracle 就只有一个大数据库。
*实例
一个Oracle实例(Oracle Instance)有一系列的后台进程(Backguound Processes)和内存结构(Memory Structures)组成。一个数据库可以有 n 个实例。
*数据文件(dbf)
数据文件是数据库的物理存储单位。数据库的数据是存储在表空间中的,真正是在某一个或者多个数据文件中。而一个表空间可以由一个或多个数据文件组成,一个数据文件只能属于一个表空间。一旦数据文件被加入到某个表空间后,就不能删除这个文件,如果要删除某个数据文件,只能删除其所属于的表空间才行。
*表空间
表空间是 Oracle 对物理数据库上相关数据文件(ORA 或者 DBF 文件)的逻辑映射。一个数据库在逻辑上被划分成一到若干个表空间,每个表空间包含了在逻辑上相关联的一组结构。每个数据库至少有一个表空间(称之为 system 表空间)。
每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫数据文件(datafile)。一个数据文件只能属于一个表空间。
*用户
用户是在表空间下建立的。用户登陆后只能看到和操作自己的表, ORACLE的用户与 MYSQL 的数据库类似,每建立一个应用需要创建一个用户。
*Oracle的安装和配置
*VMware挂载Windows server 2003
*网络配置
*设定虚拟操作系统的IP地址
*安装Oracle数据库
*SQLPlus 远程连接Oracle数据库
*PLSQL Developer 安装与配置
*Oracle的操作
*创建表空间
create tablespace waterboss
datafile 'c:\waterboss.dbf'
size 100m
autoextend on
next 10m
*创建用户
create use wateruser
identified by itcast
default tablespace waterboss
*用户赋权
grant dba to wateruser
*表结构的创建、修改和删除 DDL
create alter drop truncate
*表数据的增删改 DML
insert delete update
*表的创建.修改和删除
* 创建表
语法:
CREATE TABLE 表名称(
字段名 类型(长度) primary key,
字段名 类型(长度),
.......
);
*数据类型
*字符型
(1)CHAR : 固定长度的字符类型,最多存储 2000 个字节
(2)VARCHAR2 :可变长度的字符类型,最多存储 4000 个字节
(3)LONG : 大文本类型。最大可以存储 2 个 G
*数值型
NUMBER : 数值类型
例如:NUMBER(5) 最大可以存的数为 99999
NUMBER(5,2) 最大可以存的数为 999.99
*日期型
(1)DATE:日期时间型,精确到秒
(2)TIMESTAMP:精确到秒的小数点后 9 位
*二进制型(大数据类型)
(1)CLOB : 存储字符,最大可以存 4 个 G
(2)BLOB:存储图像、声音、视频等二进制数据,最多可以存 4 个 G
*修改表
*增加字段语法
ALTER TABLE 表名称 ADD
(
列名 1 类型 [DEFAULT 默认值],
列名 1 类型[DEFAULT 默认值]
...
)
*修改字段语法
ALTER TABLE 表名称 MODIFY
(
列名 1 类型 [DEFAULT 默认值],
列名 1 类型[DEFAULT 默认值]
...
)
* 修改字段名语法:
ALTER TABLE 表名称 RENAME COLUMN 原列名 TO 新列名
* 删除字段名
-- 删除一个字段
ALTER TABLE 表名称 DROP COLUMN 列名
-- 删除多个字段
ALTER TABLE 表名称 DROP (列名 1,列名 2...)
*删除表
DROP TABLE 表名称
*数据增删改
INSERT INTO 表名[(列名 1,列名 2,...)]VALUES(值 1,值 2,...)
UPDATE 表名 SET 列名 1=值 1,列名 2=值 2,....WHERE 修改条件;
DELETE FROM 表名 WHERE 删除条件;
*JDBC连接oracle
*创建项目,引入驱动包 ojdbc14.jar
*驱动类: oracle.mysql.jdbc.OracleDriver
*路径: jdbc:oracle:thin:@ip:端口号:orcl 瘦连接
胖连接: 需要在本地安装oracle客户端的连接
*数据导出与导入
当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(硬件故障、软件故障、网络故障、进程故障和系统故障)影响数据库系统的操作,影响数据库中数据的正确性,甚至破坏数据库,使数据库中全部或部分数据丢失。因此当发生上述故障后,希望能重构这个完整的数据库该处理称为数据库恢复,而要进行数据库的恢复必须要有数据库的备份工作。
*整库的导出
exp system/itcast full=y 备份文件为EXPDAT.DMP
exp system/itcast file=文件名 full=y 自己定义备份文件名
*整库的导入
imp system/itcast full=y
imp system/itcast full=y file=water.dmp
*按用户导出
exp system/itcast owner=wateruser file=wateruser.dmp
*按用户导入
imp system/itcast file=wateruser.dmp fromuser=wateruser
*按表导出
exp wateruser/itcast file=a.dmp tables=t_account,a_area
用 tables 参数指定需要导出的表,如果有多个表用逗号分割即可
*按表导入
imp wateruser/itcast file=a.dmp tables=t_account,a_area
|
|