随笔分类 -  MSSQL

摘要:说明:数据库中的某些概念真的很让人头疼,概念的东西本来就是很枯燥的,再加上枯燥的学习,那就更加枯燥了。概念这东西,你不理解也能生产东西,经验多了就行,但是为了更深入的学习,你还必须理解。这里,我抛开书本的概念,尽量以我简单的理解,介绍一下这些概念: 什么是函数依赖? 什么是完全与部分函数依赖? 什么 阅读全文
posted @ 2019-12-13 17:50 Mr.石 阅读(470) 评论(0) 推荐(0)
摘要:1.数据依赖数据依赖指的是通过一个关系中属性间的相等与否体现出来的数据间的相互关系,其中最重要的是函数依赖和多值依赖。2.函数依赖设X,Y是关系R的两个属性集合,当任何时刻R中的任意两个元组中的X属性值相同时,则它们的Y属性值也相同,则称X函数决定Y,或Y函数依赖于X。3.平凡函数依赖当关系中属性集 阅读全文
posted @ 2019-12-13 17:19 Mr.石 阅读(3535) 评论(0) 推荐(1)
摘要:背景:目前WEB的普及太快,很多网站都会因为大流量的数据而发生服务器习惯性死机,一个查询语句只能适用于一定的网络环境.没有优化的查询当遇上大数据量时就不适用了. 联合索引使用结论: 1):查询条件中出现联合索引第一列,或者全部,则能利用联合索引. 2):条件列中只要条件相连在一起,以本文例子来说就是 阅读全文
posted @ 2019-06-14 17:48 Mr.石 阅读(332) 评论(0) 推荐(0)
摘要:CHARINDEX作用 写SQL语句我们经常需要判断一个字符串中是否包含另一个字符串,但是SQL SERVER中并没有像C#提供了Contains函数,不过SQL SERVER中提供了一个叫CHAEINDX的函数,顾名思义就是找到字符(char)的位置(index),既然能够知道所在的位置,当然就可 阅读全文
posted @ 2019-06-14 17:41 Mr.石 阅读(2109) 评论(0) 推荐(0)
摘要:SQL语句增加列、修改列、删除列 1.增加列: alter table tableName add columnName varchar(30) 2.1. 修改列类型: alter table tableName alter column columnName varchar(4000) 2.2. 阅读全文
posted @ 2019-02-11 17:12 Mr.石 阅读(4573) 评论(0) 推荐(0)
摘要:CREATE FUNCTION [dbo].[f_trimstr] ( @str NVARCHAR(MAX) ) RETURNS NVARCHAR(MAX) AS BEGIN WHILE CHARINDEX('<', @str) > 0 SET @str = STUFF(@str, CHARINDE 阅读全文
posted @ 2018-09-26 14:21 Mr.石 阅读(1458) 评论(0) 推荐(1)
摘要:Datepart():返回代表指定日期的指定日期部分的整数 语法:Datepart(datepart,date) 返回类型:int DateName():返回代表指定日期的指定日期部分的字符串 语法:DateName(datepart,date) 返回类型:nvarchar 查询结果: 注意: 1) 阅读全文
posted @ 2018-08-21 14:52 Mr.石 阅读(565) 评论(0) 推荐(0)
摘要:开文之前首先要讲讲几个概念 【覆盖查询】 当索引包含查询引用的所有列时,它通常称为“覆盖查询”。 【索引覆盖】 如果返回的数据列就包含于索引的键值中,或者包含于索引的键值+聚集索引的键值中,那么就不会发生Bookup Lookup,因为找到索引项,就已经找到所需的数据了,没有必要再到数据行去找了。这 阅读全文
posted @ 2018-08-06 18:11 Mr.石 阅读(7099) 评论(0) 推荐(0)
摘要:索引的简介: 索引分为聚集索引和非聚集索引,数据库中的索引类似于一本书的目录,在一本书中通过目录可以快速找到你想要的信息,而不需要读完全书。 索引主要目的是提高了SQL Server系统的性能,加快数据的查询速度与减少系统的响应时间 。 但是索引对于提高查询性能也不是万能的,也不是建立越多的索引就越 阅读全文
posted @ 2018-08-06 17:20 Mr.石 阅读(1776) 评论(0) 推荐(0)
摘要:规范的命名可以提高开发和维护的效率,如果你正在创建一个新的存储过程,请参考如下的命名规范。 句法: 存储过程的命名有这个的语法:[proc] [MainTableName] By [FieldName(optional)] [Action][ 1 ] [2] [3] [4] [1] 所有的存储过程必 阅读全文
posted @ 2018-07-25 15:54 Mr.石 阅读(3693) 评论(0) 推荐(0)
摘要:select * from (SELECT titleid,count(titleid) c FROM [DragonGuoShi].[dbo].[ArticleInfo] group by titleid,[CategoryCode] having count(titleid)>1)as t or 阅读全文
posted @ 2018-07-06 15:07 Mr.石 阅读(5375) 评论(0) 推荐(0)
摘要:原始数据,需要拼接成一行 select * from (select d.*,(SELECT count ([Keyword])FROM [DragonGuoShi].[dbo].[ArticleInfo]where Keyword like'%'+d.Keyword+'%' and [Articl 阅读全文
posted @ 2018-07-06 15:03 Mr.石 阅读(493) 评论(0) 推荐(0)
摘要:需要用到stuff函数: 例: id name 1 张三 1 李四 2 王五 2 赵六结果: Id name 1 张三,李四 2 王五,赵六 创建测试表及插入数据: 1 2 3 4 5 6 7 8 create table test (id int, name varchar(10)) insert 阅读全文
posted @ 2018-06-11 14:42 Mr.石 阅读(516) 评论(0) 推荐(0)
摘要:SQL Server Profiler可以检测在数据上执行的语句,特别是有的项目不直接使用sql语句,直接使用ORM框架的系统处理数据库的项目,在调试sql语句时,给了很大的帮助。 之前写了使用SQL Server Profiler追踪死锁的文章《SQL Server Profiler追踪数据库死锁 阅读全文
posted @ 2018-04-11 15:32 Mr.石 阅读(1895) 评论(0) 推荐(0)
摘要:语法:CREATE [索引类型] INDEX 索引名称ON 表名(列名)WITH FILLFACTOR = 填充因子值0~100GO USE 库名GOIF EXISTS (SELECT * FROM SYSINDEXES WHERE NAME='IX_TEST_TNAME')--检测是否已经存在IX 阅读全文
posted @ 2018-04-10 17:53 Mr.石 阅读(21103) 评论(0) 推荐(0)
摘要:REPLACE 用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式。 语法 REPLACE ( 'string_expression1' , 'string_expression2' , 'string_expression3' ) 参数 'string_expression1' 阅读全文
posted @ 2018-03-26 14:38 Mr.石 阅读(11441) 评论(0) 推荐(1)
摘要:方式一: 语句 SELECT * FROM 数据库A.dbo.表A a, 数据库B.dbo.表B b WHERE a.field=b.field "DBO"可以省略 如 SELECT * FROM 数据库A..表A a, 数据库B..表B b WHERE a.field=b.field 方式二(在一 阅读全文
posted @ 2018-02-02 13:21 Mr.石 阅读(10009) 评论(0) 推荐(0)
摘要:用SQL语句,删除掉重复项只保留一条 在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people where peopleId in (select peopleId f 阅读全文
posted @ 2018-02-02 11:21 Mr.石 阅读(2399) 评论(0) 推荐(0)
摘要:1。如果有ID字段,就是具有唯一性的字段 delect table where id not in ( select max(id) from table group by col1,col2,col3... ) group by 子句后跟的字段就是你用来判断重复的条件,如只有col1,那么只要co 阅读全文
posted @ 2018-02-02 11:21 Mr.石 阅读(355) 评论(0) 推荐(0)
摘要:业务需求 最近给公司做一个小工具,把某个数据库(数据源)的数据导进另一个数据(目标数据库)。要求导入目标数据库的数据不能出现重复。但情况是数据源本身就有重复的数据。所以要先清除数据源数据。 于是就把关于重复数据的查询和处理总结一下。这里只可虑基于数据库解决方案。不考虑程序的实现。 环境为:SQL S 阅读全文
posted @ 2018-02-02 11:19 Mr.石 阅读(7451) 评论(0) 推荐(0)