一、背景介绍web应用采用的是ssh框架,数据库使用的sqlserver2014版本。二、问题:客户要求,ID列的数据类型必须是uniqueidentifier,一开始实体类的ID设计成java.lang.String类型;映射文件中ID的增长方式是uuid.hexprivatejava.lang.Stringid;publicjava.lang.StringgetId(){returnid;}publicvoidsetId(java.lang.Stringid){this.id=id;}<idname="id"column="ID"type="java.lang.String"><generatorclass="uuid.h...
继续阅读 >
分类:SQL
2020
10-21
10-21
SQL server 自增ID--序号自动增加的字段操作
1、SQLserver中创建表,带有自增列。createtableTest_Table(IdintIdentity(1,1),Namevarchar(20));这里用到了IDENTITY关键字。IDENTITY(a,b),ab均为正整数,a表示开始数,b表示步长。IDENTITY(1,1)就代表从1开始,每次增加1。现在插入两条数据:insertintoTest_Table(Name)values('Mr.Tom');insertintoTest_Table(Name)values('Mr.Jackson');查询结果:补充知识:SQLSERVER——给已有数据的表增加自增字段。问...
继续阅读 >
2020
10-21
10-21
SQL Server中identity(自增)的用法详解
一、identity的基本用法1.含义identity表示该字段的值会自动更新,不需要我们维护,通常情况下我们不可以直接给identity修饰的字符赋值,否则编译时会报错2.语法列名数据类型约束identity(m,n)m表示的是初始值,n表示的是每次自动增加的值如果m和n的值都没有指定,默认为(1,1)要么同时指定m和n的值,要么m和n都不指定,不能只写其中一个值,不然会出错3.实例演示不指定m和n的值createtablestudent1(sidintprimarykeyid...
继续阅读 >
2020
10-20
10-20
在SQL中对同一个字段不同值,进行数据统计操作
应用场景:需要根据印章的不同状态,统计不同状态下印章数量。刚开始百度,确实写搜到了不同的答案,但只能怪自己对sql语法解读不够,还是没写出来,导致写出了下面错误的写法。selectb.corporateOrgName,b.corporateOrgGuidcompanyId,count(casewhenbc.ftypenotin(1,2)then1else0end)total,count(casewhenbc.ftypein(3,4,5)then1else0end)usetotal,count(casewhenbc.ftype=6then1else0end)sa...
继续阅读 >
2020
10-20
10-20
在sql中对两列数据进行运算作为新的列操作
如下所示:selecta1,a2,a1+a2a,a1*a2b,a1*1.0/a2cfrombb_sb把a表的a1,a2列相加作为新列a,把a1,a2相乘作为新列b,注意:相除的时候得进行类型转换处理,否则结果为0.selecta.a1,b.b1,a.a1+b.b1afrombb_sba,bb_cywzbrzbb这是两个不同表之间的列进行运算。补充知识:Sql语句实现不同记录同一属性列的差值计算所使用的表的具体结构如下图所示Table中主键是(plateNumber+currentTime)要实现的查询是:给定车牌号和查询...
继续阅读 >
2020
10-20
10-20
简单了解SQL常用删除语句原理区别
主要介绍了SQL删除语句DROP、TRUNCATE、DELETE的区别,帮助大家更好的理解和学习sql语句,感兴趣的朋友可以了解下DROP:DROPTABLEtest;删除表test,并释放空间,将test删除的一干二净。TRUNCATE:TRUNCATEtest;删除表test里的内容,并释放空间,但不删除表的定义,表的结构还在。DELETE:1、删除指定数据删除表test中年龄等于30的且国家为US的数据DELETEFROMtestWHEREage=30ANDcountry='US';2、删除整个表仅删除表test内的...
继续阅读 >
2020
10-18
10-18
Microsoft SQL Server数据库各版本下载地址集合
SQLServer2019Enterprise(x64)-DVD(Chinese-Simplified)企业版ed2k://|file|cn_sql_server_2019_enterprise_x64_dvd_2bfe815a.iso|1632086016|58C258FF0F1D006DD3C1F5F17AF3EAFD|/SQLServer2019Developer(x64)-DVD(Chinese-Simplified)开发版ed2k://|file|cn_sql_server_2019_developer_x64_dvd_c21035cc.iso|1632086016|7AFACB434CF9716CA7818F39F06BE0F5|/SQLServer2019Standard(x64)-DVD(Chinese-Simplif...
继续阅读 >
2020
10-16
10-16
SQL Server 开窗函数 Over()代替游标的使用详解
前言:今天在优化工作中遇到的sql慢的问题,发现以前用了挺多游标来处理数据,这样就导致在数据量多的情况下,需要一行一行去遍历从而计算需要的数据,这样处理的结果就是数据慢,容易卡死。语法介绍:1、与Row_Number()函数结合使用,对结果进行排序,这个是我们使用的非常多的2、与聚合函数结合使用,利用over子句的分组和排序,对需要的数据进行操作例如:SUM()Over()累加值、AVG()Over()平均数MAX()Over()最大值、M...
继续阅读 >
2020
10-10
10-10
Mysql join连接查询的语法与示例
连接查询:是将两个查询(或表)的每一行,以“两两横同对接”的方式,所得到的所有行的结果,即一个表中的某行,跟另一个表中的某行。进行“横向对接”,得到一个新行。连接查询包括以下这些不同形式,连接方式:交叉连接、内连接、外连接(分:左外连接,右外连接)连接查询语法:select*from表名[连接方式]join表名[on连接条件]where...;测试数据:mysql>select*fromtest;+----+--------+------+------+|id|name|se...
继续阅读 >
2020
10-10
10-10
基于JPQL实现纯SQL语句方法详解
JPQL全称JavaPersistenceQueryLanguage。基于首次在EJB2.0中引入的EJB查询语言(EJBQL),Java持久化查询语言(JPQL)是一种可移植的查询语言,旨在以面向对象表达式语言的表达式,将SQL语法和简单查询语义绑定在一起·使用这种语言编写的查询是可移植的,可以被编译成所有主流数据库服务器上的SQL。其特征与原生SQL语句类似,并且完全面向对象,通过类名和属性访问,而不是表名和表的属性。使用JPQL,需要把SQL语句修改成类似HQL...
继续阅读 >
2020
10-10
10-10
SQL的各种连接Join案例详解
最常见的JOIN类型:SQLINNERJOIN(简单的JOIN)、SQLLEFTJOIN、SQLRIGHTJOIN、SQLFULLJOIN,其中前一种是内连接,后三种是外链接。假设我们有两张表,TableA是上边的表,TableB是下边的表。TableAidname1Google2淘宝3微博4FacebookTableBidaddress1美国...
继续阅读 >
2020
10-10
10-10
SQL之Join的使用详解
一.基本概念关于sql语句中的连接(join)关键字,是较为常用而又不太容易理解的关键字,下面这个例子给出了一个简单的解释?建表user1,user2:table1:createtableuser2(idint,user_namevarchar(10),overvarchar(10));insertintouser1values(1,‘tangseng',‘dtgdf');insertintouser1values(2,‘sunwukong',‘dzsf');insertintouser1values(1,‘zhubajie',‘jtsz');insertintouser1values(1,‘shaseng'...
继续阅读 >
2020
10-10
10-10
SQL Server 使用join all优化 or 查询速度
比如:,master,test,表示该用户为test的下级代码,test登录后可以看到test名下的业务和所有下级代理的业务。相关表的结构如下:user表大约10万条记录|-uid-|-user-|----site------||1|test|,master,||2|user|,master,test,|product表大约30万条记录|-pid-|-product-|-puser-||1|order01|test||2|order02|user||3|order03|user|优化前的SQL语句如下:select*fromproductaspleftjoin...
继续阅读 >
2020
10-10
10-10
SQL删除语句DROP、TRUNCATE、 DELETE 的区别
DROP:DROPTABLEtest;删除表test,并释放空间,将test删除的一干二净。TRUNCATE:TRUNCATEtest;删除表test里的内容,并释放空间,但不删除表的定义,表的结构还在。DELETE:1、删除指定数据删除表test中年龄等于30的且国家为US的数据DELETEFROMtestWHEREage=30ANDcountry='US';2、删除整个表仅删除表test内的所有内容,保留表的定义,不释放空间。DELETEFROMtest或者TRUNCATEtest;truncatetable命令将快速删除数据表...
继续阅读 >
2020
10-10
10-10
SQL删除语句DROP、TRUNCATE、 DELETE 的区别
DROP:DROPTABLEtest;删除表test,并释放空间,将test删除的一干二净。TRUNCATE:TRUNCATEtest;删除表test里的内容,并释放空间,但不删除表的定义,表的结构还在。DELETE:1、删除指定数据删除表test中年龄等于30的且国家为US的数据DELETEFROMtestWHEREage=30ANDcountry='US';2、删除整个表仅删除表test内的所有内容,保留表的定义,不释放空间。DELETEFROMtest或者TRUNCATEtest;truncatetable命令将快速删除数据表...
继续阅读 >
这篇文章主要讲如何一步步从下载、安装、配置SQLServer2008Express和SMSS到最后使用SMSS连接本地的数据库服务。为什么要写这篇文章?这个学期第一节数据库原理课上,主讲老师共享了课程所需的材料,其中有一个3.1GB大小的SQLServer2008安装包,我的硬盘比较小,而且分享方式是百度网盘,直接下载很慢。之前接触过一点MySQL,知道核心的组件加起来其实不大,于是尝试着去官网寻找轻量级的SQLServer2008版...
继续阅读 >