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