基于oracle 12c
1.表空间
1.1 创建表空间
create tablespace uncle
datafile 'c:\oracle\unclez.dbf'
size 100m
autoextend on --自动扩容
next 10m; --每次扩容10M
1.2 删除表空间
drop tablespace uncle;
2.用户管理
2.1创建用户
create user root
identified by 123
default tablespace uncle;
2.2授权
grant dba to root;
常用角色:
- connect:连接角色,基本角色
- resource:开发者角色
- dba:超级管理员角色
2.3解锁用户
alter user 用户名 account unlock;
3.表操作
3.1创建、删除表
create table user(
id number(10),
name varchar2(20)
);
drop table 表名
3.2 表结构
1.添加一列
alter table 表名 add (字段名 类型)
2.删除一列
alter table 表名 drop column 字段名
3.修改列
alter table 表名 modify 字段名 类型
4.重命名一列
alter table 表名 rename column 字段名 to 新字段名
3.3.CRUD
事务需要自己手动提交
3.1.插入数据
insert into c##user (id,name) values(1,'uncle');
3.2.查询数据
select* from c##user;
3.3修改数据
update c##user set sex='男' where id=1;
3.4.删除数据
delete from c##user where id=1;
3.5重建表
truncate table 表名
3.4 序列
3.4.1 创建序列
create sequence user_k;
3.4.2 查询序列
select user_k.nextval from dual; --下一前值,自增
select user_k.currentfrom dual; --当前值
3.4.2 使用序列
insert into user (id,name) values (uesr_k.nextval,'uncle');
4.函数
4.1单行函数
接收字符输入返回字符或者数值,dual是伪表
1.upper、lower
大小写转换
select upper('smith') from dual;
select lower('SMITH') from dual;
2.四舍五入函数:ROUND()
默认情况下ROUND四舍五入取整,可以自己指定保留的位数。
参数一是数据,参数二是保留几位
select round(51.56,2) from dual;
3.获得两个时间段中的月数:MONTHS_BETWEEN()
select ename,round(months_between(date1,date2)) from emp;
4.TO_CHAR:字符串转换函数
年:y, 年是四位使用yyyy
月:m, 月是两位使用mm
日:d, 日是两位使用dd
select empno,ename,
to_char(date,'yyyy')年,
to_char(date,'mm')月,
to_char(date,'dd')日
from emp;
5.TO_DATE:日期转换函数
TO_DATE可以把字符串的数据转换成日期类型
select to_date('2019-04-04','yyyy-mm-dd') from dual;
6.空值处理nvl
nvl(值,为NULL时候要赋的值)
select total_money nav(reward,0)+money from emp;
7.条件函数case when
select sal ,
sal ,
case
when sal<1500 then '低工资'
when sal>2500 then '高工资'
else '中等工资'
end
from emp t;
4.2多行函数
1.统计记录数 count()
2.最小值查询 min()
3.最大值查询 max()
4.查询平均值 avg()
5.求和函数 sum()