当前位置:首页 » 编程语言 » sql语句查询往年
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql语句查询往年

发布时间: 2023-01-21 07:29:45

sql 如何查询历史操作语句

打开Log Explorer -> Attach Log File -> 选择SQL Server服务器和登陆方式 -> Connect -> 在Database Name中选择数据库 -> Attach-> 左面对话框中Browse-> View Log-> 就可以看到log记录了
想恢复的话: 右键Log记录 Undo Transation-> 选择保存文件名和路径-> 然后打开该文件到查询分析器里执行 T-sql代码就可以了
例如 如果Log是delete table where ...的话,生成的文件代码就是insert table .... 然后将此insert table的代码放到查询分析器里执行.就可以恢复数据.
Log Explorer使用的一个问题
1)对数据库做了完全 差异 和日志备份 备份时选用了删除事务日志中不活动的条目 再用Log Explorer打试图看日志时 提示No log recorders found that match the filter,would you like to view unfiltered data 选择yes 就看不到刚才的记录了
如果不选用了删除事务日志中不活动的条目 再用Log Explorer打试图看日志时,就能看到原来的日志
2)修改了其中一个表中的部分数据,此时用Log Explorer看日志,可以作日志恢复
3)然后恢复备份,(注意:恢复是断开Log Explorer与数据库的连接,或连接到其他数据上, 否则会出现数据库正在使用无法恢复) 恢复完后,再打开Log Explorer 提示No log recorders found that match the filter,would you like to view unfiltered data 选择yes 就看不到刚才在2中修改的日志记录,所以无法做恢复.

❷ 如何查看mysql执行的所有以往 sql 语句历史命令

mysql 有这样一个机制,就是,在用户的主目录下会生成一个.mysql_history 的文件,这个文件会记录用户登录mysql后,在mysql中敲过的每条命令。
cat ~/.mysql_history 即可以看到以前的命令历史。

❸ 请问,sql语句怎么写,查询截止昨天以前的所有数据

select
*
from
tablename
where
datediff(day,col_1,getdate())
>
0
查询表中与当前时间相差大于0天的所有数据.
再看看别人怎么说的。

❹ sql语句查询本年记录总数和去除本年的以前年的总记录数

什么数据库,以sqlserver为例

2
select count(*) from 公文表 where year(审核日期) =year(getdate()) --year就是取年份的函数,getdate()是取当前日期,所以第三题我写的你就看懂了吧

3
select count(*) from 公文表 where year(审核日期)<=year(getdate())-1

❺ 求助,关于用sql语句查询当年数据的问题

select * from A where A.XXX between 年初 and 年末尾;--获取年初年末的函数自己查(每个人定义的时间观念不同)。

❻ 如何查看mysql执行的所有以往 sql 语句历史命令

转:
如果你想知道mysql在干吗,需要配置log
my.ini文件中
log=log路径 比如D:/MySQL/datalog.log
配置后重启mysql服务,然后就可以查看mysql执行的sql语句了,
如果你没开启日志的话,那就没办法

❼ 在SQL语句中,如何实现查询当月数据和当年数据

select * from yh.zsxx where to_char(rkrq,'yyyy-mm') = to_char(sysdate,'yyyy-mm') ——当月数据

select * from yh.zsxx where to_char(rkrq,'yyyy') = to_char(sysdate,'yyyy')——当年珊瑚橘

❽ SQL语句:查询某一年、月、日的记录

SQL语句:查询某一年、月、日的记录

$sql="select * from dbname where YEAR(PatchDate)=".$year." and MONTH(PatchDate)=".$month." order by ID desc";

❾ 怎么 查看数据库最近曾经执行过的SQL语句

oracle 查询最近执行过的 SQL语句
select sql_text,last_load_time from v$sql order by last_load_time desc;

SELECT sql_text, last_load_time FROM v$sql WHERE last_load_time IS NOT NULL and sql_text like 'select%' ORDER BY last_load_time DESC;

SELECT sql_text, last_load_time FROM v$sql WHERE last_load_time IS NOT NULL and sql_text like 'update%' ORDER BY last_load_time DESC;

SELECT sql_text, last_load_time FROM v$sql WHERE last_load_time IS NOT NULL and last_load_time like' 14-06-09%' ORDER BY last_load_time DESC;

---正在执行的

select a.username, a.sid,b.SQL_TEXT, b.SQL_FULLTEXT
from v$session a, v$sqlarea b
where a.sql_address = b.address
---执行过的
select b.SQL_TEXT,b.FIRST_LOAD_TIME,b.SQL_FULLTEXT
from v$sqlarea b
where b.FIRST_LOAD_TIME between '2009-10-15/09:24:47' and
'2009-10-15/09:24:47' order by b.FIRST_LOAD_TIME
(此方法好处可以查看某一时间段执行过的sql,并且 SQL_FULLTEXT 包含了完整的 sql 语句)

其他
select OSUSER,PROGRAM,USERNAME,SCHEMANAME,B.Cpu_Time,STATUS,B.SQL_TEXT
from V$SESSION A LEFT JOIN V$SQL B ON A.SQL_ADDRESS=B.ADDRESS AND A.SQL_HASH_VALUE=B.HASH_VALUE order by b.cpu_time desc

select address, sql_text, piece
from v$session, v$sqltext
where address = sql_address
-- and machine = < you machine name >
order by address, piece

查找前十条性能差的sql.

SELECT * FROM (select PARSING_USER_ID,EXECUTIONS,SORTS,
COMMAND_TYPE,DISK_READS,sql_text FROM v$sqlarea
order BY disk_reads DESC )where ROWNUM<10 ;

查看占io较大的正在运行的session

SELECT se.sid,se.serial#,pr.SPID,se.username,se.status,
se.terminal,se.program,se.MODULE,、se.sql_address,st.event,st.
p1text,si.physical_reads,
si.block_changes FROM v$session se,v$session_wait st,
v$sess_io si,v$process pr WHERE st.sid=se.sid AND st.
sid=si.sid AND se.PADDR=pr.ADDR AND se.sid>6 AND st.
wait_time=0 AND st.event NOT LIKE '%SQL%' ORDER BY physical_reads DESC