-- 演示将多条记录数据组合成一条sql插入语句(for mysql) function getTpl0(tname) -- 获取表各个字段 local t = { tpl_pack = {"packId","itemId","`group`","num","rate","rateType"}, } for k, v in pairs(t) do if tname == k then r…
SQL 列转行,即多行合并成一条   需求:按照分组,将多条记录内容合并成一条,效果如下: 数据库示例: CREATE TABLE [t2]([NID] [bigint] NULL,[district] [nvarchar](255) NULL,[town] [nvarchar](255) NULL); insert into t2 values(1,'淮上区','曹老集镇'); insert into t2 values(2,'淮上区','淮滨街道'); insert into t2 valu…
如果ID是主键或者有索引,可以直接查找: 方法一: 查询上一条记录的SQL语句(如果有其他的查询条件记得加上other_conditions以免出现不必要的错误): select * from table_a where id = (select id from table_a where id < {$id} [and other_conditions] order by id desc limit 1) [and other_conditions]; 查询下一条记录的SQL语句(如果有其他的…
sql如何查询表的第一条记录和最后一条记录 方法一:使用top select TOP 1 * from apple;TOP 1 表示表apple中的第一条数据 select TOP 1 * from apple order by id desc;TOP也是第一条数据,但是order by(以什么排序),id desc 以id的降序排列,所以要是id要是增长的话,最后一条数据就被排到第一条了 (备注:top是Access的语法,MySQL不支持) 方法二:使用LIMIT 第一条记录 mysql>…
在access的mdb数据库动态更新的过程中,遇到了DeleteCommand出现DBConcurrencyException异常,错误:违反并发性: DeleteCommand 影响了预期 1 条记录中的 0 条. 程序逻辑:遍历表1的所有行,如果符合条件,则删除表1当前行,且删除表2中的相关行(两行),并在表2中插入新的一行.由于在判断的时候需要用到表2中新插入的行,所以得在循环中实时更新. 经查找: 该错误的原因为:数据库的主键设置为-自动编号. 错误分析: 首先获取的DeleteComm…
本文转载:http://www.cnblogs.com/litianfei/archive/2007/08/16/858866.html UpdateCommand和DeleteCommand出现DBConcurrencyException异常.调试提示:违反并发性: DeleteCommand 影响了预期 1 条记录中的 0 条:或   违反并发性: UpdateCommand影响了预期 1 条记录中的 0 条. 这里的违反并发性:不是指多人编辑引起的并发. 问题原因: 在插入.更新或删除操作…
将一个表中的数据生成SQL插入语句,方便系统快速初始化,在数据库中执行创建以下过程就可以了. ) Drop Procedure GenerateData go CREATE PROCEDURE GenerateData @tablename sysname AS begin ) ) ) declare @xtype tinyint declare @name sysname declare @objectId int declare @objectname sysname declare @id…
这两天做了一个调用第三方接口的小程序,因为是实时更新数据,所以请求接口的频率就很高,这样有时会出现往数据库插入重复的数据,对数据库造成压力也不方便管理,因为要通过原生sql语句,解决数据库的去重问题.在过程中遇到了麻烦,最终解决了分享出来. 要删除重复的记录,就要先查出重复的记录,这个很容易做到 select * from cqssc group by expect having count(expect) > 1 注意:这是查出所有重复记录的第一条记录,需要保留,因此需要添加查询条件,查出这三…
如果ID是主键或者有索引,可以直接查找: 方法一: 查询上一条记录的SQL语句(如果有其他的查询条件记得加上other_conditions以免出现不必要的错误): select * from table_a where id = (select id from table_a where id < {$id} [and other_conditions] order by id desc limit 1) [and other_conditions]; 查询下一条记录的SQL语句(如果有其他的…
今天在增加P4厂 FPC报价模块配置,增加刚挠信息节点,在保存时报错:UpdateCommand影响了预期 1 条记录中的 0 保存时使用:SqlDataAdapter批量更新DataTable,怎么回事呢,以前使用SqlDataAdapter保存一切都好好的, 今天这咋咱不行了呢. 接着准备调试发现原因: 检查DataRow行RowState为 DataRowState.Modified OK呀, 接着检测DataTable数据,很正常,没发现问题 然后查看传入的参数,一切也没毛病 这就奇怪了…
上一条记录的SQL语句: * from news where newsid<id order by newsid DESC 下一条记录的SQL语句: * from news where newsid>id order by newsid ASC 开发中遇到需要在当前页面显示当前文章的上一篇文章和下一篇文章,百度了一下,搜索到以上SQL语句:…
前言 之前遇到了一次这样的需求,当时没有记录,这一次又赶上了,简单的记录一下. 本文个人拙见,若有出入,请指出--来自菜的颤抖 场景 表A中存放了集装箱的信息,一个集装箱一条记录,表B中存放了对于集装箱操作的指令,一条指令包括多个集装箱箱号,通过分号;切割(TCIU2347687;XUTR3546865),现在的需求是,对于已经在指令表B中的集装箱,在查询表A时需要过滤掉. 很容易想到的是not in, 然而分号分割. 其次,not like,然而[Err] ORA-01427: 单行子查询返回…
看他们网上的,写得都是千篇一律,同时,好多也写得不是很好,下面是我自己总结的有关mysql的使用细节,也是我在学习过程中的一些记录吧,希望对你有点帮助,后面有关存储过程等相关操作还没有总结好,下次总结好了再发给你吧,呵呵~~~~~   MySql学习笔记   MySql概述:MySql是一个种关联数据库管理系统,所谓关联数据库就是将数据保存在不同的表中,而不是将所有数据放在一个大的仓库中.这样就增加了速度与提高了灵活性.并且MySql软件是一个开放源码软件.   注意,MySql所支持的Time…
上一条:select * from 表 where 数据id<@当前显示数据id order by 数据_id asc) limit 1下一条:select * from 表 where 数据id>@当前显示数据id order by 数据_id desc) limit 1 mysql 里面不支持 select top  …
1,在目标数据库新增服务器对象->连接到服务器->新建服务器连接 2,编写数据同步业务PROC ALTER PROC TestProc AS BEGIN --打开完全事物回滚 SET XACT_ABORT ON; SET NOCOUNT ON; --开始异常拦截 BEGIN TRY --开始事物 BEGIN TRANSACTION; PRINT '开始同步数据'; MERGE INTO dbo.TestTable AS T USING ( SELECT ROW_NUMBER() OVER (O…
[转自] http://blog.csdn.net/rfb0204421/article/details/7675911 注意:与max,min的区别,虽然也可以实现,但只是针对数字字段. 1.初始化原始数据: create table test (id number(2), name varchar2(10), salary number(6,2)); insert into test values (1,'Tom',120); insert into test values (2,'Elle…
select  t.col1,t.col2  ,wmsys.wm_concat(t.col3||' ') AS col3 , wmsys.wm_concat(t.col4||'') as col4,wmsys.wm_concat(t.col5||'') as col5,wmsys.wm_concat(t.col6||'') as col6 from tablename t GROUP BY  t.col1,t.col2 ;…
数据库 表A ID  UserName DeptID DeptName 1      张三          1          技术部 表B ID   DeptName 1      市场部 当使用A,B连接查询出DataTable,然后在使用DataTable 批量Update时,因为View显示的市场部与技术部不一致就会导致,UpdateCommand无法成功.…
在工作中写了人生的第一个查询语句,虽然是在原有基础上改的,但仍然学到了不少知识 代码: select distinct m.id, (select z.jianc from model_zuzjg z where z.id=m.huoz_id) as huoz, (select mingc from model_pinz where id=m.meiz_id) as meiz, ifnull((select kc.shul from yw_kuczt kc where kc.meiduo_id=…
--省数据 insert into Province (ProvinceName)  values('北京市'); insert into Province (ProvinceName)  values('天津市'); insert into Province (ProvinceName)  values('上海市'); insert into Province (ProvinceName)  values('重庆市'); insert into Province (ProvinceName) …
常规情况下的sql分组统计为: ) from 表 where 条件 group by 字段; 但是有时往往需要添加不同的条件已经去重的统计以上语句就不能满足需求. 解决方案为: 1.添加条件的统计方案: ELSE NULL END) xxx GROUP BY 分组字段 2.添加条件并去重的统计方案: COUNT(DISTINCT CASE WHEN 条件 THEN 去重字段 END) xxx GROUP BY 分组字段 综合示例: SELECT dc.user_sources AS source…
不定时更新MySQL的一些基础语句以及出现过的问题 5.10 建表语句 CREATE TABLE `policy_landvalue` ( `id` ) NOT NULL AUTO_INCREMENT, `article_title` ) NOT NULL COMMENT '文章标题', `resource_url` ) unsigned ' COMMENT '来源网站URL:0.http://www.hzxc.gov.cn/pub/protal/xcqzfmh/:1.http://www.go…
需求:按照分组,将多条记录内容合并成一条,效果如下: 数据库示例: CREATE TABLE [t2]([NID] [bigint] NULL,[district] [nvarchar](255) NULL,[town] [nvarchar](255) NULL); insert into t2 values(1,'淮上区','曹老集镇'); insert into t2 values(2,'淮上区','淮滨街道'); insert into t2 values(3,'淮上区','梅桥乡');…
摘要:最近由于福建开机广告生产环境的广告日志备份表主键(int类型)达到上限(21亿多),不能再写入数据,需要重新清空下该表并将主键重置,但由于表里有8亿多记录的数据量,使用重置命令及DDL命令执行地非常慢,所以采取删除物理表结构文件的方式来进行快速清空表表数据! 前言 1.本文介绍是在MySQL 5.5.29版本进行的操作,其他的版本的没有试过,有兴趣的可以自己尝试去试下! 2.本文介绍的是删除frm和idb文件,同时不破坏原表结构的清空数据的方式! 一.数据背景及系统介绍   为更好说明问题…
选取数据库中记录的操作是最基础最频繁的,但往往实际应用中不会这么简单,会在选取记录的时候加上一些条件,比如取前几条记录,下面就总结了如何在ORACLE/MYSQL/DB2等一些热门数据库中执行取前几条记录的操作. 1. ORACLE SELECT * FROM TABLE1 WHERE ROWNUM<=N  – Oracle 12C之前的版本 2. INFORMIX SELECT FIRST N * FROM TABLE1 3. DB2 SELECT * ROW_NUMBER() OVER(OR…
方法1:select max(id) from tablename 方法2:select last_insert_id(); 在MySQL中,使用auto_increment类型的id字段作为表的主键,并用它作为其他表的外键,形成“主从表结构”,这是数据库设计中 常见的用法.但是在具体生成id的时候,我们的操作顺序一般是:先在主表中插入记录,然后获得自动生成的id,以它为基础插入从表的记录.这里面有个困 难,就是插入主表记录后,如何获得它对应的id.通常的做法,是通过“select max(id…
一条insert语句批量插入多条记录 常见的insert语句,向数据库中,一条语句只能插入一条数据: insert into persons (id_p, lastname , firstName, city ) values(204,'haha' , 'deng' , 'shenzhen'); (如上,仅插入了一条记录) 怎样一次insert插入多条记录呢? 使用示例: insert into persons (id_p, lastname , firstName, city ) values…
mySQL运算符 这些运算符在SQL查询中用得到. 算数运算符 + 加 - 减 * 乘 / DIV 除 % MOD 取余数 比较运算符 = 等于 <> != 不等于 < <= > >= Between 指定范围 In 存在于集合 Is null 为NULL Is not null 不为空 Like 通配符 Regexp rlike 正则表达式 比如 比较运算符,返回的结果 真为1,假为0 运算符优先级 最高--------------------------------…
常见SQL语法,请参见w3school:http://www.w3school.com.cn/sql/sql_distinct.asp 易百教程:http://www.yiibai.com/sql/first-normal-form.html   更多MySQL教程,参见菜鸟教程:http://www.runoob.com/mysql/mysql-transaction.html 一.记录操作 1.插入记录 1.普通插入 实例:其中对于主键的操作,自增情况下,插入Null值即可(当然也可以是DE…