大概看了一下有接近二十天自己没有写博客了,一来是因为国庆之前公司工作总会比较繁杂一点,国庆自己也需要休息,二来是因为学习一些新的东西,公司写了一天SQL回家看了看以前的笔记,感觉还挺不错,贴出来供大家参考一下:

1.同一服务器不同数据库之间数据的导入

这个事属于数据导入方面的只是,如果经常操作数据库应该是会用到比较多的,业务场景为将FlyElephant中的DataSourceType中的数据导入到新数据库中的DataSoureType表中:

set  identity_insert   DataSourceType  on
insert into DataSourceType(OID , DataSourceName, OptimisticLockField, GCRecord)
select OID, DataSourceName, OptimisticLockField , GCRecord from FlyElephant.dbo. DataSourceType a where
not exists( select DataSourceType. OID from DataSourceType where a.OID= DataSourceType.OID )
set identity_insert DataSourceType off

2.不同服务器之间不同数据库之间数据的导入

首先来看一个SQL语句

select * from sysobjects where  name='sp_addlinkedserver'  

首先使用这个存储过程建立一个链接:

  EXEC sp_addlinkedserver 'FlyElephantLink', '','SQLOLEDB' ,'192.168.0.9'

建立连接之后创建登录信息,有两种登录方式,一种是window验证登录,一种是SQL认证的方式登录:

EXEC sp_addlinkedsrvlogin 'FlyElephantLink' 
EXEC sp_addlinkedsrvlogin 'FlyElephantLink', 'false',null,'sa' ,'123456'

 直接查询数据

SELECT * FROM FlyElephantLink.TestDB.dbo.TestTable

 数据插入的请参考上一条,调用远程数据库的时候只需要加入你的连接的名称即可.

3.数据库简单的连表更新

业务场景:当某张表需要加一个字段,需要将另外一张表中的数据导入进来的时候这么操作过,具体请参考个人业务需求

 update   [User]   set [User].Age= People.Age  from   [User]   inner   join  People   on  [User].ID= People.UserID

4.查询表中的字段

这个用的比较少,当时自己操作的一张表中有一百多个字段,老板想问下表中有多少字段存储了数据,我懒得一个个数,搜索之后记录了一下:

select name from syscolumns where id=( select id from sysobjects where xtype= 'u' and name= '表名' )

 其中sysobjects为系统表,主要储存系统中存在的表、触发器、存储过程等;syscolumns也为系统表,主要用于存储表的字段列;在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)在sysobjects表中占一行。tempdb中只有临时对象才在该表中占一行。 

5.删除有外键约束的表

数据库中有的设计的存在问题,发现原先的表设计的是有关联,这个时候你去直接Drop是会报错的,比如说有两张表,一张是Person(ID,Name),一张是User(ID,PersonID,UserName),User表中存有Person表的数据,直接Drop表Person的时候是会提示,无法删除对象 'Person',因为该对象正由一个 FOREIGN KEY 约束引用。

查出外建名:

select
a.name,a.object_id,OBJECT_NAME(a.parent_object_id) as referenceTableName
from sys.foreign_keys as a
join sys.objects as o on a.referenced_object_id=o.object_id
where o.name='Person'

 删除外键(表是上面referenceTableName,外键就是上面的name字段)

alter table dbo.[User] drop constraint FK_User_Person

  也没有什么太高深的东西,就是以前工作中遇到了,今天总结了一下,如果对你有所帮助,顺手给个推荐吧,么么哒~

