没有合适的资源?快使用搜索试试~ 我知道了~
本文档是本人在日常使用oracle时整理的笔记,希望大家学习
资源推荐
资源详情
资源评论
Oracle 数据库常用命令
sqlplus scott/tiger as sysdba :将 scott 账户当作 dba 登录进来
alter user scott account unlock; 用户解锁
|-账户解锁
1. conn / as sysdba
2. alter user scott account unlock;
3. alter user scott identified by tiger;
|-数据类型
1. binary_integer: 整数,主要用来计数而不是用来表示字段类型
2. number: 数字类型
3. char: 定长字符串
4. varchar2: 变长字符串
5. date: 日期
6 long: 长字符串,最长 2GB
7 boolean: 布尔,可取 true false null
Number:
NUMBER ( precision, scale)
precision 表示数字中的有效位。如果没有指定 precision 的话,Oracle 将使用 38 作为精
度。
scale 表示数字小数点右边的位数,scale 默认设置为 0.
P 是精度,s 是刻度
精度代表所要存的位数,s 是指小数点后保留几位
例如存储 1234567.89 序定义 number(9,2)
Char 和 varchar2 的区别
CHAR 的长度是固定的,而 VARCHAR2 的长度是可以变化的, 比如,存储字符
串“abc",对于 CHAR (20),表示你存储的字符将占 20 个字节(包括 17 个空字符),而同样
的 VARCHAR2 (20)则只占用 3 个字节的长度,20 只是最大值,当你存储的字符小于 20 时,
按实际长度存储。 CHAR 的效率比 VARCHAR2 的效率稍高。
|-数据库的启动
sqlplus / as sysdba
shutdown immediate
sql> startup nomount
sql> alter database mount
sql> alter database open
1. 在 Dos 窗口中: rman target / nocatalog
2. 关闭数据库: shutdown immediate
3. 启动数据库到第二阶段:startup mount
4. 启动数据库到第三阶段:alter database open
|-创建表空间
create tablespace ts1 datafile 'c:\ts1.dbf' size 10M;
|-新建用户并授权
1. 新建用户并制定密码 create user user1 identified by abc;
2. 指定用户所在的表空间 alter user user1 default tablespace ts1;
3. 授予连接和资源的权限 grant connect,resource to user1;
·显示当前用户 show user;
·授予最大权限 grant connect,dba to user1;
|-备份数据库
|-远程连接数据库
sqlplus sim/sim@ORCLCLCSKY101
sim/sim: 用户名/密码
ORCLCLCSKY101: 配置的监听
|-ORACLE 默认表
desc 表名 :查看表结构
·desc emp 员工表
·desc dept 部门表
·desc salgrade 薪水等级表
·desc dual 空表,一般用于计算,例如:select 2*3 from dual;
Scott 账户的默认表
Emp:员工表
EMPNO(员工编号)
ENAME(员工姓名)
JOB(职位)
MGR(经理人编号)
HIREDATE(入职时间)
SAL(薪水)
COMM(津贴)
DEPTNO(部门编号)
Dept:部门表
Salgrade:等级表
Select 语句
|-数学表达式
·select ename,sal*12 from emp; 薪水*12,年薪
·select ename,sal*12 year_sal from emp; 起别名
·select ename,sal*12 "year_sal" from emp; 加双引号保持字段的大小写原型
·select ename,sal*12+comm from emp; 所有人的年薪,薪水*12+津贴
|-sysdate
·select sysdate from dual; 当前系统时间
|-字符串连接符 ||
·SQL> select sal||'ksks' from emp; ||字符串连接符,字符串用单引号引起
SAL||'KSKS'
----------------------------------
800ksks
1600ksks
1250ksks
2975ksks
1250ksks
2850ksks
2450ksks
3000ksks
5000ksks
1500ksks
1100ksks
|-去掉重复信息 distinct
·select distinct deptno from emp; 去掉 deptno 字段的重复信息
·select distinct deptno,job from emp; 去掉 deptno,job 组合的重复的信息
|-过滤条件 where
·数学运算符:< > <> = not and or in
·select * from emp where deptno=10; deptno(部门)等于 10 的员工信息
·select ename,deptno from emp where deptno<>10; 部门不等于 10 的员工姓名和部门
·select ename,sal from emp where sal>=800 and sal<=1500; 薪水大于等于 800 并且小于
等于 1500
·select ename,sal from emp where sal>1000 and deptno=10; 薪水>10 并且部门=10 的
·select ename,sal from emp where sal>1000 or deptno=10; 薪水>10or 部门=10 的都取出来
|-空值处理 NULL
·select ename,sal from emp where comm is null; 奖金为空的员工的姓名和工资
·select ename,sal from emp where comm is not null; 奖金不为空的员工的姓名和工资
·select ename,sal from emp where sal in (800,1500,3000); 薪水是 800、1500、3000 的人
的的姓名和薪水
·巧妙使用函数 nvl()
select ename,sal*12+nvl(comm,0) from emp;
如果 comm 是空值,则用 0 代替,如果不是 null,则就是 comm 的值
|-模糊查询 Like
·%:通配一个或多个字母、 _:通配一个字母、 \:转义字符
·select ename from emp where ename like '%A%'; 姓名中带’A’的人
·select ename from emp where ename like '_A%'; 姓名中第二个字母是 A 的人
·select ename from emp where ename like '%\%%'; 查询姓名中带%的人,
·select ename from emp where ename like '%$%%' escape '$'; $作为转义字符,查询出
姓名中带%的人
|-排序 order by asc/desc
·select * from dept order by deptno desc;将部门表按照部门编号降序排列
·select ename,sal from emp order by sal asc;员工表按照薪水升序排列
·select ename,sal from emp where deptno<>10 order by sal asc;
部门不等于 10 的员工按照薪水升序排列
·select ename,sal,deptno from emp order by deptno asc,sal desc;
先按照部门编号升序排序,在部门编号相同的情况下再按照薪水降序排序
·select ename,sal*12 from emp
where
ename not like '_A%' and sal>100
order by empno desc;
取出来 emp 的名字、年薪,名字的第二个字母不包含 A 并且薪水大于 100 按照员工编
号降序排列
|-函数
|-lower(e):转换成小写 substr(字段,n,m)将字段从 n 开始截取,截取到 m(包含第
m 和第 n)
|-ascii(a):求 a 的 ascii 码 chr(97):将 ascii 转换为字符
|-round(m,s):四舍五入到 s 位
·select lower(ename) from emp; 将 ename 转换为小写
·select ename from emp where lower(ename) like '_a%'; 查询小写的姓名包含 a 的数据
·select substr(ename,1,3) from emp;将姓名从第一个开始截取,截取到第三个(包含第
一个)
·select ascii('a') from dual; 求 a 的 ascii 码
·select chr(97) from dual; 将 ascii 转换为字符,本条语句结果为 a
·select round(23.567) from dual; 四舍五入到个位。结果为 24
·select round(23.567,2) from dual; 四舍五入到小数点后两位,结果为 23.57
·select round(23.567,-1) from dual; 四舍五入到小数点前 1 位,结果为 20
|-to_char(字段 a,格式);将字段 a 转换为想要的格式显示出来
剩余29页未读,继续阅读
资源评论
qq_26578569
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- JAVA源码联系人导出ContactList
- JAVA源码懒惰者代码生成器IdlerCodeGenerator
- JAVA源码跨平台的文件同步工具Capivara
- 台达DVP-20PM的追剪程序,同步运动,是用在卷纸管机上的 这份资料包括: 1、电气图纸一份 2、DVP-20PM的程序(有
- 华为技术认证HCNP路由交换实验指南 实验拓扑带基础配置
- JAVA源码开源的Swing组件JIDE
- project.zip
- JAVA源码开源LDAP浏览器JXplorer
- 松下FP-XH的4轴程序,有详细的注释,可以用于实际的工程中 程序写的清晰明了,很容易看得懂,也是新手学习一整个魔板的好例子
- JAVA源码加密库BeeCryptJAVA源码加密库BeeCrypt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功