oracle学习笔记

发布 2021-05-11 23:14:28 阅读 6257

---test day01

-查看系统时间。

select sysdate from dual

-ddl语句数据定义语言。

create table guohua(

name varchar2(21) not null,basec number(3) default 60 ,-在赋值过程中体现。

oop number(3) ,jv**ase number(3)

--查看表结构查看表属性,及属性的值得类型。

desc guohua

--删除表。

drop table guohua

insert into guohua(name,oop,jv**ase)

values('sdf',34,23)

-查看表中内容。

select * from guohua

-修改内容。

update guohua

set basec=80

where name='sdf'

-删除一行。

delete from guohua

where basec=60

day02varchar2必须指定长度, char可以不指定字节,默认为1.

4000长度2000长度。

long在oracle是字符串,内容长度2gb

clob:存储定长,变长字符串,内容长度4gb

select 语句查询的意思。

select (字段,多字段用逗号隔开) 表明。

where 条件。

列:select job,ename,sal from emp_gh --查看表中的 job,ename,sal

where job='clerk'--满足job = clerk,也可以是大于等于号。

select * from emp_gh

where sal>2000

函数。**concat(char, char) 函数,用于连接字符串,变成一个字符串。

select concat(ename,job) from emp_gh

*可以将字符连接。

select concat(ename,'**') from emp_gh

*concat可以进行嵌套,现将两个字符串连接成为一个字符,在使用concat将下一个进行连接。

select concat(ename,concat(':job)) from emp_gh

** 可以进行字符串连接,与j**a中的+号一样,更常用!

select ename||'job from emp_gh

** 字符串长度 length( varchar2 )

select ename,length(ename) from emp_gh

**upper , lower, initcap

全大写 , 全小写, 首字母大写。

dual 是伪表,是用来测试函数的,能查询出一条记录,查询的东西与任何字段无关的使用伪表。

select

upper('nh') lower('hello'),initcap('hello worlk'),initcap('helloworlk'),initcap('hello worlk')

from dual

*实例运用查找emp_gh表中的scott的人的信息所有信息。

select * from emp_gh

where ename=upper('scott')

**trimltrimrtrim

去掉字符去掉左端的字符串去掉右端的字符串。

*去掉两段相同的字符,只能是单个字符,不能出现字符串,select trim ( l' from 'llllldfsfdlllllll' )from dual

*去掉左端的字符,只要在右边参数出现过得字符,都去掉,不分顺序。

select ltrim('sddssddsdsdslite','sd') from dual

*去掉右端的字符,只要在右边参数出现过得字符,都去掉,不分顺序。

select rtrim('litesddsssdddsdsdd','sd') from dual

*lpad, rpad 补位函数。

select lpad(sal,9,'s') from emp_gh

select rpad(sal,9,'s') from emp_gh

select lpad(sal,5,''from emp_gh

**substr 截取字符串,下标开始是1,且第二个函数是个数,取都是从左往右取。

若第2个参数超过了界限,则就代表将后面全部取完。

*从第十个位置开始取2个,select

substr('thinking in j**a',10,2)

from dual

*从倒数第7个开始取2个,select

substr('thinking in j**a',-7,2)

from dual

select

substr('thinking in j**a',-7,100)

from dual

***instr 查找字符的位置。

查找in在thinking in j**a 中从第四个位置开始,出现2次后的位置,如果没有则返回0

select

instr ('thinking in j**a','in',4,2)

from dual

*round 函数,四舍五人。

如果第二个参数是0 ,可以省略。参数为负表示小数点前。

select

round(55.12545,2),round(55.12545,0),round(55.

12545),round(55.12545,-1),round(55.12545,-2)

from dual

*trunc 函数,数值得截取,不做四舍五人。

select

trunc(45.2552,2),trunc(45.2552,0),trunc(45.2552,-1),trunc(45.2552,-2)

from dual

*mod(m,n),求余数,m/n的余数。

select

ename,sal,mod(sal,1000)

from emp_gh

**ceil(n),floor(n),向上取整,向下取整。

select ceil(45.2) from dual//46

select floor(45.2) from dual//45*

**时间戳 timestamp 11个字节。

*sysdate:返回一个当前时间date类型。

*systimestamp:返回一个当前时间戳。

select sysdate,systimestamp from dual

***转换函数。

*to_date()时间转换函数,日期格式字符串中除了字母数值和符号之外,其他的字符串都。

要使用双引号括起来。

select

to_date('2012-12-20 5:45:5','yyyy-mm-dd hh24:mi:ss')

from dual

select

to_date('2024年12月20日 5:45:5','yyyy"年"mm"月"dd"日" hh24:mi:ss')

from dual

**to_char()将制定格式的时间变成字符串。

select

to_char(sysdate,'yyyy-mm-dd hh24:mi:ss')

from dual

**date可以进行计算,对date加减一个数值,等同于加减天数,两个date之间相减,相当于相差的天数。

date也可以比较大小,越晚越大。

查看明天日期。

select

sysdate+1

from dual

查看日值时间。

select

ename,trunc( sysdate-hiredate,0)

from emp_gh

* 输入自己生日看活了多少天。

select

trunc(sysdate - to_date('1930-02-21','yyyy-mm-dd'))

from dual

***last_day(date) 查看给定日期的月底是哪天。

select

last_day(sysdate)

from dual

**add_months(date,i)给定date加i个月,如果i为负就是减去月。

查看员工转正日期,在入职日期上面加上一个3月。

select

ename,hiredate,add_months(hiredate,3)

from emp_gh

查看员工20周年的纪念日。

select

ename,add_months(hiredate,12*20)

from emp_gh

**months_between(date1,date2)

返回date1余date2之间相差多少个月。

** 查看入职多少个月了。

select

months_between(sysdate,hiredate)

from emp_gh

*next_day(date,i)

查看指定日期之后一天开始的周(i-1),列,5代表周4

今天周六。select

next_day(sysdate,1)//明天。

from dual

select

next_day(sysdate,7)//下周六。

from dual

***least/greatest函数。

最小值/最大值。

select

least(sysdate,sysdate+5)--最小值。

from dual

select

greatest(sysdate,sysdate+5)--最大值。

from dual

***extract() 获取指定时间分量的值。

查看满足2024年入职的员工。

select

ename,hiredate

from emp_gh

where extract(year from hiredate)=1981

null的含义。

*创建表student

create table student_gh(

id number(4),name varchar2(20),gender char(1)

*查看。desc student_gh

ORACLE学习笔记

rac real application clusters 真实应用集群。ohs oracle http server sga system global area 系统全局区,是系统为实例分配的一组共享缓冲存储区,用于存放数据库数据和控制信息,以实现对数据库数据的管理和操作。实例 存取和控制数据数...

Oracle学习笔记

参数文件 记录了控制文件的位置,控制文件是一个非常小的二进制文件,最大。可以增长到 64mb,控制文件包括如下主要信息 数据库的名字,检查点信息,数据库创建的时间戳 所有的数据文件,联机日志文件,归档日志文件信息 备份信息等 有了这些信息,oracle 就知道那些文件是数据文件,现在的重做日志文件是...

ORACLE学习笔记

目录。oracla管理 1 1.登录sqlplus 1 1.1.sysdba 身份登陆 1 1.2.普通用户登陆sqlplus 1 2.常用命令 1 3.格式化提示符 2 4.查看系统状态 2 4.1.查看实例状态 2 4.2.查看表 2 5.关闭 启动 2 6.创建表空间 3 7.用户和权限 3 ...