【编程笔记】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(差集):返回第一个查询结果减去第二个查询结果的值
未完待续……
领取专属 10元无门槛券
私享最新 技术干货