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

xiaoxiao2021-02-28  129

共性:

排序: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 : LOOPinsert 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的时候,发现可以直接运算分组后某个字段的综合!

转载请注明原文地址: https://www.6miu.com/read-46081.html

最新回复(0)