
数据库
代码玩家
学习,积累,总结,应用。
展开
-
通过CMD方式执行sql脚本(脚本过大,不适合copy出来执行)
数据库:sql server语法:命令:osql (SQL Server命令)参数说明:-S 连接数据库-U 登录用户-P 登录密码-i 脚本文件路径osql -S 127.0.0.1 -U sa -P sa -i fileName.sql原创 2020-09-15 14:02:13 · 488 阅读 · 0 评论 -
sql server2008数据库行转列
情况:数据库行转为列数据库:sql server2008函数:PIVOT代码:with R as(select 1 has, 'a' StaffNo, '盘盈入库' SortNameUNIONselect 1 has, 'b' StaffNo, '领用出库' SortNameUNIONselect 1 has, 'b' StaffNo, '退货入库' SortName)select StaffNo, [盘盈入库],[领用出库],[退货入库]from R PIVOT( avg原创 2020-08-26 17:02:31 · 852 阅读 · 0 评论 -
数据库关联远程数据库
1)情况:数据库A,查询远程数据库B的内容;(以SQL SERVER2008为例子)2)方式:2.1)类似dblink方式(相当于远程数据库对外提供一个权限连接给其他数据库访问)调用方式:OPENQUERY,这里SQL SREVER2008连接Oracle数据库,通过oracle对外提供的dblink连接点SELECT * FROM OPENQUERY(LS_HIS_HRP, 'SELECT COUNT(*) FROM ftnhrp.V_SICK_VISIT_RECORD ')原创 2020-08-19 17:53:55 · 368 阅读 · 0 评论 -
sql server创建全局临时表
1)情况:sql server创建全局临时表,即不同的会话都能访问到的临时表,但是会话断开后,临时表会自动消失,注意:如果存在并发的情况,就不用这个全局临时表了,本人就遇过一个BUG(以前大佬留下的坑,根本复现不了,我也找了好久,鹅丢),并发产生的数据覆盖问题,而且发生概率极低。。。2)环境:数据库:sql server20083)SQL:创建全局临时表--若是已存在,删除if object_id('tempdb..##table') is not null dr.原创 2020-07-29 17:49:01 · 2246 阅读 · 0 评论 -
MySQL导出数据库、数据库表结构、存储过程及函数
MySQL导出数据库、数据库表结构、存储过程及函数方式:在cmd中执行,生成sql脚本到当前目录下命令:mysqldump -hhostname -uusername -ppassword -d databasename > filename.sql原创 2020-07-08 21:53:58 · 283 阅读 · 0 评论 -
SQL开启事务,try-catch机制,提交或回滚事务
SQL开启事务,try-catch机制,提交或回滚事务begin tran --开启事务begin try --更新/插入/删除等修改操作end trybegin catch --捕捉语句块 rollback tran --回滚事务end catchcommit tran --提交事务原创 2020-07-06 11:00:53 · 829 阅读 · 0 评论 -
sql添加序号
sql添加序号--sql 2000select 序号 = (select count(1) from tb where 学号 < t.学号) + 1,学号 ,姓名 from tb t--sql 2005select 序号 = row_number() over(order by 学号),学号 ,姓名 from tb--oracleselect row_number() over(order by 学号) 序号,学号 ,姓名 from tb--postsqlSELECT ROW_NU原创 2020-06-03 17:34:19 · 7522 阅读 · 0 评论 -
sql server2008创建表
创建sql逻辑,判断是否存在表,再进行创建--功能模块字典表,用于动态TABIF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[rsAnalysisReportDict]') AND type in (N'U'))BEGINCREATE TABLE [dbo].[rsAnalysisReportDict] ( [DictId] int NOT NULL IDENTITY(1,1), [C原创 2020-05-29 14:49:59 · 1673 阅读 · 0 评论 -
备份表数据
备份表数据,其实就是复制当前表结构和数据到另一张新建的表中(该表不用手动建,会自动建)SELECT * into table_bak FROM table原创 2020-04-22 11:59:21 · 478 阅读 · 0 评论 -
SQL Server REPLICATE()函数
数据库:SQL Server函数:REPLICATE(input_string, count)说明:input_string为字符串,count为数字(正整数,负数是结果返回字符串),函数作用为,返回count个,input_string的字符串结果。例子: select REPLICATE('a',2)结果: aa参考:microsoft:REPLICATE ...原创 2020-01-17 15:50:02 · 4827 阅读 · 0 评论 -
数据库表新增字段
数据库:SQL SERVER2008新增字段SQL--PositionInfo表增加Requirement字段。IF EXISTS ( SELECT 1 FROM SYSOBJECTS T1 INNER JOIN SYSCOLUMNS T2 ON T1.ID=T2.ID WHERE T1.NAME='PositionInfo' AND T2.NAME='Require...原创 2020-01-14 11:33:45 · 1189 阅读 · 0 评论 -
数据库增加表字段
数据库:SQL SERVER2008sql:use FtnMaterial--数据库名字go--HmcpPurPlanComm表增加RetailPrice字段。IF EXISTS ( SELECT 1 FROM SYSOBJECTS T1 INNER JOIN SYSCOLUMNS T2 ON T1.ID=T2.ID WHERE T1.NAME='HmcpPur...原创 2020-01-04 13:40:37 · 584 阅读 · 0 评论 -
SQL SERVER2008,每种分组都需要统计数量
要求:现在有一个表数据,如图一,需要将数据根据名字,将所有不同类型的总数统计起来,最终结果如图二,假设现在只有三种类型(A,B,C);(注:实际开发中,业务上没有那么简单,但是为了说明核心的内容,将核心部分抽离,然后用简单demo说明)图一:图二:分析:因为每个人,每种类型都需要统计到,那么SQL中,我们也针对每种类型,做一次统计的操作(即每种类型,都用一个字段来统计...原创 2019-12-13 11:02:32 · 1205 阅读 · 0 评论 -
SQL SERVER单行转多行
环境:SQL SERVER2008情况:一行转为多行显示,通过逗号分隔(分隔匹配符号,自行调整)代码:--SET ARITHABORT ON --在JAVA代码中调用,可能需要用到这个select b.compNofrom(select compNo=convert(xml,'<root><v>'+replace('a,b,c',',','</v...原创 2019-11-11 13:38:38 · 1082 阅读 · 0 评论 -
SQL SERVER2008还原到某个时间点
数据库:SQL SERVER2008情况:不小心,将某个表的某两个字段,全部更新了。。。(手快,怪我)解决方式:将当前库的数据,还原到某个时间点大致操作:1:将当前访问的数据库,设置为单例访问(还原后,改回来,这个在数据库“属性-选项”中设置)2:还原数据库到某个时间点,需设置“覆盖当前数据库”之类的东西参考:将 SQL Server 数据库还原到某个时点(...原创 2019-07-06 16:45:27 · 1574 阅读 · 0 评论 -
SQL SERVER 用for xml path自动转义尖括号问题
转载:SQL SERVER 用for xml path自动转义尖括号问题转载 2019-03-25 20:04:34 · 738 阅读 · 0 评论 -
Sql Server查询,关闭外键约束的sql
环境:SQL SERVER2008情况:有时候,删除表数据(delete方式),会受到外键约束,导致删除失败注意:该方式,仅对delete能用,truncate无效(truncate删除数据,还是会受到外键影响,除非删除外键,然后删除数据,再重新建立外键约束,网上有人说可以,但我测试过,依然提示外键约束问题)解决办法:关闭检查约束→ 删除数据 → 约束打开1)查询出,关闭外...原创 2019-03-25 20:03:17 · 2071 阅读 · 1 评论 -
SQL SERVER2008备份和还原数据库
转载:SQLserver2008数据库备份和还原问题(还原是必须有完整备份)数据库还原,System.Data.SqlClient.SqlError: 因为数据库正在使用,所以无法获得对数据库的独占访问权。 (Microsoft.SqlServer.SmoExtended)...转载 2019-03-25 19:48:32 · 971 阅读 · 0 评论 -
SQL SERVER2008导出所有架构和数据
参考:sql server 数据库导出表里所有数据成insert 语句转载 2019-03-21 14:22:22 · 582 阅读 · 0 评论 -
数据库多行合并
1)内容:将原本数据,根据某个字段内容进行分类,然后将相同类型的数据合并为一行显示。2)函数:2.1) 数据库:SQL SERVER2008函数:for xml path注意:sql server2005版本后才支持,在sql server2000是不支持的,亲测,但可以通过自定义函数替代替代函数代码:declare @s varchar(8000);set @s ...原创 2018-09-20 21:47:14 · 1677 阅读 · 0 评论 -
数据库分页
1)前言:数据库分页,是一个常用重要的业务需要,实现的SQL方式有多种,需要了解不同的方式有何不同,更需要知道每一种的效率,若数据量很大时,效率是很重要的。注:本文,以后会根据不同类型数据库和不同版本,进行内容扩展。 2)正文实战2.1)数据库类型:SQL SERVER20082.1.1)方法一思路:通过top和表主键ID配合,达到分页效果;代码:select t...原创 2018-09-21 21:18:23 · 454 阅读 · 0 评论 -
SQL SERVER的截取字符串
数据库字符串截取函数:1.1)数据库:SQL SERVER2008函数:stuff(arg0,arg1,arg2,arg3),从 2008 版本开始才有官方:stuff文档参数说明:arg0:需操作的字符串arg1:操作起始位置arg2:替换长度arg3:替换字符例子代码:select stuff('你好呀,这是测试案例',1,1,'?')效果:(...原创 2018-10-19 20:30:15 · 1402 阅读 · 0 评论 -
SQL SERVER的quotename函数
数据库:sql server2008函数:quotename(字符串,'可选参数:添加在外层的字符')作用:quotename函数,给字符外层添加[ ]括号,quotename函数看分隔符默认是[ ] 1:代码例子:SELECT quotename('abc')效果:(图一) 文章查考:sql server中quotename()函数的用法SQL SERV...原创 2018-10-19 21:19:48 · 2260 阅读 · 0 评论 -
sql server2008的exec
数据库:sql server2008情况:表名不确定的情况下,拼接sql并执行,可以使用exec执行(注:执行的sql必须用()括起来)代码1:(有添加括号,成功)--动态查表名,并查找该表数据begin declare @tabName varchar(50) declare @sql varchar(500) set @tabName = ('FORM_' + conve...原创 2018-11-20 19:50:59 · 1365 阅读 · 0 评论 -
Sql Server根据唯一索引和数值字段,将多条过滤为单条
前言:Sql Server根据唯一索引和数值字段,将多条过滤为单条需求:根据ResumeUuid(唯一索引)和Degree(数值),将ResumeUuid相同的数据中,过滤出Degree值最大的数据。代码:(第一条SQL为过滤后的效果,第二条为原数据)select b.EducationId,EducationUuid,School,Major,degree from ( sele...原创 2018-11-16 21:20:19 · 344 阅读 · 0 评论 -
SQL SERVER2008日期加减函数dateAdd
情况:数据库时间加减运算,可通过dateAdd函数实现函数:DATEADD(patter,number,date)patter:年,月,日,时,分,秒,对应的字符;number:运算数值date:对应日期变量 例子:字符串2018-11-23改为2018-11-23 23:59.59格式日期显示代码: select DATEADD(ss,-1,DATEADD(...原创 2018-11-23 19:12:38 · 1479 阅读 · 0 评论 -
SQL SERVER2008中的sys.objects表
数据库:SQL SERVER2008SQL:(查找类型为用户表,对象名称为OrderMeetUpload,的表信息,这里的N是表明为 Unicode类型.可以支持不同语种的对象名)select * from sys.objectswhere type in (N'U')and object_id = OBJECT_ID(N'[dbo].[OrderMeetUpload]'))常常...原创 2018-11-19 20:59:56 · 543 阅读 · 0 评论 -
Java和mysql的事务控制
转载:javaweb学习总结(三十八)——事务转载 2019-01-03 19:04:43 · 893 阅读 · 0 评论 -
sql server在sql中获取上一条sql插入记录的信息(id)
1)情况:主从表同时插入数据时,所需要的事务控制2)方案:在sql中控制(这个也可以在java原生代码或者spring中控制,但最终还是调用了数据库自身的事务控制)3)数据库:sql server20084)数据库解决方式:(大致分为两种)表结构:(图一)4.1)方式一(SQL SERVER2005后支持):在insert语句中,通过output关键字,将对应的信息输出,语...原创 2019-01-03 20:09:42 · 3034 阅读 · 2 评论 -
SQL SERVER2008根据同类分组并排序号
情况:根据部门分类,将同部门的进行排序,并得到序号代码:(deptId:部门id;empname:员工姓名;RowNum:根据部门分类,同部门间排序号)select deptId,empname,ROW_NUMBER() over(partition by deptId order by empname) RowNumfrom pubEmployee或者:select de...原创 2018-12-29 20:05:54 · 1702 阅读 · 0 评论 -
sql server2008根据分组,求每组总个数
数据库:sql server2008代码:select mytype,COUNT(*) as thecount from (select (case when isNull((AllPay+performancePay ),0) >= 0 and isNull((AllPay+performancePay ),0) < 5000 then 'A'when isNull...原创 2019-01-02 11:58:18 · 879 阅读 · 0 评论 -
SQL SERVER临时表定义
数据库:SQL SERVER2008情况:创建临时表方式1:(用create方式,跟正常创建表一样,表名用#开头,创建完刷新库,不显示)代码:begin//创建临时表CREATE TABLE #temp(name VARCHAR(20),id int);//操作临时表数据,看情况需要select * from #temp;//删除临时表drop table #t...原创 2019-01-07 20:01:37 · 4566 阅读 · 1 评论 -
SQL函数创建例子
create function MySTR(@a varchar(20),@b varchar(60))RETURNS @temp table(name VARCHAR(20),id int)asbegin --sql returnendgo原创 2019-01-25 13:39:09 · 1078 阅读 · 0 评论 -
SQL SERVER排序中将null值放到最后
1)环境:SQL SERVER20082)需求:根据某一排序条件,进行升序操作,但null值必须放到最后3)案例3.1.1)例子代码:select * from HmcpIoStoreType t where 1=1 and t.CompId=1 ORDER BY case when seq is null then 1 else 0 end, seq asc 3.1....原创 2019-02-27 10:06:17 · 3226 阅读 · 0 评论 -
数据库的特殊字符的ASCII码
转载:ASCII码表ASCII码对照表可以通过select char(30)得到转载 2019-03-08 15:40:00 · 1952 阅读 · 0 评论 -
SQL语句块使用总结
1:概论在实际开发中,有可能需要写一些SQL语句块脚本,按照实际需要修改数据,或者做其他操作。下面我只做,我对于之前开发遇到的一些需求,并做的一些SQL脚本实现,只做参考,可当例子回忆。2:例子演示:2.2例子:需求:为特定表assetborrowOut添加字段,但由于开发人员没有权限,操作测试人员和实施人员(正式上线的环境)中的库,所以,只能通过给脚本的形式,给他们执行,达到一致...原创 2018-08-25 11:24:25 · 4246 阅读 · 0 评论