随笔分类 - SQL Server
SQL Server
摘要:Ø 简介 本文记录了三大关系型数据库 SQL Server、MySQL、Oracle 的性能测试并比较,主要进行单线程、和多线程(模拟并发)的测试,测试内容如下: 1. 运行环境说明 2. 创建数据表 3. 测试代码 4. 测试结果 1. 运行环境说明 1) 测试运行环境: 1. 操作系统 版本 W
阅读全文
摘要:Ø 简介 本文记录笔者在开发中遇到的MSSQL常见的开发技术分享给大家,包括以下内容: 1. T-SQL 运行时生成语句 2. 使用RAISERROR函数抛出异常,及异常捕获 3. 查询数据表的容量/大小 4. 替换非法字符 5. 存储多国语言 6. 数据库存储特殊字符 7. 在查询结果中添加自增列
阅读全文
摘要:SQL Server 系统存储过程 1. sp_executesql 执行可以多次重复使用或动态生成的Transact-SQL 语句或批处理。Transact-SQL 语句或批处理可以包含嵌入参数。 参数@statement和@params,必须是Unicode 常量或Unicode 变量。以字母N
阅读全文
摘要:Ø 简介 在平常的开发中,我们经常会编写各种各样的 SQL 语句,比如:SQL 查询、存储过程、或者视图查询等。当我们编写的 SQL 语句比较复杂,或者表的数据量比较大,导致查询超时!这时,就要去分析我们的 SQL 语句,导致耗时较长的原因,从而优化我们的 SQL 语句。 说明:本文仅为笔者所思、所想、所写,有用之处欢迎借鉴,不对之处欢迎指出。 1. 内连接查询中,子查询(关联相同的两张...
阅读全文
摘要:Ø 简介 本文主要记录 MSSQL 中的游标使用示例,在有必要时方便借鉴查阅。游标一般定义在某段功能性的 SQL 语句中,或者存储过程中。之所以选择用它,是因为有时候无法使用简单的 SQL 语句满足我们需求,比如需要对结果集中的每一条数据,根据不同条件进行不同操作(CRUD),这时我们就可以使用游标来完成。 提示:来之 DBA 的杰作,哈哈~~ 1. 示例1: 本示例,用于初始化某新表的...
阅读全文
摘要:Ø 简介 在平常编写增删改的 SQL 语句时,我们用的最多的就是 INSERT、UPDATE 和 DELETE 语句,这是最基本的增删改语句。其实,SQL Server 中还有另外一个可以实现增删改的语句,那就是本文将要介绍的 MERGE 语句。 1. 什么是 MERGE 语句 1) MERGE 语句可以在一条语句中,根据与源表联接的结果,对目标表执行插入、更新或删除操作。 例如,根...
阅读全文
摘要:Ø 简介 在工作中编写 SQL 时经常会遇到跨库或跨服务器操作,比如查询时,通过 A 服务器的某张表关联 B 服务器某张表,进行连接查询。或者从另一台服务器中的数据,对当前数据库中的数据进行 CRUD 操作;又或者对远程服务器的数据进行 CRUD 操作。本文主要讨论在 SQL Server 中如何结合远程服务器中的数据进行操作,以及常用的几种方法。 Ø 首先,模拟以下场景 1. A服务...
阅读全文
摘要:Ø 简介 本文主要列举 SQL Server 中常用的一些系统函数,帮助我们在编写 SQL 时忘了某个函数的用法方便查阅。主要分为以下几类函数,更多函数可参考官网。 1. 字符串函数 2. 日期函数 3. 数学函数 4. 其他函数 1. 字符串函数 Ø 提示:SQL Server 中的字符串索引始终从1开始。 1) CHARINDEX() 语法:CHARINDE...
阅读全文
摘要:Ø 简介 本文主要介绍 SQL Server 数据库在平常的开发中,可能会涉及到的编程技巧,主要包含以下内容: 1. 解决 SQL Server 不支持 127.0.0.1 登录 2. 查询 SQL Server 执行过的 SQL 语句 3. 解决执行作业报错:SQLServerAgent 当前未运行,因此无法将此操作通知它。 (Microsoft SQL Server,错误: 22...
阅读全文
摘要:Ø 简介 本文主要介绍编写 SQL 时的一些编程技巧,方便有时候忘了便于查看,主要包含以下内容: 1. SQL 语句中使用 +=、-=、*=、/= 运算符 2. 值为 NULL 的列或局部变量,参与计算的结果始终为 NULL 3. 将一个数值四舍五入至指定小数位 4. 删除重复记录,并保留一条记录 5. 使用 ROW_NUMBER() 生成序号并排序(支持多个排序字段) ...
阅读全文
摘要:Ø T-SQL 编程是大多数程序员都会接触的,也是数据库编程必须掌握的技术。下面,是本人在工作或学习中积累的一些心得和技巧。主要包含以下内容: 1. waitfor延时执行 2. NOT 关键字的使用 3. 向变量赋值的 SELECT 语句,总是按照顺序赋值 4. SET 与 SELECT 赋值的区别 5. 获取变量的数据类型 6. 一条 SQL 语句将一个字段的数据转为...
阅读全文
摘要:Ø 前言 本文主要介绍数据表的关联关系,这是数据库设计的常见问题之一。一个好的表结构设计,可以减少一些不必要的表或字段等。数据表之间的关联关系分为三种:一对一、一对多、多对多。下面就逐一介绍下: 1. 一对一 Ø 一对一是将数据表“垂直切分”,其实是不常见,或不常用的。也就是 A 表的一条记录对应 B 表的一条记录,为什么要这样的设计呢,不是增加了程度的复杂性吗,然而并不一定,举例说明...
阅读全文
摘要:Ø 前言 日常开发中遇到多表查询时,首先会想到 INNER JOIN 或 LEFT OUTER JOIN 等等,但是这两种查询有时候不能满足需求。比如,左表一条关联右表多条记录时,我需要控制右表的某一条或多条记录跟左表匹配。貌似,INNER JOIN 或 LEFT OUTER JOIN 不能很好完成。但是 CROSS APPLY 与 OUTER APPLY 可以,下面用示例说明。 1. ...
阅读全文
摘要:结构化查询语言(Structured Query Language),简称SQL,是数据库编程的核心语言。 SQL的发展是从1974年开始的,其发展过程如下: 1974年 - 由Boyce和Chamberlin提出,当时称SEQUEL。 1976年 - IBM公司的Sanjase研究所在研制RDBMS SYSTEM R时改为SQL。 1979年 - Oracle公司发表第一个基于SQL...
阅读全文
摘要:CRUD是指在做计算处理时的增加(Create)、读取查询(Retrieve)、更新(Update)和删除(Delete)几个单词的首字母简写。主要被用在描述软件系统中数据库或者持久层的基本操作功能。
阅读全文