标点符(钱魏 Way)

SQL Server导出表结构及数据的方法

在SQL Server 导出表结构最简单的方法: 在数据库库上右键 > 编写数据库脚本为 > Create到 > 文件 在数据库表上右键 > 编写表脚本为 > Create到 > 文件 如果想将数据和架构一起导出,还花了我很长的时间。 方案一:使用导出的方式 数据库右键 > 任务 >  导出数据 > 平面文件 方案二:使用生成脚本的方式 数据库 […]

SQL Server 修改数据库物理文件存在位置

SQL Server创建新库时,默认会把数据存放在C盘中,一旦数据库中的存储数据多了以后,C盘的空间就会所剩无几。解决方案是将存放数据的物理文件迁移到其他盘。具体流程为: 1、将现有的数据库脱机

2、将数据库文件移到新的位置 文件复制完成以后需要:右键-属性-安全-在组或用户名处添加Authenticated Users-更改该组权 […]

SQL Server批量导入导出工具BCP的学习

BCP是SQL Server中负责导入导出数据的一个命令行工具,它是基于DB-Library的,并且能以并行的方式高效地导入导出大批量的数据。bcp可以将数据库的表或视图直接导出,也能通过SELECT FROM语句对表或视图进行过滤后导出;在导入导出数据时,可以使用默认值或是使用一个格式文件将文件中的数据导入到数据库或将数据库中的数据导出到文件中。bcp共有四个动作可以选择: 导入。这个动作使用i […]

SQL Server中调用C#程序

前一篇文章为提到了在SQL Server中自定义函数,今日遇到的需求是将现有的经纬度转化成Geohash,本来打算编写自定义函数的,由于涉及到的代码量较大,所以决定还是采用调用Dll文件的方式。另外也可以采用类似Python脚本的方式,但是测试下来效率较慢所以就放弃了~ 1、C#建立数据库CRL项目

2、数据库初始化 [crayon […]

SQL Server中如何使用自定义函数?

公司Android App采用是百度地图,iOS App采用的是高德App,在后端的数据库中存储的经纬度信息存在不一致。为了快速的解决这个问题。基于有现成的经纬度转化算法,准备直接在SQL Server上进行自定义函数的开发,省去开发脚本程序的一些麻烦。 在开始之前,先来一个简单的函数练手:将时间格式转化为Unix时间戳 在SQL Server的可编程性的函数中,由于是需要返回数值,所以使用的是标 […]

SQL Server新特性:内存数据库

在传统的数据库表中,由于磁盘的物理结构限制,表和索引的结构为B-Tree,这就使得该类索引在大并发的OLTP环境中显得非常乏力,虽然有很多办法来解决这类问题,比如说乐观并发控制,应用程序缓存,分布式等。但成本依然会略高。而随着这些年硬件的发展,现在服务器拥有几百G内存并不罕见,此外由于NUMA架构的成熟,也消除了多CPU访问内存的瓶颈问题,因此内存数据库得以出现。 内存的学名叫做Random Ac […]

SQL Server新特性:列存储

列存储索引是SQL Server 2012中为提高数据查询的性能而引入的一个新特性,顾名思义,数据以列的方式存储在页中,不同于聚集索引、非聚集索引及堆表等以行为单位的方式存储。因为它并不要求存储的列必须唯一,因此它可以通过压缩将重复的列合并,从而减少查询时的磁盘IO,提高效率。 SQL Server 内存中列存储索引通过使用基于列的数据存储和基于列的查询处理来存储和管理数据。 列存储索引适合于主要 […]

SQL Server中删除重复数据的方法

在一个没有主键的MSSQL的数据表中如何删除重复数据这个问题,是前几天在处理数据的时候遇到的。一下为具体方法:

删除数据的代码比较的简短,但是中间用到了很多SQL 2008才有的新特性。 特性一:CTE语法 通过CTE可以创建出一张临时表,这张表在定义中可以实现自引用,方便处理父子关系 。具体语法为: WITH <CTE na […]

使用Python连接SQL Server方法

由于公司目前使用的都是MS SQL Server 2008,由于一些特殊需要,要使用python来解决一些简单繁琐的SQL查询,Python本身是不支持连接MSSQL的,需要特殊的组件才行。网上找了一个pymssql的扩展,据说很好。安装这个组件花了我好长时间。下面就来看看他的安装过程,好让后面使用的人少找一些弯路。 如果直接使用pip install pymssql安装的话,会直接有问题,具体报 […]