【编程笔记】oracle数据库

【编程笔记】oracle数据库

概述:

oracle数据库,一个用来存储数据的软件,它是美国oracle公司的产品,它以分布式数据操作为核心,什么是分布式操作?你可以理解为:它支持自己的各个数据模块独立运行。是b/s(浏览器和服务器)体系结构的数据库之一。

oracle数据库的特点:

大:占用内存大,作用大,事务量大。

稳:控制稳定,安全性高。

多:功能多。

可移植性相对高:指把软件从一种环境移到另一种环境的难度。

oracle数据库是数据的物理存储。这就包括(数据文件ORA或DBF、控制文件、联机日志、参数文件)。其实oracle数据库的概念和其他数据库不同,其他数据库服务器通常可以创建多个数据库,oracle的数据库是一个操作系统只有一个库。

oracle数据库下面可以有多个表空间,数据库的数据是存在表空间的,一个表空间是由一个或多个数据文件组成的,一旦数据文件被加入到某个表空间,就不能删除,除非删除表空间。

数据文件:

高级记账程序记录的所有统计信息都将写入一个数据文件,当这个数据文件达到其容量极限的时候,开单应用程序即可处理它。文件处理完后,可以复用该文件并如此循环往复。

数据文件可以理解为,对全盘操作进行记录的文件。

表空间可以被看做是一个数据文件逻辑上的存在,每个数据库至少有一个表空间(system表空间)。

用户:

用户是在表空间下建立的,用户登录后就能看到和操作自己的数据,每建立一个应用(实例)需要创建一个用户。

每个用户都有自己不同的数据,这里的用户起到了区分作用。

在你安装oracle数据库的时候,程序会提示你给system用户(最少必要用户)设置一个密码,安装好之后你可以在cmd窗口中输入你的用户和密码连接数据库(在这之前还需要进行一些配置)。

表的创建:

1.创建表空间

create tablespace biao(表空间名)

datafile ‘D:\biao.dbf’ //表空间的存放位置

size 100M //表空间达到大小

autoextend on //空间到达上上限后是否扩展

next 10M //每次扩展多少

2.创建用户

3.用户赋权

grant dba to yonghu //没有被赋权的用户无法登陆

4.创建表

省略……

5.数据类型:

long:大文本类型,最大可以存2G

number(4):数值类型,括号中设置数字的最大长度。

date:日期类型,精确到秒

timestamp:精确到秒的小数点后9位

clob:存字符,最大4G

blob:存图像,音频,视频,最大4G

注意:在oracle数据库中进行增删改的时候,语句后面要加commit;

数据库的导出导入

1.整库导出命令:

exp(文件后缀) system(账号)/1333(密码) file=aaa(指定文件名) full=y //默认文件名为expdat

2.整库导入命令

imp system/1333 full=y

3.按用户导出命令

exp system/1333 owner=yonghu(用户名) file=aaa.dmp(指定文件名)

4.按用户导入命令

imp system/1333 file=aaa.dmp fromuser=yonghu

5.按表导出命令

exp system/1333 file=aaa.dmp tables=biaoming,biaoming2(表名) //多个表用逗号隔开

6.按表导入命令

imp system/1333 file=aaa.dmp tables=biaoming,biaoming2

单行函数

1.字符函数

ascii:返回对应字符的十进制值

chr:给出十进制返回字符

concat:拼接两个字符串,与相同

initcat:将字符串的第一个字母变为大写

instr:找出某个字符串的位置

instrb:找出某个字符串的位置和字节数

length:以字符类型返回字符串的长度

lengthb:以字节类型返回字符串的长度

lower:将字符串转换为小写

lpad:使用指定的字符在字符的左边填充

ltrim:在左边剪裁掉指定的字符

rpad:使用指定的字符在字符右边填充

ltrim:在右边剪裁掉指定的字符

replace:找出字符串中的某些字符并替换

substr:截取字符串中的子串

substrb:截取字符串中的子串(以字节)

soundex:返回一个同音字符串

translate:找出字符串中的某些字符并替换,多余的删除

trim:剪掉前面或后面的字符串

upper:将字符串变为大写

2.数值函数

abs(value):绝对值

ceil(value):向上取整

cos(value):余弦//直角三角形任意一个锐角的邻边和斜边的比,参数为角度

cosh(value):反余弦

exp(value):某个的值的value次方(次幂)

floor(value):向下取整

ln(value):值的自然数对数

log(value):值的以10为底的对数

mod(value,divisor):取余运算(取模)

power(value,exponent):value的exponent次方(次幂)

round(value,precision):按precision的精度四舍五入

sign(value):值为正返回1,为负返回-1,为0返回0

sin(value):余弦//参数是弧度

sinh(value):反余弦//参数是弧度

sqrt(value):值的平方根

tan(value):正切

tanh(value):反正切

trunc(value,v2)按照v2截取value

vsize(value):返回value在oracle(数据库)中存储空间的大小

3.日期函数

add_months:在日期上增加指定的月数

greatest(date1,date2,…):从列表中选出最晚的日期

last_day(date):返回date月的最后一天

least(date1,date2,…):从列表中选出最早的日期

months_between(date1,date2):返回date1减date2的月数(可以是小数)

next_day(date,day):给出日期date之后的下一天,这里的day为星期

new_time(date,’this’,’other’)给出this时区=other时区的日期和时间

round(date,’format’):未指定format时,如果日期中的时间在中午之前,则将日期中的时间截断为12A.M(凌晨),否则进到第二天

trunc(date,format):未指定format时,日期中的时间截断为12A.M(凌晨)

4.转换函数

chartorowid:将字符转换为rowid类型

convert:转换一个字符节到另一个字符节

hextoraw:转换16进制到raw类型

rawtohex:转换raw到16进制

rowidtochar:转换rowid到字符

to_char:将日期格式转换为字符串格式

to_date:按照指定的格式,将字符串类型转换为日期类型

to_multibyte:把单字节字符转换为多字节

to_number:将字符串转换为数字类型

to_single_byte:转换多字节到单字节

5.其他函数

nvl(v1,v2):空值处理//v1是被检测的值,如果v1为空,就使用v2的值

nvl(v1,v2,v3)://如果v1不为空就使用v2,否则使用v3

decode(条件,值1,翻译值1,值2,翻译值2,…,却省值):根据条件返回相应的值

rank:用于排序//相同的值排名相同,之后名次跳跃

dense_rank:相同的值排名相同,之后名次不跳跃

row_number:依次排序,不考虑值

6.集合运算

集合运算就是将两个或多个结果集组合成一个结果集/

..union all(并集):返回各个查询的所有记录,可重复

..union(并集):返回各个查询的所有记录,不可重复

..intersect(交集):返回两个查询共有的记录

..minus(差集):返回第一个查询结果减去第二个查询结果的值

未完待续……

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180114G01RIS00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券