Oracle笔记

基本

在oracle中表名字段名尽量用大写
sqlplus从cmd进入oracle数据库
system/password权限很大,一般创建一个用户来使用
conn name/password用户登陆
oracle语句以;结尾
select语句必须带有表,有一个默认虚拟表dual;
在命令行关闭时需要commit才会提交
如果执行了DDL语句会自动提交(提交所有)

创建用户

create user name identified by password;

用户创建后需要权限才能登陆且做相应操作

select user from dual;

获取当前用户名

用户授权

grant resource,connect to name;

CONNECT角色: --是授予最终用户的典型权利,最基本的权力,能够连接到ORACLE数据库中,并在对其他用户的表有访问权限时,做SELECT、UPDATE、INSERTT等操作。
 RESOURCE角色: --是授予开发人员的,能在自己的方案中创建表、序列、视图等。

查询表

select table_name from user_tables

数据类型

1.数值

都可以用NUMBER(m,n)来定义,m代表总长度,n代表小数长度。当小数位过多可以定义,四舍五入。整数位数为(m-n),过多无法保存。
m,n参数都是可选项。

2.时间

DATE年月日时分秒(默认显示不含时分秒,to_char(name,‘yyyy-mm-dd hh:mi:ss’))格式化时间
获取当前时间sysdate

3.字符

中文占用三个长度
char(m),定长字符串(指定长度)
varchar(m),变长字符串(最大长度),不保证兼容性,不建议使用
varchar2(m),同varchar,建议使用

中文占用一个长度
nchar(m)同char,存储的内容的长度根据字符集确定
nvarchar2(m)同varchar2,存储的内容的长度根据字符集确定

如果需要存中文时使用nvarchar2

常用函数

聚合函数

count,avg,min,max,sum

字符串函数

ascii©–返回字符对应的ascii码
chr(i)–根据ascii码返回对应的字符
concat(s1,s2)–连接字符串
initcap(s)–首字母大写
length(s)–长度
lower(s)–全部小写
upper(s)–全部大写
rpad(s,length,c)–截取给定字符串的给定长度,如果长度不够,在右边填充给定字符
lpad(s,length,c)–截取给定字符串的给定长度,如果长度不够,在左边填充给定字符
trim(s)–删除指定字符串两边的空格
ltrim(s)–删除指定字符串左边的空格
rtrim(s)–删除指定字符串右边的空格
substr(s,start,length)–截取字符串(以1开始)

数学函数

abs(i)–绝对值
mod(i1,i2)–取余
power(i1,i2)–次方
sqrt(i)–开平方
ceil(i)–向上进位
floor(i)–向下进位
round(i)–四舍五入

日期函数

sysdate–当前日期
last_day(date)-- 获取给定日期当月的最后一天
MONTHS_BETWEEN(日期1,日期2)–获取两个日期之间相差的月数(日期1-日期2)
ADD_MONTHS(日期,数字) – 对给定日期增加(/减少)月数
日期 + 数字 – 对给定日期增加(/减少)天数
TO_DATE(字符串, pattern) – 把字符串转成日期
– pattern (yyyy-mm-dd hh24:mi:ss)
– java-oracle: MM-mm, mm-mi ,HH-hh24, hh-hh
TO_CHAR(日期, pattern) – 把日期转成字符串
如果两个日期相减 = 相差的天数(带小数)

数字函数

TO_NUMBER(字符串) – 字符串转数字
TO_CHAR(数字) – 数字转字符串

decode函数

DECODE(字段名, 值1, 字符串1,值2,字符串2,…,其他字符串)
相当于switch case

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值