Orecle基本概述(1)

Orecle
1.什么是orecle及体系结构?
* 全局数据库,指物理磁盘数据库,一个真实存在的磁盘目录.
*用户: 用户在oracle里面是用来隔离数据的
*表空间: 逻辑结构,不可视的,虚拟的,用户的数据存在表空间上
*数据结构: 存放数据的文件,物理结构,真实存在的磁盘文件
一个数据库下可以建立N表空间,一个表空间可以建立N个用户,一个用户可以建立N个表!!
2.oracle的sql语句命令分类
(1).DDL: 数据定义语言,create创建/drop销毁
(2).DCL:数据库控制语言,grant授权/revoke撤销
(3).DML:数据库操纵语言,insert/update/delet等..
(4).DQL: 数据查询,select等..
3.创建表空间
创建语法:
create tablespace 表空间的名字
datafile '磁盘数据文件地址' size 数据文件大小
autoextend on next 自动增长的大小
注意:磁盘数据文件要写虚拟机的地址!
4.用户
4.1 创建用户
语法:
create user 用户名 identified by 密码
default tablespace 表空间名字
4.2 用户授权
DBA角色: 拥有全部权限,是系统最高权限.
授予权限语法:
格式一: grant 权限一 , 权限二, to 用户
格式二 : grant 角色 to 用户 (推荐使用)
注意: 授权必须在system 用户下,否者无法正常登陆
5.Oracle数据类型
(1).varchar2: 字符串类型,
(2). number :整数类型,有效范围1~38
(3).date: 日期类
(4).long : 小数型
(5).CLOB : 大对象,表示大文本数据类型,可存4G
(6).DLOB: 大对象,表示二进制数据,可存4G,适合储存视频/文档等数据
6.表的管理
6.1 建表
语法:
create table 表名(
字段1 数据类型 [default默认值]
字段1 数据类型 [default默认值]
.........
);
6.2 表删除
语法:
(1).完全销毁表
drop table 表的名字
(2).删除表里全部数据
delete from 表名字
6.3 表修改
添加语法: alter table 表名称 add(列名字 类型 [ default 默认值 ].......);
修改语法:alter table 表名称 modify(列名字 类型 [default 默认值].....);
修改列名: alter table 表名称 rename column 旧列名 to 新列名;
6.3.1 数据库表数据的更新
语法:
语法一: insert into 表名 [(列名 1, 列名2,...)] values(值1,值2,....);
语法二: insert into 表名字 values(值1,值2.....)
6.3.2 序列
介绍: oracle中自增长的功能
语法:
CREATE SEQUENCE 序列名
[INCREMENT BY n] [START WITH n]
[{MAXVALUE/ MINVALUE n|NOMAXVALUE}] [{CYCLE|NOCYCLE}]
[{CACHE n|NOCACHE}];

例子:
create sequence seqpersonid
maxvalue 9999999999999999999999999999
start with 1
increment by 1
cache 5
cycle;
nextval :取得序列的下一个内容
currval :取得序列的当前内容
insert into person values(seqpersonid.nextval,'李四 ',1,to_date('2018-8-18','yyyy-MM-dd'),'广州');
6.3.3 update(修改)
语法:
全局修改: update 表名 set 列名 1 =值1,列名 2 =值2........
局部修改(带条件) : update 表名 set 列名 1 = 值 1 ,列名 2= 值2,...where 修改条件
7.单行函数
7.1 字符函数
*把小写的字符转换成大写的字符
select upper('abc') from dual;
*把大写字符变成小写字符
select lower('ABC') from dual;
*字符串替换函数
select replace('abc hello world','hello','world') from dual;
7.2 数值函数
*四舍五入函数,round(数字,n),n代表保留数字的几位小数,n不写保留整数
select round(123.456) from dual 结果: --123
select round(123.456,2) from dual 结果: --123.46
7.3 日期函数
*关键字:sysdate,获取系统当前时间
select sysdate from dual;
公式:
日期+数字=日期,数字单位是天
日期-数字=日期,数字单位是天
日期-日期=数字,单位是天
7.4 转换函数
*时间格式:fmyyyy-MM-dd HH:mi:ss
*yyyy/YYYY,年
*mm/MM,月
*DD/dd,日
*hh/HH,代表12小时制
*hh24/HH24,代表24小时制
*mi,分钟
*ss,秒
*fm,去掉补0数字
*TO_CHAR:日期转换字符串函数
select to_char(hiredate,'fmyyyy-MM-dd hh24:mi:ss') from emp;
* TO_DATE:字符串转日期函数
select to_date('2018-01-01','yyyy-mm-dd hh24:mi:ss') from dual;
7.5 通用函数
* 空值处理nvl
语法:nvl(字段 , 当前字段为空null返回的值)
* Decode 函数,用于条件判断(可以用于将职位转换为中午)
语法:decode(字段,'aa','当字段值为aa时返回的值','bb','当字段值为bb时返回的值',...,'以上都不符合返回的值')
* case when,用于调节判断
语法:case 字段
when 值1 then 当字段值为值1时返回的值
when 值2 then 当字段值为值2时返回的值
...
else 以上都不符合返回的值
end
8.多行函数
8.1 查询总记录数(可带条件)
语法: select count(*) from 表名字;
8.2 查询最低值(可带条件)
语法: select min(字段名字) from 表名字;
8.3 查询最大值
语法:select max(字段名字) from 表名字;
8.4 查询平均值
语法:select avg(字段名字) from 表名字;
8.5 查询总和/求和
语法:select sum(字段名字) from 表名字 where 条件;
9.分组统计
语法:
SELECT * |列名 FROM 表名 {WEHRE 查询条件} {GROUP BY 分组字段} ORDER BY 列名 1 ASC|DESC,列名 2...ASC|DESC

转载于:https://www.cnblogs.com/flzidea/p/10183381.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值