SQL2009.4.10

//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)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值