设为首页 收藏本站
查看: 748|回复: 0

[经验分享] ORACLE使用全套脚本

[复制链接]

尚未签到

发表于 2016-7-21 03:04:17 | 显示全部楼层 |阅读模式
select * from help;
----------------1.创建表空间(可以省略,企业中就必须实现)
CREATE TABLESPACE epet_tablespace
DATAFILE 'F:\word\Epet.dbf' --前提必须目录存在
SIZE 10M
AUTOEXTEND ON NEXT 5M
MAXSIZE UNLIMITED
alter database datafile 'F:\word\Epet.dbf' offline drop;
drop tablespace Epet
---------------2.创建用户------------------------
CREATE USER epet IDENTIFIED BY accp
DEFAULT TABLESPACE epet_tablespace  --可以省略
TEMPORARY TABLESPACE temp;          --可以省略
---------------3.授权和撤销------------------------
GRANT CONNECT,RESOURCE TO epet;
--授予查询权限给epet
--GRANT SELECT ON emp TO epet;
--select * from system.emp
---------------4.使用epet登录数据库,之后创建表------------------------
--创建master,pet_type,pet表
CREATE TABLE  pet_master(
m_id number(11) PRIMARY KEY,
loginid NVARCHAR2(50) NOT NULL,
m_password NVARCHAR2(50) NOT NULL,
status CHAR(1) DEFAULT 1 NOT NULL
);
CREATE TABLE pet_type(
t_id NUMBER(11) PRIMARY KEY,
t_name NVARCHAR2(50) NOT NULL,
status CHAR(1) DEFAULT 1 NOT NULL
);
CREATE TABLE pet(
p_id NUMBER(11),
m_id NUMBER(11),
p_name NVARCHAR2(50),
t_id NUMBER(11),
health NUMBER(11) DEFAULT 100 NOT NULL,
love NUMBER(11) DEFAULT 100 NOT NULL,
prop1 NVARCHAR2(100),
prop2 NVARCHAR2(100),
prop3 NVARCHAR2(100),
adopt_time DATE NOT NULL,
status CHAR(1) DEFAULT 1 NOT NULL,
CONSTRAINT pet_pk PRIMARY KEY (p_id),
CONSTRAINT p_m_fk FOREIGN KEY (m_id) REFERENCES pet_master(m_id),
CONSTRAINT p_t_fk FOREIGN KEY (t_id) REFERENCES pet_type(t_id)
);
---------------5.序列------------------------
create sequence SEQ_MASTER_ID
minvalue 1
maxvalue 999999999999999999999999999
start with 1
increment by 1
cache 10;
create sequence SEQ_PET_ID
minvalue 1
maxvalue 999999999999999999999999999
start with 4
increment by 1
cache 10;
--查询序列的值
select SEQ_MASTER_ID.NEXTVAL from dual;
--查询遍编辑数据
select * from pet for update
select * from pet_type for update
select * from pet_master for update
--插入测试数据
insert into pet_type values(1,'狗狗',default);
insert into pet_type values(2,'猫猫',default);
insert into pet_type values(3,'鸡鸡',default);
insert into pet_master values(SEQ_MASTER_ID.nextval,'大叔','123',default);
insert into pet_master values(SEQ_MASTER_ID.nextval,'大妈','111',default);
insert into pet values(SEQ_PET_ID.nextval,1,'阿呆',1,80,80,null,null,null,sysdate,0);
insert into pet values(SEQ_PET_ID.nextval,1,null,1,80,80,null,null,null,sysdate,1);
commit;
---------------6.常用函数------------------------
-----Extract,获取指定日期部分,||连接字符串
--领养时间年月日,不推荐
select extract(year from adopt_time) || '年' ||
extract(month from adopt_time) || '月' ||
extract(day from adopt_time) || '日' adopt_time
from pet;
-----to_char是将非字符类型转换字符类型,
-----常用于日期转换为指定格式的字符串
--to_char(date)
select To_char(adopt_time) from pet;
--to_char(date,format)
select to_char(adopt_time, 'yyyy-mm-DD') adopt_time from pet;
select to_char(adopt_time, 'yyyy"年"MM"月"dd"日"') adopt_time from pet;
select to_char(
sysdate, 'yyyy"年"MM"月"dd"日"hh24"时"mi"分"ss"秒"'
) adopt_time from dual;
-----Decode,如果条件1,结果1,条件2,结果2...,else结果
select decode(pet.status,0,'正常',1,'禁用','无效') status from pet;
select decode(pet.name,null,'无名',pet.name) from pet;
-----nvl,如果值不为null就正常显示,否则显示为指定的值
select nvl(pet.name,'无名') from pet;
-----其他函数
--日期比较
--第一种,使用默认日期格式比较
select *
from pet
where pet.master_id = 1
and pet.adopt_time > '01-1月-10'--OK
--第二种,使用to_char
select *
from pet
where pet.master_id = 1
and to_char(pet.adopt_time,'yyyy-mm-dd') > '2010-01-01'
--第三种,使用to_date
select *
from pet
where pet.master_id = 1
and pet.adopt_time >to_date( '2010-01-01','yyyy-mm-dd');
select to_char(pet.adopt_time) from pet;
--去空格
select rtrim(ltrim('      abc         ')) a from dual;
--replace,替换,位置从1开始
select replace ('jack and jue', 'j', 'bl') from dual;
--instr,查询字符的位置
select instr ('worldwide', 'd') from dual;
--substr,截取字符串
select substr ('abcdefg',3,2) from dual;
--mod,取余数
select mod(10,3)  from dual;
--round,四舍五入取小数位数
select round(100.256,2) from dual;
--trunk,不进行四舍五入取小数位数
select trunc(100.256,2)  from dual;
--to_number,转换成数字
select to_number('1234.5') from dual;
--聚合函数
select count(*) from master where status = 1;
select avg(health) from pet where master_id=1;
--案例
select pet.id,
nvl(pet.name, '无名') name,
pet.health,
pet.love,
decode(pet.status, 0, '正常', 1, '禁用', '无效') status,
to_char(pet.adopt_time, 'yyyy"年"mm"月"dd"日"') adopt_time
from pet
---------------7.索引------------------------
CREATE UNIQUE INDEX adopt_time_index ON pet(adopt_time DESC);
CREATE BITMAP INDEX type_id_bitmap_index ON pet(type_id);
CREATE INDEX health_love_index ON pet(health,love);
CREATE INDEX to_char_index ON pet(TO_CHAR(adopt_time,'YYYY'));
CREATE INDEX master_id_reverse_index ON pet(master_id) REVERSE;
DROP INDEX master_id_reverse_index;
---------------8.导出与导入------------------------
--1.表方式的导出
exp epet/accp@服务名 tables=(master,pet_type,pet) file=d:\tables_epet.dmp
--2.用户方式的导出(建议),如果数据大的时候,建议使用buffer=8000000
exp epet/accp file=d:\epet.dmp buffer=8000000
--3.全数据库方式导出(不建议)
exp system/accp file=d:\system_complete.dmp inctype=complete buffer=8000000
---------------9.导入------------------------
imp epet3/accp file=d:\epet.dmp full=y buffer=8000000
imp epet/accp file=F:\word\ch12\epetdb.dmp full=y buffer=8000000
--注意
--导出与导入用户的时候,必须保证导出的用户与导入的用户具有相同角色

  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-247006-1-1.html 上篇帖子: ORACLE EBS输出文件 下篇帖子: oracle SQL分页查询
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表