![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SQL
包达叔
这个作者很懒,什么都没留下…
展开
-
SqlSugar应用
根据LeftJoin的别名自动映射。手动指定部分列的映射规则。实体自动映射到dto。原创 2023-10-31 15:40:26 · 235 阅读 · 0 评论 -
高性能SQL-数据库性能优化
多数的性能优化都是讲索引和SQL优化,实际上从数据库设计到业务应用到数据库部署等各个方面都对数据库性能有影响,本文从表设计和SQL优化等多个角度介绍数据库性能优化的方法原创 2023-01-30 15:32:59 · 598 阅读 · 0 评论 -
SQLServer_日期_时间
--查询最近五年的年份Select number - 5 + year(getdate()) year FROM master..spt_values WHERE type = 'P'AND number + year(getdate()) < 6 + year(getdate());--获取年,月,周等Select DATEPART(yy,GETDATE())Select DATEPART(mm,GETDATE())Select DATEPART(wk,GETDATE())--日原创 2022-03-21 22:23:39 · 866 阅读 · 0 评论 -
快速生成SqlServer数据字典
SELECT 表名 = CASE WHEN A.colorder = 1 THEN D.name ELSE '' END, 字段序号 = A.colorder, 字段名 = A.name, 字段说明 = isnull(G.[value], ''), 自增 = CASE WHEN COLUMNPROPERTY(A.id, A.name, 'IsIdentity') = 1 THEN '√' ELSE '' END, .原创 2020-07-29 17:46:45 · 560 阅读 · 0 评论 -
SqlServer入门之标准建库脚本
SqlServer入门之标准建库脚本建表脚本建视图脚本建函数脚本原创 2020-05-28 11:11:16 · 1403 阅读 · 1 评论 -
条件放Join里面与Where里面的区别
[code="java"]--1, 放Join里面SELECT a.*, b.StorerCode AS ParentStorerCodeFROM #tmpINV a LEFT JOIN Wms_Bas_Storer b ON b.CompanyID = @CompanyID AND b.StockID =...原创 2015-06-24 17:41:04 · 460 阅读 · 0 评论 -
SqlServer查找引用存储过程的地方_字段在哪些表中
[code="java"]视图syscomments中,注意字段id,text. 如果是存储过程,text字段存储的就是创建存储的脚本。视图sysobjects中,注意字段name,id,xtype.--查看所有函数(FN)中那些使用了存储过程spWms_StorerInvSELECT DISTINCT (so.name) AS nameFROM syscommen...原创 2015-06-23 13:18:52 · 256 阅读 · 0 评论 -
sqlserver自定义数据类型
1.SQLServer 提供了 25 种基本数据类型: ·Binary [(n)] 二进制数据 既可以是固定长度的(Binary),也可以是变长度的。其中,n 的取值范围是从 1 到 8000。其存储窨的大小是 n + 4 个字节。 ·Varbinary [(n)] 二进制数据 n 位变长度的二进制数据。其中,n 的取值范围是从 1 到 8000。其存储窨的大小是 n + 4 个字节...原创 2015-06-09 16:07:11 · 1519 阅读 · 0 评论 -
SqlBulkCopy大数据复制插入数据
[code="java"]public partial class ASP_NET : System.Web.UI.Page{ private DateTime startTime; string connString = "";//数据库连接 protected void Button1_Click(object sender, EventArgs e)...原创 2015-04-10 14:49:57 · 305 阅读 · 0 评论 -
聚集索引和非聚集索引
一、聚集索引 一种索引,该索引中键值的逻辑顺序决定了表中相应行的物理顺序。 聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿,后者按姓氏排列数据。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。 聚集索引对于那些经常要搜索范围值的列特别有效。使用聚集索引找到包含第一个值的行后...原创 2014-10-29 10:03:23 · 74 阅读 · 0 评论 -
OBJECT_ID 有哪些种类
[code="java"]在建表建存储过程的时候经常会写到:IF OBJECT_ID('Table_Test','U') IS NOT NULLDROP TABLE Table_Test这种方式代替了以往所使用的IF EXISTS (SELECT * FROM SYSOBJECTS WHERE NAME = 'Table_Test')DROP TABLE Table_T...原创 2014-12-05 09:42:40 · 157 阅读 · 0 评论 -
关于存储过程中RAISERROR的使用
我们一般用这种方式抛出异常:RAISERROR (@ErrorMsg, 16, 1)1, 如果我们在存储过程里面加了Try Catch模块, 那么执行到RAISERROR时会直接跳转到Catch模块里面.例如:DECLARE @ErrorMsg VARCHAR(2000)BEGIN TRY SELECT 1 RAISERROR ('报错了', 16, 1) SELE...原创 2017-01-07 14:56:01 · 2074 阅读 · 0 评论 -
WITH(NOLOCK)与WITH(READPAST)
WITH(NOLOCK): 会直接显示被事物锁定的行 (如果事物回滚, 显示出来的将是脏数据)WITH(READPAST) : 会跳过被[行级锁]锁定的数据, 注意这里是[行级锁], 而Sql Server中大部分的表锁定都是共享锁.结论一, 使用WITH(NOLOCK)需要考虑显示了脏数据的影响结论二, 如果想用WITH(READPAST)来减少死锁的情况,需要搞清楚[行级锁],...原创 2017-01-14 13:52:12 · 994 阅读 · 0 评论 -
带条件的唯一约束
[code="java"]CREATE UNIQUE NONCLUSTERED INDEX [NCI_Wms_MaterialBoxMaster_BoxCode_BoxTypeFlag] ON [dbo].[Wms_MaterialBoxMaster]([BoxCode] ASC) WHERE [BoxTypeFlag] = 3[/code]原创 2016-01-28 19:33:05 · 358 阅读 · 0 评论 -
sql基础_Case_特殊函数_异常_脏读
[code="java"]--脏读set transaction isolation level read uncommitted; --不带参数SELECT CASE WHEN 11=1 THEN '十一' WHEN 12=12 THEN '十二' ELSE '零' EN...原创 2014-09-04 16:53:24 · 136 阅读 · 0 评论 -
sql 拼接 防止注入
[code="java"]1 尽量用统一替换,好处很多//创建insert语句private List GetInsertSqlFromListPA_SD(List list){ List sqlList = new List(); string strSQL = @"Insert Into PA_SD(DNDH,pono,itemno,style,product...原创 2013-10-18 16:00:38 · 1757 阅读 · 2 评论 -
sql_2_临时表
[code="java"]拼接列值Select ID + ',' From UserInfo FOR XML PATH('') 快速创建临时表: IF OBJECT_ID( 'tempdb..#tmpUser' ) IS NOT NULL DROP TABLE #tmpUserSELECT * INTO #tmpUser FROM Sys_Us...原创 2014-08-07 15:17:01 · 83 阅读 · 0 评论 -
sql重建索引的方法
[code="java"]/****** Object: Index [PK_CSM_POS_CARDPACKAGEDETAIL] Script Date: 06/09/2013 14:07:00 ******/IF EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[CSM_Pos_C...原创 2013-06-09 14:07:46 · 295 阅读 · 0 评论 -
sqlserver基础:database schema user
[code="java"]sqlserver中的User和Schema的关系如果我们想了解数据库中的User和Schema到底什么关系,那么让我们首先来了解一下数据库中User和Schema到底是什么概念。 在SQL Server2000中,由于架构的原因,User和Schema总有一层隐含的关系,让我们很少意识到其实User和Schema是两种完全不...原创 2013-06-05 13:40:35 · 327 阅读 · 0 评论 -
触发器
[code="java"]一﹕ 触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活。所以触发器可以用来实现对表实施复杂的完整性约`束。 二﹕ SQL Server为每个触发器都创建了两个专用表﹕Inserted表和Deleted表。这两个表由系统来维护﹐它们存在于内存中而不是在数据库中。这两个表的结构总是与被该触...原创 2013-04-27 11:06:30 · 77 阅读 · 0 评论 -
根据表中某列去除重复的行
[code="java"]--根据表中某列(或者某些列)去除重复的行--例如有表A,有两行相同的CardID,我们只要随机的某一行--DROP TABLE #A--DROP TABLE #BCREATE TABLE #A ( CardID VARCHAR(100) , CardCode VARCHAR(100) ) ;...原创 2013-04-22 15:38:33 · 132 阅读 · 0 评论 -
内连接,外连接,左连接,右连接
注释:inner join 与 join 是相同的 (内连接)left join 与 left outer join 是相同的 (左连接==左外连接)right join 与 right outer join 是相同的 (右连接==右外连接)full join 与 full outer join 是相同的 (全连接==全外连接)natural join 自然连接 (去重复项的自...原创 2012-07-13 15:40:10 · 239 阅读 · 0 评论 -
Eclipse无插件启动tomcat,调试
[code="java"]第一步,配置tomcat的server.xml(建议)配置tomcat的conf/server.xml方法在下加入path指访问的项目名称即http://localhost:8080/project1docBase指web目录的位置reloadable=true指tomcat可以动态加载修改的类或资源文件等(ClassLoader加载的...原创 2011-04-28 09:21:52 · 98 阅读 · 0 评论 -
sql编写不及格门数大于等于2的学生的姓名和平均成绩
[code="java"]一个sql语句的编写出不及格门数大于等于2的学生的姓名和平均成绩 收藏写出不及格门数大于等于2的学生的姓名和平均成绩表:studentsid name表:subjectcid cname表:gradesid cid cgradesql语句为:select a.name,b.gr from student a, ...原创 2011-04-20 16:44:58 · 1229 阅读 · 1 评论 -
查询包含某个字段难道所有表名
[code="java"]SELECT c.name,o.name FROM syscolumns AS cINNER JOIN sysobjects AS oON c.id = o.id where c.name='ServicePackageID'[/code]原创 2013-06-22 16:00:01 · 108 阅读 · 0 评论 -
关系数据库的三范式
[code="java"]关系数据库的三范式1、第一范式(1NF) 同一列不能存储多个属性 (应保持列的原子性)在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。 所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个...原创 2013-06-27 16:00:25 · 105 阅读 · 0 评论 -
sql基础_一个典型的存储过程
[code="java"]--存储过程IF OBJECT_ID('spWII_Load','P') IS NOT NULL DROP PROCEDURE [dbo].[spWII_Load]GO SET ANSI_NULLS ON;GOSET QUOTED_IDENTIFIER ON;GO/* ======================= ...原创 2014-03-14 18:00:06 · 161 阅读 · 1 评论 -
SQL Server 索引中include的魅力(具有包含性列的索引)
开文之前首先要讲讲几个概念 【覆盖查询】 当索引包含查询引用的所有列时,它通常称为“覆盖查询”。 【索引覆盖】 如果返回的数据列就包含于索引的键值中,或者包含于索引的键值+聚集索引的键值中,那么就不会发生Bookup Lookup,因为找到索引项,就已经找到所需的数据了,没有必要再到数据行去找了。这种情况,叫做索引覆盖; 【复合索引】 ...原创 2015-01-06 19:36:13 · 491 阅读 · 1 评论 -
sqlServer_sysobjects
[code="java"]1、sysobjects系统对象表。 保存当前数据库的对象,如约束、默认值、日志、规则、存储过程等在sqlserver2005,sqlserver2008版本的数据库里,现在已经作为一个视图对象,在每一个数据库的系统视图中,都存在一个sys.sysobjects 视图对象。sysobjects 重要字段解释:sysObjects (Name s...原创 2014-06-18 09:30:07 · 263 阅读 · 0 评论 -
数据库字符型字段设计的原则
[code="java"]数据库字符型字段设计的原则第二章 字符类型字段概述类型 长度 使用说明 长度说明char(n) 定长 索引效率高 程序里面使用trim去除多余的空白 n 必须是一个介于 1 和 8,000 之间的数值,存储大小为 n 个字节varchar(n) 变长 效率没char高 灵活 n 必须是一个介于 1 和 8,000 之间的数值。存储大小...原创 2013-08-16 11:58:15 · 287 阅读 · 0 评论 -
sql基础DML与DDL
[code="java"]DML(data manipulation language):数据操作语言包括命令:SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言。 DDL(data definition language):数据定义语言通常是数据库管理系统的一部分,用于定义数据库的所有特性和属性,尤其是...原创 2013-08-09 11:25:55 · 73 阅读 · 0 评论 -
sql基础_日期_分页_字符串_join_聚集
[code="java"]Declare @DayOne DateTime--按天,今天SET @DayOne = DATEADD (dd, DATEDIFF (dd, 0, getdate ()), 0)--按周,周的第一天SET @DayOne = DATEADD (wk, DATEDIFF (wk, 0, getdate ()), 0)--按月,月的第一天...原创 2013-07-04 16:47:07 · 109 阅读 · 0 评论 -
数据库优化方案一
[code="java"]关于数据库优化方面的文章很多,但是有的写的似是而非,有的不切实际,对一个数据库来说,只能做到更优,不可能最优,并且由于实际需求不同,优化方案还是有所差异,根据实际需要关心的方面(速度、存储空间、可维护性、可拓展性)来优化数据库,而这些方面往往又是相互矛盾的,下面结合网上的一些看法和自己的一些观点做个总结。 一个系统的性能的提高,不单单是试运行或者维护阶段...原创 2013-06-27 20:16:24 · 79 阅读 · 0 评论 -
导出数据库_表结构_数据
[code="java"]先从命令行进入mysql 目录再进入bin目录执行mysqldump程序如下:先从命令行进入mysql目录 进入bin目录:在改目录下使用mysqldump一、 命令行下具体用法如下: mysqldump -u用戶名 -p密码 -d 數據库名 表名 脚本名; 1、导出數據库為dbname的表结构(其中用戶名為root,密码為...原创 2011-04-17 15:13:03 · 119 阅读 · 0 评论