Oracle数据库入门笔记(上),Java开发实用必备的几款插件

本文详细介绍了Oracle数据库中的常用角色如connect、resource和dba,以及数据表的创建、删除、修改、更新操作,包括序列和单行函数的使用。此外,还提及了Java开发的学习资源和面试题准备。
摘要由CSDN通过智能技术生成

–Oracle 数据库中常用角色

connect --连接角色,基本角色

resource --开发者角色

dba --超级管理员角色

–给bloghut 用户授予dba 角色

grant dba to bloghut;

4.数据表的管理


1.表的创建

语法:

Create table 表名(

字段 1 数据类型 [default 默认值],

字段 2 数据类型 [default 默认值],

字段 n 数据类型 [default 默认值]

);

–创建一个Person表

create table person(

pid number(20),

pname varchar2(10)

);

2.表的删除

语法:

DROP TABLE 表名

DROP TABLE Person

3.表的修改

添加语法:

ALTER TABLE 表名称

ADD(列名 1 类型 [DEFAULT 默认值],列名 1 类型 [DEFAULT 默认值]…)

修改语法:

ALTER TABLE 表名称

MODIFY(列名 1 类型 [DEFAULT 默认值],列名 1 类型 [DEFAULT 默认值]…)

删除语法:

alter table 表名称

drop column 列名

范例:

–添加一列

alter table person

add gender number(1);

–修改列类型

alter table person

modify gender char(1);

–修改列名称

alter table person

rename column gender to sex;

–删除一列

alter table person

drop column sex

5.数据库表的更新


1.insert(增)

–添加一条记录

insert into person(pid,pname) values(2,‘闲言’);

commit;

2.delete(删)

–删除pid为2的记录

delete from person where pid = 2

3.update(改)

–修改pid为1的记录

update person set pname = ‘闲言博客’ where pid = 1

4.补充:三个删除

–删除表中全部记录

delete from person

–删除表结构

drop table person

–删除表,再次创建表(效果等同于删除表中全部记录)

–在数据量大的情况下,尤其在表中带有索引的情况下,该操作效率高

truncate table person

6.序列


在很多数据库中都存在一个自动增长的列,如果现在要想在 oracle 中完成自动增长的功能, 则只能依靠序列完成,所有的自动增长操作,需要用户手工完成处理。

–序列:默认从1开始依次递增,主要用来给主键赋值使用。

–序列不真的属于任何一张表,但是可以逻辑和表做绑定。

–dual:虚表,只是为了补全语法,没有任何意义。

–currval:下一个值

–nextval: 当前值

create sequence s_person;–创建序列

select s_person.currval from dual;–查询当前序列

insert into person(pid,pname) values(s_person.nextval,‘闲言’);–插入一条记录,主键使用序列自增

commit;

7.单行函数


左右于一行,返回一个值

1.字符函数

select upper(‘yes’) from dual;–YES 小写变大写

select lower(‘YES’) from dual;–yes 大写变小写

2.数值函数

–数值函数

–四舍五入,后面的参数是保留的位数

–正数位往后保留多少位数,负数则往前保留

–select round(26.14,-1) from dual; 30

–select round(26.14,-2) from dual; 0

–select round(26.14,2) from dual; 26.14

–select round(26.14,1) from dual; 26.1

select round(26.14,1) from dual;

–直接截取,不在看后面的数字是否大于某个数

–select trunc(26.14,-2) from dual; 0

–select trunc(26.14,-1) from dual; 20

–select trunc(26.14,1) from dual; 26.1

–select trunc(26.14,2) from dual; 26.14

select trunc(26.14,2) from dual;

–求余数

–select mod(11,2) from dual; 1

–select mod(12,2) from dual; 0

select mod(12,2) from dual;

3.日期函数

–日期函数

–查询出emp表中所有员工入职距离现在几天。

select sysdate-emp.hiredate from emp;

–算出明天此刻

select sysdate+1 from dual;

–查询出emp表中所有员工入职距离现在几月。

select months_between(sysdate,emp.hiredate) from emp;

–查询出emp表中所有员工入职距离现在几年。

select months_between(sysdate,emp.hiredate) /12 from emp;

–查询出emp表中所有员工入职距离现在几周。

select (sysdate-emp.hiredate) / 7 from emp;

–结论:日期可以直接加减,得到的单位是天

4.转换函数

–日期转字符串

select to_char(sysdate,‘fm yyyy-mm-dd hh24:mi:ss’) from dual;–2021-2-4 18:48:33

–字符串转日期

select to_date(’ 2021-2-4 18:48:33’,‘fm yyyy-mm-dd hh24:mi:ss’) from dual;

5.通用函数

–算出emp表中所有员工的年薪

–奖金里面有null值,如果null值与任意数字做算术运算,结果都是null

–nvl(#,#) 空值处理:如果第一位不是null,则用第一位,如果第一位为null,则用第二位(也就是0)

select emp.sal * 12+nvl(emp.comm,0) from emp;

6.条件表达式

–给emp 表中员工起中文名称

select emp.ename,

case emp.ename

when ‘SMITH’ then ‘曹贼’

when ‘ALLEN’ then ‘大耳贼’

when ‘WARD’ then ‘诸葛小儿’

–else ‘无名’

end

from emp

在这里插入图片描述

–判断emp 表中员工工资,如果高于3000显示高收入

–如果高于1500,低于3000,显示中等收入

–其余显示中等收入

–条件表达式的通用写法(MySql和Oracle通用)

select empno,ename,job,mgr,hiredate,comm,sal,

case

when sal>=3000 then ‘高收入’

when sal>=1500 then ‘中等收入’

else ‘中等收入’

end

from emp

在这里插入图片描述

–Oracle 专用条件表达式。

–Oracle 除了起别名,都用单引号。

select ename,

decode (ename,

‘SMITH’, ‘曹贼’,

‘ALLEN’, ‘大耳贼’,

‘WARD’, ‘诸葛小儿’,

‘无名’) “中文名”

from emp

在这里插入图片描述

8.多行函数(聚合函数)


作用于多行,返回一个值。

1.统计函数count(*)

–查询总数量

–count(*)底层走还是count(1),

select count(1) from emp;

在这里插入图片描述

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
img

写在最后

为了这次面试,也收集了很多的面试题!

以下是部分面试题截图

Java程序员秋招三面蚂蚁金服,我总结了所有面试题,也不过如此
能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
[外链图片转存中…(img-vXvlKREK-1711714267582)]
[外链图片转存中…(img-qHgyZW8r-1711714267583)]
[外链图片转存中…(img-CODHFs0S-1711714267584)]
[外链图片转存中…(img-QaeUHCDt-1711714267584)]
[外链图片转存中…(img-2mk0TTMd-1711714267584)]
[外链图片转存中…(img-B1gNuEpS-1711714267585)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-ll5H7fch-1711714267586)]

写在最后

为了这次面试,也收集了很多的面试题!

以下是部分面试题截图

[外链图片转存中…(img-tCliUDeZ-1711714267587)]

  • 6
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值