java学习笔记整理-数据库DDL,DML、Oracle函数

数据库可以分为两种
一.关系型数据库
1.Oracle甲骨文 11g
2.Mysql 甲骨文 5.5 5.7
3.sqlserver 微软
DB2 IBM
二.非关系型数据库:Nosql
SQL:
对数据库进行增删改查 数据
Oracle:
远程连接:Linux-命令
SID-连接Oracle数据使用的唯一标识。crcl
SQL语句:99标准 database
DDL:数据定义语言-表
创建表:creat table user_LT();
删表:drop table user_LT();//不可逆
查看表结构:desc user_LT;
修改字段增加字段:alter table user_lou add();
删除字段:alter table user_lou drop(score);
修改字段类型//修改默认值:alter table user_LT MODIFY(className varchar(10)default’java1906’);//不能修改字段名
修改表名:alter table user_lou TO user_LT;
删除表中所有数据:truncate table user_LT;//不可逆
DML:数据操纵语言-数据(配合TCL)
添加数据:insert into user_lou values(1,‘rose’,‘java’,92.3,sysdate);
即使设置默认值,也不能主动添加null值
指定部分字段添加值:insert into user_lou(name,birthday,socre)
values(‘jack’,sysdate,100);
查询指定所有数据:selectfrom user_LT;
删除指定表中所有数据:delete from user_lou;
条件删除:delete from user_lou where id=1;
修改数据:update user_lou set className=‘java1907’,score=‘100’;
筛选:where条件,所有字段都可以作为条件
update user_lou setclassName=‘java1906’
where name=‘rose’;
delete和truncate区别
truncate属于DDL,不可逆
dalete属于DML,可逆
TCL事务管理 commit rollback savepoint
只有DML需要配合TCL来使用、TCL是让DML对于数据的操作生效或者撤销
不同的会话、都有单独的事务,如果DML没有进行事务提交,操作不生效
commit:提交事务,当前会话的DML操作生效
rollback:回滚事务-当前会话的DML操作从上一次提交后的地方撤销
一次事务中可执行多次SQL语句
savepoint a;保存一个事务节点,事务没有提交
rollback to a;回滚到指定会话的节点
注意:事务结束的途径:提交、回滚、关闭连接
oracle函数 字符串相关、数字相关、时间相关
dual虚拟表,计算,借助虚拟表完成对应功能
字符串拼接 ( || ),可以多次拼接:select ‘ha’||‘ha’from dual;
字符串拼接,只能传两个参数,函数可以嵌套:select concat(‘ha’,‘hei’)from dual;
字符串长度:select length(‘lucy’)from dual;
字符串补齐:select lpad(‘haha’,10,’
’)from dual;
select rpad(‘haha’,10,’*’)from dual;
字符串切割,从第3个字符开始,取10个
select substr(‘hi!how are u!i am fine’,3,10)from dual;
如果为负数,意味着倒着数第n个字符开始
select substr(‘hi!how are u!i am fine’,-3,10)from dual;
全变大写、小写
select LOWER(‘ROSE’)from dual;
select Upper(‘rose’)from dual;
首字母大写
select initcap(‘rose’)from dual;
截取,去除左右两边指定字符串
select trim(‘h’from’h.hi!how are u!i am fine.hhh’) from dual;
select ltrim(‘h.hi!how are u!i am fine.hhh’,‘h’) from dual;
select rtrim(‘h.hi!how are u!i am fine.hhh’,‘h’) from dual;
查找
select instr(‘hi!how are u!i am fine.hhh’,‘i’)from dual;
select instr(‘hi!how are u!i am fine.hhh’,‘i’,16)from dual;
指定位置为负数,倒着数
select instr(‘hi!how are u!i am fine.hhh’,‘i’,-5)from dual;
与数字有关函数Math.round ceil follr mod
四舍五入,可以保留小数点,可以重整数部分开始
select round(4.55,1)from dual;
select round(4.55,-1)from dual;
向上取整\向下取整
select ceil(44.56)from dual;
select floor(44.56)from dual;
截取直接舍弃:
select trunc(15.79,1)from dual;
select trunc(15.79,-1)from dual;
取余数=取模
select mod(10,3)from dual;
时间 date timestamp
变成日期
select to_date(‘2019-02-28’,‘yyyy-mm-dd’)form dual;
变成字符串
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss)from dual;
所在当月的最后一天
select last_day(sysdate)from dual;
提取
select extarct(day from sysdate)from dual;
在指定时间上添加月份
select add_months(sysdate,-2)from dual;
相隔几月
select month_between(
to_date(‘2019-02-28’,‘yyyy-mm-dd’),
to_date(‘2019-05-28’,‘yyyy-mm-dd’)
)from dual;
sysdate、timestamp的区别
sysdate:本质是一个oracle的内部关键字,返回当前的系统时间,精确到日,默认显示模式是DD—MON—RR
systimestamp:与date的区别不仅可以保存日期和时间,还能保存小数秒,最高精度可以到ns

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值