–Oracle 数据库中常用角色
connect --连接角色,基本角色
resource --开发者角色
dba --超级管理员角色
–给bloghut 用户授予dba 角色
grant dba to bloghut;
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
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
在很多数据库中都存在一个自动增长的列,如果现在要想在 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;
左右于一行,返回一个值
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
作用于多行,返回一个值。
1.统计函数count(*)
–查询总数量
–count(*)底层走还是count(1),
select count(1) from emp;
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注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)]