//author 满晨晨
//time 2009 4 10上午
oracle 卸载
安装时 注册表 C/ORALCE */ORACLE
卸载
1关掉所有ORACLE服务
2正常卸载
删注册表 REGEDIT
3LOCAL SOFTWARE ORACLE 全删了
查找残余的ORACL 删除
4
重启机器
5
查找安装目录和注册表是否有残余
重装常见问题
1 检测到注册表 有残余 即组件
2 不要路径中文
DQL 查询DDL建立删除修改 DML数据插入删除更新 DCL用户grant
----------------------------------------------------------------------------
desc scott.emp desc ,describe 用来显示数据表的结构 不能用
select distinct 列 from distinct 显示时出去相同的记录
in not in
between not between
like not like 模式匹配 like 'M%' like 'M_'
is null
is not null
group by having 分组查询是将查询结果按照字段分组 HAVING相当与WHERE的限制条件查询
select empno,ename,job,sal
from scott.emp
group by job,empno,ename,sal ---按字段分组
having sal<=2000 --分组后是否符合条件
where 检查每条记录是否符合条件
having检查分组后的各组是否满足条件
having 只能配合group by 使用
嵌套查询
select emp.id,emp.name,emp,job,emp,sal
from scott.emp
where sal>=(select sal from scott.emp where name='manchen'); sal只有一个结果
any 相当于or any=some 没区别
select emp.id,emp.name,emp,job,emp,sal
from scott.emp
where sal > any(select sal from scott.emp where job='kkk');
因为做KKK工作的可能有很多人 所以其sal可能很多值 如1000,2000,3000
然后 sal>1000 or sal>2000 or sal>3000
all 相当于and
select emp.id,emp.name,emp,job,emp,sal
from scott.emp
where sal > all(select sal from scott.emp where job='kkk');
最后要求sal>1000 and sal>2000 and sal>3000
exists
where exists(........)存在于 符合条件等等 反正就是属于的意思
并操作 :就是集合中并集的概念 即属于A或者B的集合
(select id from scott.emp)
union
(select id from scott.dept)
交操作 :就是集合中交集的概念 即属于A也属于B的集合
(select id from scott.emp)
intersect
(select id from scott.dept)
差操作:属于A不属于B
(select id from scott.emp)
minus
(select id from scott.dept)
函数:
ceil(n) 取大于等于数值N的最小整数
floor(n) 取小于等于数值N的最小整数
mod(m,n)取M整除N后的余数
power(m,n)取M的N次方
ROUND(M,N)四舍五入 保留N位
sign(n)n>0 取1 n=0 取0 n<0 取-1
avg(数值型字段名 ) 取平均值
distinct 不算重复
count(字段名)或者count(*)统计总数
min(字段名)取数值型字段最小
max(字段名)取数值型字段最大
sum(字段名)计算数值型字段总和
SQL录入数据
insert into 数据表(字段名1,字段名2,。。)values(字段名1的值,字段名2的值,。。)
delete from 数据表 where 条件
truncate table scott.test 快速删除数据表中的所有记录 但保留数据表结构
delete 删除全部数据表记录
但delete 可以回滚恢复 而trcncate 删除数据不可恢复
但保留表结构
update 表
set 字段=, 字段2=,...
where 条件
------------------------------------------------------------------------------------------------------------------
设计数据库 业务功能
用户表 1 表中字段
2 主键
3 数据类型(字段)
4 约束 是否条件为空(字段)
值约束
char 固定长度最大2000
varchar2 可变长度最大4000
可做索引 最大749
nchar 根据字符集而固定 2000
ncarchar2 ,,,,,,,,,,,,,,4000
blob 二进制数据 最大4G
nclob 根据字符集而定的大字符........
clob 超过4000个字符可用大字符对象数据类型 最大4G 用来存储图片
long 超长字符串 最长2G 存储大部头著作
raw固定长度的二进制数据 最大2000 存储多媒体图象声音
longraw 2G 可变
number 无论整数小数都用NUMBER
age number数据类型
salary number(10,2)10,2 指小数点前8位小数点后2位
date 日-月-年
ROWID 数据表记录的 唯一行号10
NROWID二进制数据表记录的唯一行号 最大4000
BFILE 存放在数据库外的二进制数据 最大4G
oracle 建表的时候
先在安全性 用户里创建一个自己的用户
然后在方案里创建一个表 属于这个用户 只有用户里面有表 才会出现在方案里
CREATE TABLE "USER" ---STUDENT下USER表
("SID" NUMBER(10) NOT NULL, ---
"NAME" VARCHAR2(30) NOT NULL,
"PASSWORD" NUMBER(10) NOT NULL,
"TID" NUMBER(10) NOT NULL,
PRIMARY KEY("SID")
)
或者create table scott.test
as
(
select distinct empo,ename,date
from scott.emp
where empo>=5000
);
DML作为事务处理 暂放在数据存储区域 并没有放在真正的硬盘空间上
所以最后commit来提交
insert into student.user values('1','manchen','321','5454'); 按给定顺序插入
insert into student.user(name,sid,tid,password) values('manchen','1','5454','321');
--任务提交到服务器硬盘上
commit; 各种工具都需要提交
--更新
update user set name='manchenchen';
update user set name='manchenchen' where name='manchen';
delete from user where name='manchen';-----没有*
--回滚上一条事务
rollback
alter table user add phone number(10);
作业 原来的用户表中添加 用语句添加
解决记录重复的问题 加主键 primary key
用户年龄
身份证号 用VARCHAR2(18) NUMBER最好不用 因为有的身份证里
性别
电话
个人收入
照片
用什么数据类型
INSERT DELECT ALTER CREAT
create table my
(
id varchar2(18) not null,
password varchar2(30) null,
address varchar2(100) null,
name varchar2(30) null,
age number(3) null,
sex number(1) null,//char(1) 性别尽量用char型
phone number(11)null,手机可以.如果家里电话用varchar2(17) XXX-XXX-XXX-XXXXXX等等中间--属于字符
sal number(10,2) null,有提成什么的需要角分
pict clob null,
primary key(id)
)
commit
clob图片 字符
blob音频 二进制
下节课 业务--》表结构 (样例库)
SQL select
总结 字段名 生活的实体相对应 英文
字段类型 存储数据类型的:字符,值
字段长度 存储数据范围 最大值
对将来发展的可能出现的最大值
数据:
字符
char 固定 2000B
varchar2 可变 4000B
nchar 固定 2000B
nvarchar2 可变 4000B
long 2G
CLOB 4G
NVLOB 4G
数值
number
日期
date 日 月 年
二进制 BLOB
ROWUD
NROWID
BFILE
RAW
更改数据类型
ALTER TABLE "SCOTT"."my" MODIFY("pict" CLOB)