数据库操作大全(不断记录积累)!!

共性:

排序:SQL语言的默认排序方式是升序,ORDER BY 子句若未显式指定升序(ASC)或降序(DESC),那么就认按默认升序排序。
join操作:
select * from a  inner join   b  on  a.id=b.id
INNER JOIN 关键字在表中存在至少一个匹配时返回行。如果 "a" 中的行在 "b" 中没有匹配,就不会列出这些行。
 

oracle

1.
mybatis中的时间操作,搜索指定时间内的数据!
<![CDATA[
    AND TRANS_LASTDATETIME < to_date(#{translastdatetime,jdbcType=VARCHAR},'yyyy-mm-dd')+1
    AND TRANS_LASTDATETIME >= to_date(#{translastdatetime,jdbcType=VARCHAR},'yyyy-mm-dd')
]]>

注意:传进来的时间要是字符串格式,不能是时间格式。如果是时间格式,直接如此即可!

<![CDATA[
    AND W.CREATE_DATE < #{createDate,jdbcType=TIMESTAMP}+1
    AND W.CREATE_DATE >= #{createDate,jdbcType=TIMESTAMP}
]]>
2.转时间 to_char(G.DOC_DATE, 'yyyy-mm-dd hh24:mi:ss')

mysql

1.时间操作

1.1搜索某天的数据!

1.1.1:select * from 表名 where to_days(字段名)=to_days(查询时间参数);

1.2DATE_SUB() 函数从日期减去指定的时间间隔。

DATE_SUB(date,INTERVAL expr type)
date  参数是合法的日期表达式。 expr  参数是您希望添加的时间间隔。

Type 值MICROSECOND.SECOND.MINUTE.HOUR.DAY.WEEK.MONTH.QUARTER.YEAR.等等

2.删除表数据

   truncate table 表名; 效率比delete快,实际上是删除了表在新建了一个同样的表!但是删除后不会记录mysql日志,所以不可恢复数据!

delete from  表名;  事实上市一条数据一条的清空!

3.删除表用别名

delete m from menu m where m.ID = 10;

要在delete后面也加别名!

3:写一个循环loop的储存过程

begin 
declare i int ;
set i = 1;
add_loop : LOOP
insert into multithreading (thread_name,create_date,last_modify_date,control_num) values 
("线程",current_timestamp(),current_timestamp(),(i));
SET i = i + 1;
IF i >= 100000 THEN
LEAVE add_loop;
END IF;
END LOOP;
end


两个数据库共有方法:

group by;
按某个字段分组的后操作。

这是表数据

这是sql按password分组后,因为password=222有两条,所以只显示一条,显示的是相同数据的后一条数据!



当我们使用sum的时候,发现可以直接运算分组后某个字段的综合!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值