第一章 oracle入门。
本章目标。1. 理解与 oracle 相关的 rdbms结构。
2. 掌握oracle 数据类型。
3. 掌握数据定义语言(ddl)
4. 掌握数据操纵语言(dml)
5. 掌握事务处理语言(tcl)
6. 掌握数据控制命令(dcl)
oracle是一种对象关系型的数据库管理系统 (ordbms)
oracle数据库的主要特点。
1. 支持多用户、大事务量的事务处理。
2. 数据安全性和完整性控制。
3. 支持分布式数据处理。
4. 可移植性。
oracle 数据库的开发流程。
服务器端:1. 安装 oracle 服务器软件。
2. 创建数据库(安装时自动创建)
3. 配置***(安装时自动配置)
4. 启动oracle实例(自动启动服务)
5. 创建用户表空间。
6. 创建新用户并授权。
客户端:1. 安装 oracle 客户端软件。
2. 配置网络服务名。
3. 以新用户登录 oracle
4. 提交 sql 查询。
oracle数据类型。
字符 varchar2()
数值 number(p [ s])
日期时间 date
raw/long raw(此类型基本过时不用)
lob (大对象)
常用的伪列有rowid和rownum
rowid 是表中行的存储地址,该地址可以唯一地标识数据库中的一行,可以使用 rowid 伪列快速地定位表中的一行。
rownum 是查询返回的结果集中行的序号,可以使用它来限制查询返回的行数。
数据定义语言(ddl)
create table
alter table
truncate table
drop table
数据操纵语言(dml)
select
create table as
select column_names from ;
insert into [(cloumn_list)]
select column_names from ;
insert
update
delete
事务控制语言(tcl)
commit
rollback
s**epoint
sql> update order_master
set del_date = 30-8月-05’
where orderno <=o002’;
sql> s**epoint mark1;
sql> delete from order_master where orderno = o002’;
sql> s**epoint mark2;
sql> rollback to s**epoint mark1;
sql> commit;
数据控制语言(dcl)
grantrevoke
grant select on
to [with grant option]
revoke select, update on
from oracle 查询工具。
oracle 提供的工具非常容易使用。oracle 的查询工具包括:
sql*plus,isql*plus,pl/sql
oracle 默认用户。
只有用合法的用户帐号才能访问oracle数据库。
oracle 有几个默认的数据库用户
sys,system,scott
创建新用户。
要连接到oracle数据库,就需要创建一个用户帐户。
每个用户都有一个默认表空间和一个临时表空间。
create user命令用于创建新用户。
create user 命令的语法是:
create user martin identified by martinpwd
default tablespace users
temporary tablespace temp;
授予权限。权限有两种类型,系统权限和对象权限。
系统权限允许用户执行某些数据库操作,如创建表就是一个系统权限。
对象权限允许用户对数据库对象(如表、视图、序列等)执行特定操作。
角色是一组相关权限的组合,可以将权限授予角色,再把角色授予用户,以简化权限管理。
grant 命令可用于为用户分配权限或角色
grant connect to username; (connect角色允许用户连接至数据库,并创建数据库对象)
grant resource to username; (resource角色允许用户使用。
数据库中的存储空间)
alter user 命令可用于更改口令
例如:alter user martin identified by martinpass;
drop user 命令用于删除用户
例如:drop user martin cascade;
第二章 sql与sql函数。
本章目标。数据库和数据表的操作。
sql 语句的使用。
sql*plus 中的运算符。
sql*plus 函数(分析函数)
建立表空间(dba 才有权创建表空间)
create tablespace tablespacename
datafile ‘filename’
size integer [k|m]] autoextend [off|on] next integer k/m];
建表。create table [schema.]table_name
column datatype [,column datatype[,
修改表结构。
查看表结构:desc table_name;
修改列:alter table modify (column definition …)
添加列: alter table add (column definition …)
删除列: alter table drop column column_name;
删除表或数据。
delete [from] table_name;(可以回滚)
truncate table table_name; (快速删除记录并释放空间,不使用事务处理)
drop table table_name;(删除表)
sql 操作符。
算术操作符 (+减(-)乘(*)除(/)
比较操作符 =、between…and、in、like 和 is null
逻辑操作符与(and)、或(or)和非(not)
集合操作符。
集合操作符将两个查询的结果组合成一个结果。
union(联合):返回两个查询选定的所有不重复的行。
union all(联合所有):返回两个查询选定的所有行。
intersect操作符返回两个查询的公共行。
minus 操作符返回从第一个查询结果中排除第二个查询**现的行。
连接操作符。
连接操作符用于将多个字符串或数据值合并成一个字符串。
sql> select (venname|| 的地址是 '
||venadd1||'venadd2 ||venadd3) address
from vendor_master where vencode='v001';
sql 函数。
1. 日期函数。
2. 数字函数。
3. 字符函数。
4. 转换函数。
5. 其他函数。
日期函数:1. add_months
2. months_between
3. last_day
4. round
5. next_day
6. trunc
7. extract
字符函数:数字函数。
转换函数。转换函数将值从一种数据类型转换为另一种数据类型。
常用的转换函数有:
to_char
to_date
to_number
select to_date(‘2005-12-06’ ,yyyy-mm-dd’) from dual;
select to_number('100') from dual;
select to_char(sysdate,'yyyy"年"fmmm"月"fmdd"日" hh24:mi:ss')
from dual;
其它函数。以下是几个用来转换空值的函数:
nvlnvl2
select ename,nvl(columnname,参数1) from ;
select ename,sal,comm,nvl2(columnname,参数1,参数2) from ;
oracle笔记
1 查看表的结构 desc tabledescription 2 set timing on 打开操作表的时间记录。3 消除重复行 distinct 4 大小写不区分的是列名,而不是里面的数据。1 可以对某一列直接进行加减乘除。两列相加。2 如果有一列为null,所得结果也为空。使用nvl函数处理n...
Oracle笔记
第1页1.oracle 的使用 1.1.sqlplus 的命令 初始化表的位置 set nls lang american 设置编码才可以使用下面脚本 cd oracle home rdbms cd demo 我们目前使用的是oralce 9i 9201 版本 select from v versi...
oracle笔记
clear 清屏。col title for a20 设置title的字符最多有20个。oracle介绍。rdbsrdb 基本的存储结构是,二维表。表头。行。列。字段。sql的分类 dsl 关键字 select dml 操作 insert delete update ddl 定义 create dr...