oracle基础入门

baidu_41284574 2017-12-06 12:31:56
建表空间
create tablespace NK_DATA
datafile 'D:/oracle/product/10.2.0/oradata/orcl/NK_DATA1.def' size 1000M
autoextend on next 1000M maxsize unlimited logging
extent management local autoallocate
segment space management auto;
建用户
create user UNIREPORT
identified by "UNIREPORT"
default tablespace NK_DATA
temporary tablespace FINTEMP
profile DEFAULT;
授权
grant connect to UNIREPORT;
grant dba to UNIREPORT;
grant resource to UNIREPORT;
grant unlimited tablespace to UNIREPORT;

导出
exp SZ/SZ@fin file=d:\SZ.dmp log=d:\SZ.log grants=y
导入
imp FIN/FIN@ORCL file=F:\FIN.dmp log=F:\FIN.dmp.log fromuser=FIN touser=FIN buffer=4096000 feedback=100000

新建表
create table aaa (
jl_hh NUMBER(20) default -1 not null,
name VARCHAR2(20),
lsh VARCHAR2(100)

新增表字段
alter table aaa add KK_BBB varchar(100);
修改表名
alter table old_table_name rename to new_table_name;
建立索引
create index IDX_BB_ZZ_SJZZ_HH on BB_ZZ (SJZZ_HH)
tablespace FIN_TABLE
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);

查询语句
select * from tablename;
通过等值联接
select z.name , y.position , y.score from TableX x inner join TableY y on x.id = y.id
inner join TableZ z on x.department = z.id
外联接
select x.Name,y.Posistion,y.Scored from TableX x left join TableY y ON x.ID =y.ID
基础函数
sum,distinct ,Decode,nvl,case,with,intersect,minus,substr,having
DECODE(value, if1, then1, if2,then2, if3,then3, . . . else )
sum,求和
distinct,去重
nvl,如nvl(字段,‘x’)字段值等于null
case, case when t=1 then '男' else ‘女’end
with 在两个值之间的意思
Intersect 返回两个输入集合的交集,可以选择保留重复项。语法 Intersect(«Set1», «Set2»[, ALL])
minus, 取差集
substr, SUBSTR(str,pos,len);
这种表示的意思是,就是从pos开始的位置,截取len个字符(空白也算字符) 。
having HAVING对由sum或其它集合函数运算结果的输出进行限制
等号=与in
能用=尽量不要用in,数据量大时,in速度比较慢,举例(a=5 or a=6) 和 a in (5,6)
sqlldr:
大批量数据导入时使用sqlldr速度很快,需要连个文件,一个转换文件
for /r C:\sqlldr %%a in (*.csv) do type "%%a" >>%%~dpanewcsv.txt
一个控制文件
LOAD DATA
INFILE 'c:\sqlldr\newcsv.txt'
APPEND INTO TABLE aaa
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
(TJR,TJSJ,JL_HH)
注意转换后的newcsv.txt文件列,必须大于等于控制文件的列。

建立视图
create or replace view v_aaa as
select a.JL_HH, a.name from aaa a;
建立计数器
create sequence SEQ_aaa
minvalue 0
maxvalue 99999999
start with 1970540
increment by 1
cache 20
cycle;

建立同义词
create or replace synonym aaa_1 for FIN.aaa;同一实例下连个用户可以直接建立,但是需要授权;
不通实例需要首先建立dblink;
...全文
506 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ChinaITOldMan 2017-12-28
  • 打赏
  • 举报
回复
谢谢您的分享!
卖水果的net 2017-12-07
  • 打赏
  • 举报
回复
不错,赞一个,记录在博客中更好。
wandier 2017-12-06
  • 打赏
  • 举报
回复
好东西,哪位高手也把mysql总结下!
minsic78 2017-12-06
  • 打赏
  • 举报
