/** * @TODO:查询某一年度的所有计划数量 */ public int findCountByYear(String currYear) { String hqlString = "select count(*) from WaterPlan as p where p.planYear ='"+currYear+"'"; Query query = this.getSession().createQuery(hqlString); return ((Numb…
在数据库应用的设计中,我们往往会需要获取某些表的记录总数,用于判断表的记录总数是否过大,是否需要备份数据等.我们通常的做法是:select count(*) as c from tableA .然而对于记录数巨大的表,上述做法将会非常耗时.在DELL 4400 服务器上做试验,MS Sqlserver 2000 数据库对于100万记录的简单数据表执行上述语句,时间在1分钟以上.如果在表的某个字段上做聚簇索引,第一次执行该语句的时间和没有索引的时间差不多,之后执行上述语句,速度很快,在1秒中以内,…
原文 NSIS:在注册表中记录安装路径以便重装或升级时读取 在NSIS中,这个功能是非常有用的,可以避免用户把程序安装到多个位置的尴尬. 第1步:在“安装目录选择页面”前面加入以下代码: 1 !define MUI_PAGE_CUSTOMFUNCTION_show Pageshow 第2步:读取注册表中关于安装路径的键值,如果没有,就使用默认路径. 1 InstallDirRegKey HKCU “Software\eBook Workshop” “” 第3步:在主区段中把安装路径写入注册表.…
oracle数据库误删的表以及表中记录的恢复 一.表的恢复 对误删的表,只要没有使用PURGE永久删除选项,那么从flash back区恢复回来希望是挺大的.一般步骤有: --1.从flash back里查询被删除的表 select * from recyclebin --2.执行表的恢复 flashback table tbName to before drop; --这里的tbName代表你要恢复的表的名称. 二.表数据恢复 对误删的表记录,只要没有truncate语句,就可以根据事务的提交…
sqlserver 表中记录生成insert,可以加条件,可以生成建表语句 create PROCEDURE [sp_getinsert] ( ) , --如果非默认架构,可以加上架构名 例如:schema1.tablename ) = '', ) AS BEGIN SET NOCOUNT ON; ,; DECLARE @sqlstr VARCHAR(max)= ''; DECLARE @sqlstr1 VARCHAR(max); DECLARE @sqlstr2 VARCHAR(max) ,…
很多时候我么需要为表中疯狂增加N条记录,那么我们该使用什么语句实现该功能呢?如下: insert into 表名(字段1,字段2,字段3....)  select 字段1,字段2,字段3.... from 表名;…
一.清除mysql表中数据 delete from 表名;truncate table 表名;不带where参数的delete语句可以删除mysql表中所有内容,使用truncate table也可以清空mysql表中所有内容.效率上truncate比delete快,但truncate删除后不记录mysql日志,不可以恢复数据.delete的效果有点像将mysql表中所有记录一条一条删除到删完,而truncate相当于保留mysql表的结构,重新创建了这个表,所有的状态都相当于新表. 二.删除表…
mysql 记录不存在时插入在 MySQL 中,插入(insert)一条记录很简单,但是一些特殊应用,在插入记录前,需要检查这条记录是否已经存在,只有当记录不存在时才执行插入操作,本文介绍的就是这个问题的解决方案. 问题:我创建了一个表来存放客户信息,我知道可以用 insert 语句插入信息到表中,但是怎么样才能保证不会插入重复的记录呢? 答案:可以通过使用 EXISTS 条件句防止插入重复记录. 示例一:插入多条记录 假设有一个主键为 client_id 的 clients 表,可以使用下面的…
=========================================================================循环排序查询数据============================================================= 这个写的是个函数,以便存储过程中调用!USE [数据库名称]GO/****** Object: UserDefinedFunction [dbo].[GetServer] Script Date: 05/22/20…
1.问题描述 有两张表,A表记录了某些实体的新属性,B表记录了每个实体的旧属性,现在打算用A中的属性值去更新B中相同实体的旧属性,如下图所示: 类似这样的需求,怎样做比较高效呢? 2.制作模拟数据     为了便于说明及进行效率对比,首先我们来制作一些模拟数据.在ORACLE数据库中,模拟数据的制作分如下三步: 创建数据表 create table a (tbbh number,dlbm varchar2(3)); create table b (objectid number,tbbh num…
1.查看一个表所占的空间大小:SELECT bytes/1024/1024 ||'MB' TABLE_SIZE ,u.* FROM USER_SEGMENTS U WHERE U.SEGMENT_NAME='JK_TEST';2.查看一个表空间所占的实际大小:SELECT SUM(BYTES) / 1024 / 1024 ||'MB' FROM USER_SEGMENTS U  WHERE TABLESPACE_NAME = 'DATA01';3.查看一个表空间对应的数据文件:SELECT *…
出现null的处理思路首先检查数据库中是否真的有这个记录 确实存在的,用接口查一下最大值,也是存在的,数据库连接正常 写sql也可以查得到 然而诡异的事情出现了 难道是一直在用的dao代码出了问题? public Article getById(Session session, int id) { return (Article) session.get(Article.class, id); } 换一个id试试,,,要死啊,代码没问题啊 实在没办法了,当我把查询hql写为 的时候,终于看到有用…
首先根据我有限的知识判断,回滚之后进行写表,该写表动作只能使用listener来进行. 考虑使用的listener有:ItemWriteListener     StepExecutionListener    ChunkListener 我首先使用了ItemWriteListener,在 onWriteError(Exception exception, List items) 方法中对items进行了写表,后来发现被回滚,通过一步一步debug,看到确实该方法之后才是rollback. 所以…
在操作ORACLE数据库的时候,由于执行完,没有COMMIT,直接把PL/SQL关闭掉,后来导致那张表被锁住,当编辑时就会出现这个信息,record is locked by another user!当出现这种情况的时候,只要操作下面几个步骤就可以解锁了.1.查看锁 select t2.username,t2.sid,t2.serial#,t2.logon_time from v$locked_object t1,v$session t2 where t1.session_id=t2.sid…
public static int count(String txyl_table) {// 获取用户数量 int i = 0;// Store_Information Connection con = DB.getConnnection(); try { Statement stmt = con.createStatement(); ResultSet rset = stmt.executeQuery("select count(*)as totalCount from "+ txy…
10.1 简单数据记录查询 SELECT field1,field2,...fieldn FROM table_name; “*” ——查询所有记录 SELECT * FROM table_name; DISTINCT——避免重复数据查询 SELECT DISTINCT field1,field2,...fieldn FROM table_name; AS——修改字段名 SELECT field1 [AS] otherfield1,field2 [AS] otherfield2 FROM tab…
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6138288.html 在上一篇博文我们提到,分页有三种方法.其中,第三种是我们最常用的.然而,在实际应用过程中我们会发现,select count(*) from tname 语句在统计某表内记录总数时,如果表内数据量达到一定规模(比如100W条),这个语句就会执行得非常慢.有什么办法可以加快统计出表内记录总数呢? 这里,我们需要借助一个中间表来记录数据库内各表记录总数.然后,在我们需要知道某表的记录总数来…
1.需求 create table ta(id int);create table tb(id int);insert into ta values(1);insert into ta values(2);insert into ta values(3);insert into tb values(1);insert into tb values(1); --假如tb表中记录可以重复select * from ta ;想知道ta的每条记录是否在tb表中存在.比如查询结果为:0为不存在.id   …
select * from td  left join (select case_id as sup_case_id , count(*) supervise_number from  td_kcdc_case_sup_info  group by  case_id  ) sup on     sup.sup_case_id = td.case_id where 1=1   /*不能去掉, 否则认为and 后的条件为 联合查询时的条件, 不能起过滤作用,由于left join因此td表中记录将全…
这篇文章主要介绍在navicat的命令界面操作mysql.主要涉及建立表结构,和对表中数据的增加删除修改查询等动作.站在一个新手角度的简单mysql表结构和数据操作. ☆ 准备工作 1,保证自己的电脑安装了mysql(my.ini下的字符集设置是utf8) 2,确保电脑同时安装navicat(任意版本) 3,保证mysql服务器已经启动 注:若对navicat操作不熟,请参照<<navicat从下载到使用>>这篇文章. ☆ 打开控制台 在navicat的tools(工具)菜单栏选择…
问题场景: 商品表goods,里面有几个大文本字段,类型用的MediumText,表中记录28万多.分页查询时用limit,在一般PC上需要12秒左右,这个数量级的数据不应该这么慢. 原因分析: 几个大文本拖慢了查询速度,如果只查主键或数字类型的字段则很快.有人说你分页干嘛查大文本啊,原因是产品经理和设计师一致认为分页应该显示些摘要比较美观. 解决方案: 1.通用做法:每次分页查询时,都提供一下开始Id,速度很快. select * from goods where id>65310 limit…
C#实现在注册表中保存信息 最近做的项目需要在注册表中记录一些用户设置,方便在程序下次启动时读取设置,应用上次用户保存的设置,挺简单的. 写出来,方便记忆,以后要用,可以直接改改就能用. 1 using System; 2 3 namespace Backend 4 { 5 public class RegistryStorage 6 { 7 public static PageVisibility OpenAfterStart() 8 { 9 Microsoft.Win32.RegistryK…
现有数据表xiami,建表的时候忘记添加自增字段,现需要添加自增字段 第一步:添加字段 alter table xiami add id int; 第二步:修改字段 alter tabel xiami change id id auto_increment not null primary key; 问题: 表中记录数量为3929966条 Query OK, rows affected ( min 8.09 sec) Records: Duplicates: Warnings: 查看创建表命令时…
之前,在Codeproject发表过一篇关于用现有表中数据创建Insert的Sql语句的存储过程,今天将其搬到这里来,注意本存储过程仅适用于SQL SERVER. 介绍 一些时候,你想导出一些现有表中记录的Sql脚本以便你可以插入这些数据到另一个数据库的相似表中.有很多方式可以做到,现在,我将跟大家分享一个存储过程来一起实现它.希望对各位有所帮助. 代码 首先,请在你的SQL Server数据库中创建如下名为[dbo].[sp_CreateInsertScript]存储过程,其内容如下: --=…
为了性能考虑,在阅读之前提醒大家,如果有子查询,子查询查询到的数据最好不要超过总数据量的30%. 查询有重复数据的记录 select * from F group by a,b,c,d having count(*)>1 select distinct * into #Tmp from tableName drop table tableName select * into tableName from #Tmp drop table #Tmp SQL删除重复数据方法 例如:  id name…
 package com.ucap.netcheck.dao.impl; import java.util.ArrayList;import java.util.List; import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.springframework.beans.factory.annotation.Autowired;import…
嗯,遇见了表中存在重复的记录的问题,直接写sql删除时最快的,才不要慢慢的复制到excel表中慢慢的人工找呢.哼. 如下sql,找出重复的记录,和重复记录中ID值最小的记录(表中ID为自增长) select MIN(ID) as id, StructSN ,Date,UserID,StarCount,COUNT(StructSN) as c from T_Dor_StructStar ' group by StructSN ,Date,UserID,StarCount having COUNT(…
sql某一表中重复某一字段重复记录查询与处理   1.查询出重复记录  select 重复记录字段 form  数据表 group by houseno having count(重复记录字段)>1 2.重复记录只显示一条ID值最小或最大的记录 select   id,* from   数据表 where houseno (select 重复记录字段 form 数据表 group by 重复记录 字段 having count(重复记录字段)>1 ) 这样把houseno重复的的ID值全部显示…
数据表 sniper_tb 中存在主键 id,字段url,现需要在url字段上添加 unique,但由于url存在重复记录,导致添加失败. 如何删除表中多余的url重复记录,仅保持一条? 思路一 将 sniper_tb 表按url字段分组,将其中 count(url) > 1 的记录存入一个临时表 tmp中,此临时表同时包含id字段 将 sniper_tb 表中 url 与 tmp.url 相同的记录找出来设置为集合 tmp2 tmp2.id 不在临时表 tmp.id 中的记录,则为最终需要删除…
在A表中存在一个字段“AccountId”,而且不同记录之间的“AccountId”值有可能会相同,现在就是需要查询出在该表中的各记录之间,“AccountId”值存在重复的项,这里count记录该字段重复的记录数(此处只针对该字段是否重复进行查询):Select AccountId,Count(*) From A Group By AccountId Having Count(*) > 1 如果查询多个字段也相同大则如下:Select AccountId,Name,Count(*) From…