MSSQL工作中常用的小技巧的更多相关文章

  1. 前端日常工作中常用开发小技巧 ---JavaScript

    1.格式化金钱值 const ThousandNum = num => num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, "," ...

  2. ES6中常用的小技巧,用了事半功倍哦

    ES6中常用的小技巧,如果能在实际项目中能使用到,必定事半功倍: 1. 强制要求参数 ES6提供了默认参数值机制,允许你为参数设置默认值,防止在函数被调用时没有传入这些参数. 在下面的例子中,我们写了 ...

  3. JS开发中常用的小技巧

    1.获取指定范围内的随机数 1 2 3 function getRadomNum(min,max){     return  Math.floor(Math.random() * (max - min ...

  4. Extjs 项目中常用的小技巧,也许你用得着(2)

    接着来,也是刚刚遇到的 panel怎么进行收缩 collapsible: true, 这会panel就会出现这个 点这个就可以收缩了 panel怎么随便拉伸,也就是让那个小黑三角出现 split: t ...

  5. Extjs 项目中常用的小技巧,也许你用得着(1)

    我在项目中遇到的一些知识点: 1.在GridPanel中显示图片,效果 对应的代码实现 { text: '是否启用', width: 80, // xtype: 'checkcolumn', data ...

  6. Extjs 项目中常用的小技巧,也许你用得着(5)--设置 Ext.data.Store 传参的请求方式

    1.extjs 给怎么给panel设背景色 设置bodyStyle:'background:#ffc;padding:10px;', var resultsPanel = Ext.create('Ex ...

  7. Extjs 项目中常用的小技巧,也许你用得着(4)---Extjs 中的cookie设置

    1.ExtJs设置cookie两种方式 其一:设置cookie如下 saveacct=isForm.getForm().findField('itemselector').getValue(); Ex ...

  8. Extjs 项目中常用的小技巧,也许你用得着(3)

    几天没写了,接着继续, 1.怎么获取表单是否验证通过: form.isValid()//通过验证为true 2.怎样隐藏列,并可勾选: hidden: true, 如果是动态隐藏的话: grid.ge ...

  9. 【基础】工作中常用的linux命令,经常会被面试官问到

    前言 面试经常会问到一些Linux操作命令,下面就工作中常用的和面试问的频率较高的命令做详细描述. 常用命令 修改密码:passwd 用户名 切换用户名:su 用户名 查看当前路径:pwd 调整路径: ...

随机推荐

  1. python面向对象中类对象、实例对象、类变量、实例变量、类方法、实例方法、静态方法

    1. 类对象和实例对象 Python中一切皆对象,Python类本身也是一种对象,类定义完成后,会在当前作用域中定义一个以类名为名字的命名空间.类对象具有以下两种操作: 可以通过“类名()”的方式实例 ...

  2. <泛> STL - vector 模拟实现

    今天为大家带来一个模拟STL-vector的模板实现代码. 首先看一下测试结果,之后再为大家呈现设计 测试效果 测试代码 #include<iostream> #include<ve ...

  3. 配置k8s dns

    DNS (domain name system),提供域名解析服务,解决了难于记忆的IP地址问题,以更人性可读可记忆可标识的方式映射对应IP地址. Cluster DNS扩展插件用于支持k8s集群系统 ...

  4. luoguP4036 [JSOI2008]火星人 平衡树+hash

    这个操作十分的复杂 但是可以拿平衡树维护 直接二分答案然后用$hash$值判断即可 复杂度$O(10000 * log^2 n + n \log n)$ #include <cstdio> ...

  5. 洛谷.4512.[模板]多项式除法(NTT)

    题目链接 多项式除法 & 取模 很神奇,记录一下. 只是主要部分,更详细的和其它内容看这吧. 给定一个\(n\)次多项式\(A(x)\)和\(m\)次多项式\(D(x)\),求\(deg(Q) ...

  6. POJ 2778 DNA Sequence(AC自动机+矩阵)

    [题目链接] http://poj.org/problem?id=2778 [题目大意] 给出一些字符串,求不包含这些字符串的长度为n的字符串的数量 [题解] 我们将所有串插入自动机计算match,对 ...

  7. 在线HTTP速度测试(响应时间测试)及浏览器兼容测试

    一.前言 网站的响应时间,是判断一个网站是否是好网站的重要的因素之一.百度首页的响应时间在全国各个省份小于10ms.这个响应时间远远好于竞争对手.根据美丽说的技术负责人分析,美丽说访问速度提升10%, ...

  8. 216. 组合总和 III

    216. 组合总和 III 题意 找出所有相加之和为 n 的 k 个数的组合.组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字. 说明: 所有数字都是正整数. 解集不能包含重复的 ...

  9. poj 3630 Phone List 贪心

    Phone List Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 23722   Accepted: 7289 Descr ...

  10. MultCloud – 支持数据互传的网盘管理

    MultCloud https://www.multcloud.com/ 是一款在线服务,可以在一个地方管理众多网盘,支持国产百度盘, 最具有特色的地方是你可以直接在 MultCloud 里操作将 D ...