oralce卸载查询语句触发器视图使用个人笔记.docx
- 文档编号:3978428
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:30
- 大小:26.39KB
oralce卸载查询语句触发器视图使用个人笔记.docx
《oralce卸载查询语句触发器视图使用个人笔记.docx》由会员分享,可在线阅读,更多相关《oralce卸载查询语句触发器视图使用个人笔记.docx(30页珍藏版)》请在冰豆网上搜索。
oralce卸载查询语句触发器视图使用个人笔记
oralce卸载步骤:
1、停止服务
2、卸载产品
3、删除变量
4、删除注册表
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\[Oracle*]
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\[Oracle*]
5、重启,然后删除相关文件夹
oracle安装路径
C:
\ProgramFiles\Oracle
运行dos命令
进入SQL方式
(1)cd\orcl
(2)sqlplus/assysdba(角色名称)
******表空间
创建表空间例:
createtablespacets01
datafile'D:
\orcl\ts01.dbf'
size100m
autoextendon(autoextend自动增长)
next10m
maxsizeunlimited(unlimited无限)
/
ed打开记事本
清屏clearscreen
退出界面exit
--删除表空间(文件还是存在)
droptablespacets01;
--删除表空间与文件
droptablespacets01
includingcontentsanddatafiles;
--查询表空间语句
selecttablespace_namefromdba_tablespaces;
--查询数据库语句
selectnamefromv$database;
--修改表空间
altertablespacets01
adddatafile'D:
\orcl\ts01,dbf'
size10m;
--修改表空间名
altertablespacets01
renametots001;
******用户
--创建用户每个用户都有一个默认表空间和一个临时表空间
createusertom
identifiedbytom
defaulttablespaceusers
temporarytablespacetemp
quotaunlimitedonusers;
(temp临时的)
--查看当前用户showuser;
--查看当前用户所处行数showpagesize;
--查看所有用户名语句
selectusernamefromdba_users;
--查看当前用户系统权限
-select*fromuser_sys_privs;
--查看所有系统权限
select*fromdba_sys_privs;
--删除用户
dropusertomcascade;
--修改密码
alterusersystemidentifiedbymanager
--切换用户
connsystem(名)/manager(密码)
--授予权限给某一用户
grantcreatesession,createtabletotom
(createsession登录权限)(createtable创表权限)
权限分为两种类型:
系统权限和对象权限
为scott用户解锁
alteruserscottaccountunlock;
断开当前连接
disconnect
/*查询系统权限*/
select*fromdba_sys_privs;
/*查询当前用户具有的权限*/
select*fromuser_sys_privs;
/*授权*/
grantcreatesession,createtabletotom;
/*查询所有表空间*/
selecttablespace_namefromdba_tablespaces;
/*查询所有用户*/
selectusernamefromdba_users;
/*查询所有权限*/
/*查询所有系统权限*/
select*fromdba_sys_privs;
/*查询所有对象权限*/
select*fromdba_tab_privs;
/*查询所有角色*/
select*fromdba_roles;
/*查询所有用户*/
select*fromdba_users;
grantee接受者grantor授权者
/*查询角色与系统权限之间的关系*/
select*fromdba_sys_privs--wheregrantee='MYROLE';
/*查询角色与对象权限之间的关系*/
select*fromdba_tab_privswheregrantee='MYROLE';
--查询角色与用户之间的关系
select*fromdba_role_privs--wheregranted_role='MYROLE';
--查看角色与当前用户之间的关系
select*fromuser_role_privs;
--赋予权限
grantcreatesynonym,createview,unlimitedtablespace,createpublicsynonym
totom;
grantallonemptotom;
grantallondepttotom;
grantallonbonustotom;
grantallonsalgradetotom;
/*创建自定义角色*/
createrolemyrole;
/*赋予系统角色权限*/
grantselectanytabletomyrole;
grantinsertanytabletomyrole;
grantupdateanytabletomyrole;
grantdeleteanytabletomyrole;
--赋予对象角色权限
grantselectonscott.emptomyrole;
grantinsertonscott.emptomyrole;
grantupdateonscott.emptomyrole;
grantdeleteonscott.emptomyrole;
/*把角色分配给用户*/
grantmyroletotom;
/*删除角色*/
droprolemyrole;
数据库的备份工作是管理任务中的一个非常重要的内容,以便于在数据库将来出现问题时能将数据恢复到理想状态
;
备份是数据库中数据的副本,它可以保护数据在出现意外损失时最大限度的恢复;
使用EXP导出实用程序从数据库提取数据并将数据写入操作系统的文件当中,默认扩展名是dmp;
使用IMP导入实用程序可以输入由EXP所导出的数据文件。
数据库的备份EXP与恢复IMP
--查看当前日期
selectsystimestampfromdual;
/*查看用户表*/
selecttable_namefromuser_tables;
/*查看表结构*/(命令)
descemp;员工
descdept;部门
descsalgrade;薪水等级
descbonus;发放奖金
/*查询所有员工信息*/
select*fromemp;
/*查询所有部门信息*/
select*fromdept;
/*查询所有薪资等级信息*/
select*fromsalgrade;
/*仅查询员工编号、员工姓名、部门编号信息*/
selectempno,ename,deptnofromemp;
/*查询员工姓名和他们的年薪*/
selectename,sal*12fromemp;
/*简单的数学运算,但会出现冗余*/
select3*2fromemp;
select3*2fromdual;
descdual;
select*fromdual;
/*获得当前日期时间*/
selectsysdatefromdual;
selectsystimestampfromdual;
/*使用字段别名*/
selectename员工姓名,sal*12年薪fromempe;
selectenameas员工姓名,sal*12as年薪fromemp;
selectename"员工姓名",sal*12"年薪"fromemp;
selectenameas"员工姓名",sal*12as"年薪"fromemp;
/*查询员工姓名和补贴*/
select*fromemp;
/*查询员工姓名和年收入*/
selectename,sal*12+commfromemp;--失败,原因是空值问题
selectename,sal*12+nvl(comm,0)fromemp;
/*字符串连接*/
select'abc'||'def'字符串fromdual;
selectempno||'-'||mgr"员工-经理"fromemp;
select'abc''''def'strfromdual
/*字符串中区分大小写*/
selectempno,ENAMefromempwhereename='WARD';
/*查询部门编号,出现冗余*/
selectdistinctdeptnofromemp;
/*同时查询部门编号与工种,消除冗余*/
selectdistinctdeptno,jobfromemp;
/*查询部门编号是10的员工信息*/
select*fromempwheredeptno=10;
/*查询部门编号不是10的员工信息*/
select*fromempwheredeptno<>10;
select*fromempwheredeptno!
=10;
/*查询“CLARK”员工的信息*/
select*fromempwhereename='CLARK'
/*查询薪水多于1500元的员工*/
select*fromempwheresal>1500
/*查询排在“FORD”之后的员工信息*/
select*fromempwhereename>'FORD'
/*查询薪水在800至1500元之间的员工信息*/
select*fromempwheresal>=800andsal<=1500
select*fromempwheresalbetween800and1500
/*查询没有津贴的员工信息*/
select*fromempwherecommisnull;
/*查询有津贴的员工信息*/
select*fromempwherecommisnotnull;
/*查询薪资指定的员工信息*/
select*fromempwheresal=800orsal=1500orsal=3000;
select*fromempwheresalin(800,1500,3000);
/*查询指定多个姓名的员工信息*/
select*fromempwhereenamein('SMITH','SCOTT','KING');
/*查询在1981年12月3日之后入职的员工信息*/
select*fromempwherehiredate>'3-12月-81';
/*查询在10号部门工作并且薪水多于1000元的员工信息*/
select*fromempwheredeptno=10andsal>1000;
/*查询在10号部门工作或者薪水多于1000元的员工信息*/
select*fromempwheredeptno=10orsal>1000;
/*查询在10号部门工作但薪水只有800或1500元的员工信息*/
select*fromempwheredeptno=10and(sal=800orsal=1300);
select*fromempwheredeptno=10andsalin(800,1300);
/*查询姓名中包含”ALL”字符串的员工信息*/
select*fromempwhereenamelike'%M%';
select*fromempwhereenamelike'%__M__%';
select*fromempwhereenamelike'__M__';
select*fromt3wherec1like'%$%%'escape'$';
/*按员工编号升序排列显示员工信息*/
select*fromemporderbyempno;
select*fromemporderbyempnoasc;
select*fromemporderbyempnodesc;
/*按员工编号升序排列不在10号部门工作的员工信息*/
select*fromempwheredeptno!
=10orderbyempnoasc;
/*按部门编号升序且姓名降序的方式排列员工信息*/
select*fromemporderbydeptnoasc,enamedesc;
/*查询姓名第二个字母不是”A”且薪水大于800元的员工信息,按年薪降序排列*/
selectename,sal,sal*12annual
fromemp
whereenamenotlike'_A%'andsal>800
orderbyannualdesc;
/*求每个部门的平均薪水*/
selectdeptno,avg(sal)
fromemp
groupbydeptno
/*求各个部门的最高薪水*/
selectdeptno,max(sal)
fromemp
groupbydeptno;
/*求每个部门每种工作的最高薪水*/
selectdeptno,job,max(sal)
fromemp
groupbydeptno,job
/*求平均薪水大于2000的部门编号*/
selectdeptno,avg(sal)
fromemp
groupbydeptno
havingavg(sal)>2000
/*将薪水大于1200且部门平均薪水大于1500的部门编号列出来,按部门平均薪水降序排列*/
selectdeptno,avg(sal)
fromemp
wheresal>1200
groupbydeptno
havingavg(sal)>1500
orderbyavg(sal)desc;
/*求最高薪水的员工信息*/
select*
fromemp
wheresal=(
selectmax(sal)
fromemp
);
/*求多于平均薪水的员工信息*/
select*
fromemp
wheresal>(
selectavg(sal)
fromemp
)
/*求各个部门薪水最高的员工信息*/
select*
fromemp
wheresalin(
selectmax(sal)
fromemp
groupbydeptno
);
/*求每个员工及他的经理姓名*/
selectempno,ename,mgrfromemp;
selecte1.empno,e1.ename,e2.ename
fromempe1,empe2
wheree1.mgr=e2.empno;
/*交叉连接*/
select*fromemp;
select*fromdept;
select*fromemp,dept;
select*fromempcrossjoindept;
/*常用等值内连接*/
select*fromempe,deptdwheree.deptno=d.deptno;
select*fromempeinnerjoindeptdone.deptno=d.deptno
/*不等值内连接*/
select*fromemp;
select*fromsalgrade;
select*fromemp;
select*fromemp,salgradewheresalbetweenlosalandhisal
--等效于
select*fromempinnerjoinsalgradeonsalbetweenlosalandhisal
/*输出非办事员的员工姓名,所在部门名称及薪水等级*/
select*fromemp;
select*fromdept;
select*fromsalgrade;
select*fromemp,dept,salgrade;
select*fromempcrossjoindeptcrossjoinsalgrade;
selectename,dname,grade
fromemp,dept,salgrade
whereemp.deptno=dept.deptnoand
emp.salbetweensalgrade.losalandsalgrade.hisaland
job!
='CLERK';
selectename,dname,grade
fromempinnerjoindeptonemp.deptno=dept.deptno
innerjoinsalgradeonemp.salbetweensalgrade.losalandsalgrade.hisal
wherejob!
='CLERK';
/*输出第二个字母不是”A”员工姓名,所在部门名称及薪水等级*/
selectename,dname,grade
fromempinnerjoindeptonemp.deptno=dept.deptno
innerjoinsalgradeonemp.salbetweensalgrade.losalandsalgrade.hisal
whereenamenotlike'_A%';
/*左外连接*/
select*fromdept;
select*fromemp;
select*fromdept,emp;
select*fromdept,empwheredept.deptno=emp.deptno;
select*fromdeptleftouterjoinempondept.deptno=emp.deptno;
/*右外连接*/
select*fromdept;
select*fromemp;
select*fromdept,emp;
select*fromdept,empwheredept.deptno=emp.deptno;
select*fromemprightouterjoindeptondept.deptno=emp.deptno;
/*全外连接*/
select*fromdept;
select*fromemp;
select*fromdept,emp;
select*fromdept,empwheredept.deptno=emp.deptno;
select*fromempfullouterjoindeptondept.deptno=emp.deptnowhereempnoisnull;
/*输出记录的序号*/
selectrownum,deptno,dname,locfromdept;
selectrownum,deptno,dname,locfromdeptwhererownum<=2;
selectrownum,deptno,dname,locfromdeptwhererownum>2;
rownum表示行数只能用<<=,不能用=>>=
/*输出前五条员工信息记录*/
select*fromempwhererownum<=5;
/*取出第十条记录之后的员工信息数据*/
select*
from
(selectrownumr,empno,ename,deptnofromemp)
wherer>=6andr<=10;
/*按薪水由高至低排列,找出第6-10名的员工信息*/
select*
from
(
selectrownumr,empno,ename,sal
from
(
selectempno,ename,salfromemporderbysaldesc
)
)
wherer>=6andr<=10
/***************事务****************/
数据库系统必须维护事务的以下特性(简称ACID):
原子性(Atomicity)
一致性(Consistency)
隔离性(Isolation)
持久性(Durability)
事务是最小的工作单元,作为一个整体进行工作保证事务的整体成功或失败,称为事务控制
用于事务控制的语句有:
COMMIT-提交并结束事务处理
ROLLBACK-撤销事务中已完成的工作
SAVEPOINT–标记事务中可以回滚的点
insertintot1values(1,1);
insertintot1values(21,21);
select*fromt1;
commit;--提交
rollback;--回滚
事务从第一条DML(insert|update|delete)语句开始,直到调用rollback语句或者commit语句
若是DDL语句或者DCL语句或者调用exit命令则自动提交
若是非正常断开,如断电则自动回滚
数据控制语言为用户提供权限控制命令
用于权限控制的命令有:
GRANT授予权限
REVOKE撤销已授予的权限
/*abs()绝对值*/
selectabs(-9)fromdual;
/*ceil()向上取整函数>=*/
sele
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- oralce 卸载 查询 语句 触发器 视图 使用 个人 笔记