sql server 操作(不定期更新)
要求:基本的语法要清楚。
sql server疑难点:
1、Partition by可以理解为 对多行数据分组后排序取每个产品的第一行数据
先处理内查询,由内向外处理,外层查询利用内层查询的结果嵌套查询不仅仅可以用于父查询select语句使用。还可以用于insert、update、delete语句或其他子查询中。
2、去重:去除地址重复的
语法:select * from 表名 where id in (select min(id) from 表名 group by Address)
举例:select * from [parse2] where id in (select min(id) from [parse2] group by Address);
3、删除某一列
语法:alter table table_name
4、求和:表中对两个字段进行求和,并对求和结果进行加减时
举例:若要计算出场地费(slf)和人工费(clf)的和,并进行相加:
1)若两个字段都为数值类型,则不需要类型转换,直接求和即可,方式如下:
语法:select sum(slf)+sum(clf) from 表名称 where 条件语句
2)若两个字段为字符型的,比如类型为varchar的话,则需要进行类型转换后,再进行计算,方法如下:
语法:select sum(cast(slf AS decimal(35, 0) )) + sum(cast(clf AS decimal(35,0) )) from 表名称 where clf!='' and slf!=''
5、修改某个字段的部分内容
语法:update 表名 set 字段=REPLACE (如果是不同的类型需要进行转换, 修改前的字段, 修改后的字段)
举例:update [pharse3] set width=REPLACE (cast(width as nvarchar(20)),'50米,'一百米')
6、更改字段的类型
语法:update 表名 set 字段=cast(字段 as nvarchar(20))
举例:update [dbo] set year=cast(year as nvarchar(20))
7、删除字段:直接删除date会出现约束错误,要删除约束
语法:
alter table 表名 drop constraint 表名下面的约束的很长的那个东西
go
alter table 表名 drop column 字段
举例:
alter table [pharse3] drop constraint DF__pharse3__date__4FA7B896
go
alter table [pharse3] drop column date
8、更改字段名字
语法:
exec sp_rename '[BB].[OldCol]','NewCol' -- 注意逗号后面,没有表名,没有点号,没有方括号,执行这句,才能得到你想要的结果“NewCol”,
exec sp_rename '[BB].[旧的字段名]', '新的字段名'
或者,另一条等价:
exec sp_rename '[BB].[OldCol]', [NewCol] -- 逗号后面,如果要用方括号,就不要同时再用引号 。
举例:
exec sp_rename '[Cdboare_coff].[Coefficient]', [areacoef]
如果说master分支提示错误,则有可能更改master 分支,切换到对应的数据库名字下面
9、uinon 几张表,然后再保存
Select * into 总表 from a
Union all
Select * from b
Union All
Select * from c
10、except 两张表取差集,然后再保存
select *
into #temp
from (
select * from a
except
select * from b
) T --要取别名,不取别名则错误
11、格式转换,这个比较复杂
select 字段名 --上面和下面一致,用于显示列表字段内容
from 表一 a
LEFT JOIN 表二 b
on cast(a.字段名 as nvarchar(20)) = b.字段名 -- 转换类型,注意点就在这里
group by 字段名 -- 同上面一样的字段名,聚合函数不需要写(如avg(), )
12、来个简单的,直接添加字段列某个字符,如 ‘!’ 等
举例:select '!' + ReaId as re, huanxian from [CSpace]
备注:以上均是在工作过程中产生的疑惑,整理之。
参考资料:
参数数据类型 sql_variant 对于 like 函数的参数 1 无效。 - CSDN博客
SQL实现表名更改,列名更改,约束更改 - jes.shaw - 博客园
SQLSERVER,如何把一个表中某个字段的'NULL'值改为0?-CSDN论坛
sql server 操作(不定期更新)的更多相关文章
- sql server操作2:查询数据库语句大全【转】
注:以下操作均建立在上篇文章sql Server操作1的数据基础之上 一.实验目的 熟悉SQL语句的基本使用方法,学习如何编写SQL语句来实现查询 二.实验内容和要求 使用SQL查询分析器查询数据,练 ...
- sql server 操作xml例子
sql server 操作xml例子 /* sql xml 入门: --by jinjazz --http://blog.csdn.net/jinjazz 1.xml: 能认识元素.属性和值 2.xp ...
- 解读SQL Server 2014可更新列存储索引——存储机制
概述 SQL Server 2014被号称是微软数据库的一个革命性版本,其性能的提升的幅度是有史以来之最. 可更新的列存储索引作为SQL Server 2014的一个关键功能之一,在提升数据库的查询性 ...
- SQL Server实时同步更新远程数据库遇到的问题
工作中遇到这样的情况,需要在更新表TableA(位于服务器ServerA 172.16.8.100中的库DatabaseA)同时更新TableB(位于服务器ServerB 172.16.8.101中的 ...
- Sql Server 锁 排它锁 更新锁 共享锁
引用别人的.有时间整体整理下. 引用地址:http://www.cnblogs.com/wenjl520/archive/2012/08/24/2654412.html 锁的概述 一. 为什么要引入锁 ...
- SQL Server 插入、更新和删除数据
1.主要内容 ● 通过SSMS,插入.更新和删除表数据 ● 通过INSERT语句向表中插入数据 ● 通过UPDATE语句更新表内数据 ● 通过DELETE语句删除表内数据 ● 使用INSERT.UPD ...
- SQL Server 操作XML数据
.xml.exist 输入为XQuery表达式,返回0,1或是Null.0表示不存在,1表示存在,Null表示输入为空 .xml.value 输入为XQuery表达式,返回一个SQL Server标量 ...
- sql server操作远程数据库
--连接远程数据库 EXEC sp_addlinkedserver '服务器ip',N'SQL Server' --登录远程服务器 EXEC sp_addlinkedsrvlogin '服务器ip', ...
- sql server 如何跟更新拼接的数据(cast用法)
我们在实际中会做如下图的连接 执行以后这个连接就会报错了,如下图所示 然后我们用cast将数字转换为字符串在连接,如下图所示 这次连接的结果就没问题了,如下图所示 最后如果两个数字 ...
随机推荐
- 前端实用程序包utils - 开发工作流(一)
写在前面 早年间有幸在Raychee哥门下当小弟,学到两把刷子.在编程路上,他的很多思想深深影响了我,比如笔者今天要分享的主题.在程序开发中,有个utils包,叫做实用程序包,程序员们会把项目中通用的 ...
- Semi-Prime(set)
Prime Number Definition An integer greater than one is called a prime number if its only positive di ...
- wire shark 抓包过滤器
http.request.method==GET vuin= 抓取QQ信息 数据链路层: 筛选mac地址为04:f9:38:ad:13:26的数据包----eth.src == 04:f9:38:ad ...
- Python 使用oslo.vmware管理ESXI虚拟机
oslo.vmware是OpenStack通用框架中的一部分,主要用于实现对虚拟机的管理任务,借助oslo.vmware模块我们可以管理Vmware ESXI集群环境. 读取所有节点主机 from o ...
- 从苏宁电器到卡巴斯基(后传)第05篇:聊聊我对WannaCry产生的感慨
这几天看到网上对WannaCry勒索病毒讨论得沸沸扬扬,不免有些感触. 其实该病毒的这次爆发,完全可以类比N年前"熊猫烧香"爆发的情况.也就是国内杀软纷纷歇菜,让本来就没什么技术含 ...
- hdu4941 map交换行列
题意: 有一个大矩阵,某些格子上有数字,然后有三种操作, 1 交换行 2 交换列 3 询问当前坐标数值 思路: 直接用map去映射行列,用二维的map去存数字就行了,水题,想不通的 ...
- hdu4907 水dp 或者set
题意: 给你一些被占用的时间点,然后有一些询问,每次输出大于等于询问时间的没被占用的最小的那个时间. 思路: 直接把所有用过的时间标记上,然后倒着更新一遍当前最小空余时间,或者 ...
- 简化mapstruct代码: mapstruct-spring-plus
mapstruct MapStruct 是一个属性映射工具,只需要定义一个 Mapper 接口,MapStruct 就会自动实现这个映射接口,避免了复杂繁琐的映射实现.MapStruct官网地址: h ...
- 动手实现一个适用于.NET Core 的诊断工具
前言 大家可能对诊断工具并不陌生,从大名鼎鼎的 dotTrace,到 .NET CLI 推出的一系列的高效诊断组件(dotnet trace,dotnet sos,dotnet dump)等, 这些工 ...
- web技术培训(二)-Flask后端框架初识
web网站发展至今,特别是服务器端,涉及到的知识.内容,非常广泛.这对程序员的要求会越来越高.如果采用成熟,稳健的框架,那么一些基础的工作,比如,安全性,数据流控制等都可以让框架来处理,那么程序开发人 ...