oracle
2019-07-04 12:01:00 5 举报
AI智能生成
Oracle是一家全球领先的企业级软件公司,其核心产品是一套强大的关系数据库管理系统(RDBMS),被广泛应用于各种规模的企业和组织中。Oracle数据库以其高性能、高可用性、高安全性和灵活性而闻名,能够处理大量的数据和复杂的业务逻辑。此外,Oracle还提供了一系列附加的软件和服务,包括中间件、云计算服务、人工智能等,帮助企业实现数字化转型和创新。作为一家历史悠久的公司,Oracle一直致力于技术创新和研发投入,不断推出新的产品和服务来满足客户的需求。
作者其他创作
大纲/内容
对表本身操作
增加列 删除列
alter table 表名 <font color="#31a8e0">add </font> 新列名 结构属性();
alter table 表名 <font color="#31a8e0">drop column </font> 列名
alter table 表名 <font color="#0076b3" data-darkreader-inline-color="" style="--darkreader-inline-color:#69c2f0;">modify</font> 列名 修改后的数据类型
新建表 删除表
<p style="margin:0in;font-size:10.5pt"><span style="font-weight:bold;<br>font-family:"Gill Sans MT"" lang="en-US">--</span><span style="font-weight:bold;<br>font-family:楷体" lang="zh-CN">删除表</span><span style="font-weight:bold;font-family:<br>"Gill Sans MT"" lang="en-US">aa</span><span style="font-weight:bold;font-family:<br>楷体" lang="zh-CN">,连带表中的所有约束;</span></p><br><p style="margin:0in;font-family:"Gill Sans MT";font-size:10.5pt" lang="en-US"><span style="font-weight:bold"><font color="#55beed">drop</font> table aa <font color="#0076b3">cascade constraint</font><font color="#c41230">s</font><font color="#0076b3">;</font> </span></p>
增加删除约束
主键
alter table 表名 <font color="#55beed">add</font> <font color="#31a8e0">primary key</font>(id);
alter table 表名 <font color="#55beed">drop</font> primary key;
外键
alter table 表名 add constraint 约束名称 foreign key(列名)references 表名2(列);
alter table 表名 <font color="#31a8e0" data-darkreader-inline-color="" style="--darkreader-inline-color:#61b4d9;">add foreign key</font>(列名)<font color="#0076b3" data-darkreader-inline-color="" style="--darkreader-inline-color:#69c2f0;">references</font> 表名2(列);
非空
alter table 表名 <font color="#16884a">modify</font> 列名 not null;
alter table 表名 <font color="#31a8e0">modify</font> 列名 null;
默认
alter table 表名 <font color="#0076b3">modify</font> 列名 <font color="#31a8e0">default</font>('9999');
alter table 表名 <font color="#31a8e0">modify</font> 列名 <font color="#31a8e0">default</font>('');
唯一
alter table 表名 add <font color="#31a8e0">unique</font>(列名)
alter table 表名 drop <font color="#0076b3">unique</font>(列名)
检查
<font color="#0076b3">check</font>( 列名 >=0 and xxx )
alter table (表明) add check( 列 in('男','女') )
修改表名和列名
alter table 表名 rename to 新表名
alter table 表名 rename colume 列名 to 新列名
序列(sequence)
删除序列 drop sequence seq;<br><br>创建简单序列 create sequence seq; <br>
seq.currval seq.nextval
cache不能小于increment by
函数循环
自定义函数和执行
<font color="#0076b3">create or replace function</font> 函数名(参数) return 返回值 as begin return end;
四种方法执行函数
3 exec 函数名称(参数);<br>4 call 函数名称(参数) ;
select sysdate from dual;
数学函数
向上取整ceil(n)
向下取整floor(n)
四舍五入round(m,n)
求余mod(m,n)<br>
次方power(m,n)<br>
字符串
替换
replace(列名,'李','张')
去掉左右两边的字符
trim('m' from 列名)
大小写转换
lower()
upper()
首字符大写initcap(Ename)
字符串截取
substr(被截取字符串,截取起始位置,截取长度)
查找子串的位置
instr(‘列’,‘查找的串’)
居中居右
rpad(列名,长度,'可选填充字符')
lpad(Ename,5,'+')
字符串长度
length(列名)
时间 - 字符串
获取当前时间
sysdate
字符串->时间
to_date( '2018-1-1','yyyy-mm-dd' )
时间转->字符串
to_char(system,'yyyy-mm-dd')
trunc——时间截取函数
查询当月有多少天
默认截取
trunc(列名)
截取到月
trunc(列名,'mm')
截取到周
trunc(newtime,'d')
截取到年
trunc(newtime,'yy')
截取到小时
trunc(newtime,'hh')
截取到分钟
trunc(newtime,'mi')
日期运算
日期直接 +1 -1
是对天数进行处理
求后一个月份
add_months(sysdate,1)
add_months(newtime,3) 三个月后
下一个星期二
next_day(newtime,'星期二')
所在月的最后一天:
last_day(newtime)
计算两个日期直接的间隔的月
select months_between(to_date('12/1/2015','mm/dd/yyyy'),to_date('1/11/2015','mm/dd/yyyy')) "MONTHS" FROM DUAL;
对表中数据操作
增
insert into 表名 ( 列名1,列名2 ) values( 数值1,数值2 )
insert into 表名 values( 数值1,数值2 )
删
delete 表名 where 条件
改
update 表名 set '改后列'=新值 where 条件
查
min max sum avg count 函数
where 列名 <font color="#0076b3" data-darkreader-inline-color="" style="--darkreader-inline-color:#266c90;">between </font> 2001 and 2999;
and or not
in 值是否在后边的列表中存在
是否是空值
不为空: where 列名 is not null
为空:where 列名 not null
字符串查询 substr
模糊查询 like _ %
统计中的null
nvl nvl2
排序 order by asc(升序默认) 列 desc 列2
第s k
分组
<span style="font-weight:bold">group by</span>
having
分组之后数据合并显示
WMSYS.WM_CONCAT
表的分页
between 输出
rownum
并集合union
列相同,两个表合成一个,剔除重复
nuion all 不剔除重复
decode
DECODE(字段,if1,then1,if2,then2,if3,then3,...,else)
when then
根据工资分三个级别
exists
where exists (select) 判断是否为空
左连接右连接
左连接
select * from 表1 <font color="#1177ab" data-darkreader-inline-color="" style="--darkreader-inline-color:#76bfe3;">left join</font> 表2 <font color="#1177ab" data-darkreader-inline-color="" style="--darkreader-inline-color:#76bfe3;">on</font> a.id=b.id
select * from 表1 , 表2 where a.id=b.id<font color="#1177ab" data-darkreader-inline-color="" style="--darkreader-inline-color:#76bfe3;">(+)</font>
右连接
三个表连接
对库本身操作
修改一些显示设置
时间格式设置
alter session set nls_date_format='yyyy-mm-dd HH24:mi:ss'
新建 删除 用户
赋予权限
grant dba to user;
加锁解锁用户
alter user 同户名 account (un)lock;
加锁:alter user 用户名 account lock;
删除用户
<p style="margin:0in;font-family:"Gill Sans MT";font-size:10.5pt" lang="en-US"><span style="font-weight:bold">drop user gaoming cascade ;</span></p>
修改用户密码
alter user 用户名 identify by xxx;
存储过程和函数索引
create or replace
索引
单列索引(B-Tree Index)
create index 索引名称 on 表名(列名);
唯一索引(Unique Index)
create unique index USER_NAME_INDEX on DB_USER(NAME);
0 条评论
下一页