Oracle 基础(笔记)

Oracle SQL 基础教程
本文档介绍了 Oracle 数据库的基础知识,包括 SQL 语句的使用方法、表的创建与管理、数据查询技巧等内容,并提供了实用的例子帮助理解。

Oracle包括的几个文件:数据文件(.DBF),控制文件(.CTL),日志文件(.LOG)

--在shell中登陆sqlplus
sqlplus 用户/密码  as 连接为什么模式
--修改用户的锁的状态
alter user scott account unlock;
--描述(desc)表的格式
desc emp                 --员工表
desc salgrade            --等级工资
desc dept                --部门类型
--特殊daul表,用来计算显示一个结果
select sysdate from dual;
--任何表达式为null值的运算都是null值
--数据连接符|| 两列连接
select ename||sal from emp;
--连接字符
select ename || 'abcdef' from emp;
--连接字符含有单引号
select ename || 'abc''de''f' from emp;
--去掉重复的行或组合
select distinct deptno from emp;
--条件判断查询
select * from emp where ename = 'CLARK';
select * from emp where deptno <> 10;
select * from emp where ename > 'CBA';
select * from emp between 0 and 100;
select * from emp where comm is (not) null;
select * from emp where sal in <800,1500,2000>;
--like关键字
select ename from emp where ename like 'ALL';
select ename from emp where ename like '%ALL%';
select ename from emp where ename like '_ALL';
select ename from emp where ename like '%$%%' escape '$';
^	不接受字符
$	匹配输入字符
.	匹配出换行符n之外的任意单字符
?匹配前面的子表达式零次或一次
+	匹配前面的子表达式一次或多次
*	匹配前面的子表达式零次或多次
|	指明两者之间的一个选择
ag:'^([a-z]+[0-9]+)$'
--排序处理
select * from dept order by deptno desc; --降序
select * from dept order by deptno asc; --在server中可省略
--字符函数操作
select lower(ename) from emp;           --小写
select upper(name) from pets;           --大写
select initcap(name) from pets;
exec litrim('abcdefg',abc)              --左裁剪
translate('abcdefg','agfce',1234)       --按字符替换
replace('jace and jue','j','bl')        --替换字符
instr('worldwide','d')                  --替换位置
substr('abcdefg',3,2)                   --曲子字符串
concat('hello','world')                 --连接字符串
chr(65)                                 --将转为字符
ascii('A')
round(23.45n6,2)                         --四舍五入为两位小数点
power(m,n)                               --取民书
sqrt()                                   --平方根
regexp_like(列名,字符)
regexp_instr()				--可以再里面写通配符

regexp_substr
Regexp_replace
--常用函数
select sysdate from emp;       --当前日期
select to_char(sal,'$/L99,999,9999') from erom emp;
select to_date(hiredate,'YY-MM-DD HH:MI:SS') from emp;
to_number('12.23')                          --将字符改为数字类型
nvl(value,if1,then,if2...)
--表连接
select ename,dname from emp join dept on(emp.deptno=dept.deptno)
select ename,dname from emp join dept using(deptno);            --要求条件太多
select ename,dname,grade from emp e join salgrade s on(e.sal between s.losal and s.hisal);
--求部门平均薪水的等级
 select deptno,avg_sal,grade from
 (select deptno,avg(sal) avg_sal from emp group by deptno) t
 join salgrade s on (t.avg_sal between s.losal and s.hisal);
 --表的约束
 unique (lie)                          --唯一约束
 default values                        --默认值
--表修改
alter table 表名 add(addr varchar2(100));        --添加字段
alter table 表名 modify(addr varchar2(60));      --修改字段
alter table 表名 drop constraint 约束名;        --删除约束
--oracle内部区别信息表结构
desc user_constraints;
desc dictionary;
--创建索引
create index 索引名 on 表名(列明)
--创建视图
create view 视图名 as select语句
--创建序列
create sequence seq;
--创建用户名,jzbr用户名 aaaa为密码
create user jzbr identified by aaaaa
--个jzbr用户访问服务器限权
grant connect to jzbr
--给用户访问对应表限权,
grant select scott.emp ti jzbr


CREATE TABLESPACE epet_tablespace--TEMPORARY临时
  DATAFILE        'E:\EPET.DBF'                       --表空间数据文件存放位置
  SIZE            100MB                               --大小起初设置为200mb
  AUTOEXTEND ON NEXT 32MB MAXSIZE UNLIMITED           --每次自动扩展32MB,最高限度无限扩展
  LOGGING                                             --创建表空间时生成重做日志.
  EXTENT MANAGEMENT LOCAL                             --存储区管理方法
  SEGMENT SPACE MANAGEMENT AUTO                       --表空间中断的管理方式为自动管理方式
  
 DROP TABLESPACE epet_tablespace INCLUDING CONTENTS AND DATAFILES;  --删除表空间
 
 CREATE USER epet                                   --创建用户
 IDENTIFIED BY bdgn                                 --密码
 DEFAULT TABLESPACE epet_tablespace                 --所在表空间
 
 RANT CONNECT,RESOURSE TO epet;                     --指定用户所有限权,connect临时用户resource正式数据库角色,可以创建表,触发器,过程等
 REVOKE RESOURCE FROM epet;                         --撤销epet的RESURCE角色
 GRANT SELECT ON EMP TO epet;                       --允许用户查看emp表中记录
 GRANT UPDATE ON EMP TO epet;                       --允许用户更新emp表中记录
 GRANT ALL ON product TO PUBLIC                     --表示所有的用户
 SELECT owner,table_name FORM all_name;             --用户可以查询的表
 SELECT table_name FROM user_name;                  --用户创建的表
 SELECT grantor,table_schema,table_name,privilege FROM all_tab_privs --获权可以存取的表
 SELECT grantee, owner, table_name, privilege FROM user_tab_privs;   --授出权限的表


--次笔记为本人边学边记录的笔记,记录的不是很完善,本人也才开始学Oracle

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值