回复
又是三连那个in和or,其实不仅仅是这两者,很多的SQL层面改写的优化都没你想象中有效,而且不能广泛推广。SQL优化影响的因素很多,更多时候与你的数据分布有很大的关系,很少有能绝对适合所有场景的东西
minsic78 2017-12-06
  • 打赏
  • 举报
回复
exp时,大多选项都是打开的,所以grants=y其实是多余的
minsic78 2017-12-06
  • 打赏
  • 举报
回复
权限控制不太好DBA不该给的,而且,resource和dba两个角色赋予时,会隐含给unlimited tablespace的系统权限,所以最后一句grant多余了,其实这句改成revoke,给当前用户在自己默认表空间上的quota更好
sxq129601 2017-12-06
  • 打赏
  • 举报
回复
多谢分享,学习了!
碧水幽幽泉 2017-12-06
  • 打赏
  • 举报
回复
多谢分享,学习了!
oracle基础教程 课程说明 1 课程介绍 1 课程目标 1 相关资料 1 第1章 ORACLE数据库概述 2 1.1 产品概述 2 1.1.1 产品简介 2 1.1.2 基本概念 3 1.2 ORACLE系统结构 4 1.2.2 ORACLE物理结构 4 1.2.3 系统全局区 6 1.2.4 进程 8 1.3 存储管理 9 1.3.2 逻辑结构 10 1.3.3 表(Table) 14 1.3.4 视图(View) 18 1.3.5 索引(Index) 18 1.3.6 同义词(Synonym) 19 1.3.7 序列(Sequence) 19 1.3.8 数据库链(Database Link) 20 第2章 管理ORACLE数据库 21 2.1 基本概念 21 2.1.1 数据字典 21 2.1.2 事务管理 23 2.1.3 数据库管理员(DBA) 24 2.1.4 ORACLE的四种状态 25 2.2 SQL*Plus方式的ORACLE数据库启动和关闭 26 2.2.1 启动数据库 26 2.2.2 关闭数据库 26 2.3 svrmgrl方式的ORACLE数据库启动和关闭 28 2.3.1 启动数据库 28 2.3.2 关闭数据库 30 2.4 应用开发工具(SQL * Plus) 31 2.4.1 SQL 32 2.4.2 PL/SQL 33 2.4.3 数据库管理工具 36 2.5 ORACLE用户及权限管理 36 2.5.1 ORACLE的用户管理 37 2.5.2 ORACLE的权限管理 38 2.6 ORACLE数据库的备份与恢复 39 2.6.1 Export 转入程序 40 2.6.2 Import 转入程序 42 2.6.3 增量卸出/装入 44 第3章 ORACLE数据库的网络应用 46 3.1 SQL*Net产品介绍 46 3.2 配置客户机/服务器结构 47 3.2.1 配置listener.ora 47 3.2.2 配置tnsnames.ora文件 48 第4章 常用任务示例 51 4.1 如何恢复被误删的数据文件 51 4.2 如何杀掉吊死session 51 4.3 如何修改字符集 51 4.4 如何追加表空间 51 4.5 如何加大表的maxextents值 52 4.6 如何查询无效对象 52 4.7 怎样分析SQL语句是否用到索引 52 4.8 怎样判断是否存在回滚段竞争 53 4.9 怎样手工跟踪函数/存储过程执行情况 54 4.10 多种业务使用同一数据库如何分配回滚段 54 4.11 怎样倒出、倒入文本数据 54 4.11.1 倒出 54 4.11.2 倒入 55 4.12 如何更新当前数据库日志备份方式为archive 56 4.13 Unix环境下如何实现自动备份 56 4.13.1 设置运行环境 56 4.13.2 倒出数据 56 4.13.3 异地备份 57 4.13.4 启动备份进程 58 4.14 怎样分析ORACLE故障 59 小结 61 附录A ORACLE数据字典与视图 62 附录B 动态性能表 68 附录C SQL语言运算符与函数 70

17,382

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