【数据库】 SQL 常用语句

1.批量导入
INSERT INTO Table2(field1,field2,...) SELECT value1,value2,... FROMTable1
要求目标表Table2必须存在

2.批量导入

SELECT vale1, value2 INTO Table2 FROM Table1
要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中

3.去重并保留一项

DELETE FROM  TableName WHERE ColName IN (select  ColName
  FROM TableName GROUP BY  ColName HAVING COUNT(ColName) > 1)
  AND id NOT in(  select  MAX(id)  FROM ColName GROUP BY  ProductId HAVING COUNT(ColName) > 1)

4.批量更新

UPDATE t1
SET Field1 = Field21, Field2 = Field22
FROM Table2 t2
WHERE ((t2.Field24 >= '') AND t1.fId = t4.fId);

5.分页

--max/top
SELECT TOP * FROM pagetest
WHERE id>(SELECT MAX(id) FROM (SELECT TOP id FROM pagetest ORDER BY id)a)
ORDER BY id
--row_number()
SELECT * FROM
(SELECT ROW_NUMBER()OVER(ORDER BY id)rownumber,* FROM pagetest)a
WHERE rownumber>= and rownumber<=9952
-- OFFSET FETCH (需要sql2012以上)
SELECT * FROM    pagetest
ORDER BY id ASC
OFFSET @pageIndex * @pageSize ROWS
FETCH NEXT @pageSize ROWS ONLY

6. 表同步 MERGE

  MERGE into [MergeDemo] as m -- 目标表
using Test as t -- 源表
on m.[title]=t.[name] -- 匹配条件
when matched then update set m.[num]=t.[age] -- 匹配成功
when not matched then insert values(t.[name],t.[age]) -- 目标表与源表不一致
when not matched by source then delete -- 源表与目标表不一致
output $action as [action] -- 输出操作
, inserted.[title] [ititle],inserted.[num] [inum]
, deleted.[title] [dtitle],deleted.[num] [dnum];

7. GROUP 加 TOP(每个 GROUP 取出 TOP 数据)

Declare @currentIndex int   -- 游标
Declare @totalRows int -- 总的组数
Declare @time nvarchar() -- 第一个分组列
SET @currentIndex=
-- 按 第一个分组列 分组, 取出组名
SELECT row_number()over(order by [time] asc) id,[time] INTO #temp1
FROM (SELECT DISTINCT(CONVERT(VARCHAR(),create_time,)) [time] FROM tableName) a
SELECT @totalRows=COUNT() FROM #temp1 -- 总的组数
WHILE @currentIndex<=@totalRows -- 按 组名 循环
BEGIN
SELECT @time=[time] FROM #temp1 WHERE id=@currentIndex -- 取出当前组名
-- 取出当前 组 拥有的数据, 再按照 第二分组列 分组 取 TOP
SELECT TOP colName 'Url', COUNT((colName)) 'Count',CONVERT(VARCHAR(),create_time,) 'Time',GETDATE()
FROM tableName WHERE [time] = @time GROUP BY colName ORDER BY COUNT((colName)) DESC
SET @currentIndex =@currentIndex+1
END
 
 
 

【数据库】 SQL 常用语句的更多相关文章

  1. 【数据库】 SQL 常用语句之系统语法

    [数据库] SQL 常用语句之系统语法 1. 获取取数据库服务器上所有数据库的名字 SELECT name FROM master.dbo.sysdatabases 2. 获取取数据库服务器上所有非系 ...

  2. WordPress 常用数据库SQL查询语句大全

    在使用WordPress的过程中,我们少不了要对数据库进行修改操作,比如,更换域名.修改附件目录.批量修改文章内容等等.这个时候,使用SQL查询语句可以大大简化我们的工作量. 关于如何操作SQL查询语 ...

  3. SQL常用语句之数据库的创建、删除以及属性的修改-篇幅1

    本篇文章主要总结了SQL Server 语句的使用和一些基础知识,因为目前我也正在学习,所以总结一下. 要使用数据库语句,首先就要知道数据库对象的结构: 通常情况下,如果不会引起混淆,可以直接使用对象 ...

  4. ADO+MFC数据库编程常用语句

    设在OnInitDialog()函数中,已经完成了初始化COM,创建ADO连接等操作,即 // 初始化COM,创建ADO连接等操作 if (!AfxOleInit()) { AfxMessageBox ...

  5. [数据库] SQL查询语句表行列转换及一行数据转换成两列

    原文来自:http://blog.csdn.net/Eastmount/article/details/50559008 本文主要讲述了SQL查询语句表之间的行列转换,同时也包括如何将一行数据转换成两 ...

  6. ORACLE数据库 常用命令和Sql常用语句

    ORACLE 账号相关 如何获取表及权限 1.COPY表空间backup scottexp登录管理员账号system2.创建用户 create user han identified(认证) by m ...

  7. SQL Server 数据库部分常用语句小结(三)

    21.SQL运行Log的读取 .EXEC xp_readerrorlog 0,1,null,null,'开始时间','结束时间' 22. Alwayson 状况及传输情况监控 SELECT ar.re ...

  8. SQL Server 数据库部分常用语句小结(二)

    9. 查询备份还原数据库的进度. select command ,percent_complete ,est_time_to_go=convert(varchar,(estimated_complet ...

  9. SQL Server 数据库部分常用语句小结(一)

    1. 查询某存储过程的访问情况 SELECT TOP 1000 db_name(d.database_id) as DBName, s.name as 存储名字, s.type_desc as 存储类 ...

随机推荐

  1. Uva 10559 消除方块

    题意: 每次可以选择一个区间(连续相同的序列)消除,得分为 len*len:问最大得分. 分析: 很容易想到是区间DP,但是不像普通的区间DP一样切割方式~~~ 如果定义 d[ i ][ j ] 区间 ...

  2. Poj 1961 KMP

    题意:给定一个字符串,求他每一个前缀,如果他是周期的,求len/最短循环节. 分析: 复习一下KMP,之前有详细解析. 由于朴素匹配每次移动一位,KMP可以多移动 f[i] 位,f 就是失配函数,失配 ...

  3. eclipse集成tomcat 部署项目设置

    ============================================================= 1. 下载安装tomcat插件 ====================== ...

  4. heidsql(mysql)安装教程和mysql修改密码

    简单介绍安装 官网下载:https://mariadb.org/download/ 直接下载(mariadb-10.3.9-winx64.msi):https://github.com/weibang ...

  5. Entity Framework5.0运行时错误ObjectStateManager 中已存在具有同一键的对象

    EF写了个简单的框架,在把查询出来的数据修改回去时,报了ObjectStateManager 中已存在具有同一键的对象这样一个错误,寻寻觅觅终于找到了最终的解决方案. ObjectStateManag ...

  6. UGUI富文本

    <b>text</b>  --粗体 <i>text<i>     --斜体 <size=10>text</size>   --自 ...

  7. papers-06-02

    午睡被同事吵醒,只好干活.看到微信公众号有一篇文章说老朋友呢,点进去发现原来相关的工作好多,而且好新好细致. 微信的文章可以见这里: 探究最陌生的老朋友Softmax 里面的几篇文章可以看看. Lar ...

  8. TCP三次挥手四次握手

    三次握手: 客户端发起: 1.向服务器端发送报文SYN=1,ACK=0;客户端进入SYN-SEND状态. 2.服务端收到SYN=1,ACK=0的请求报文,向客户端返回确认报文SYN=1,ACK=1,服 ...

  9. Redis面向java的Client

    一.概念简介: Redis: Redis是一款开源的Key-Value数据库,运行在内存中,由ANSI C编写,详细的信息在Redis官网上面有,因为我自己通过google等各种渠道去学习Redis, ...

  10. c c++面试----c工程开发之链接

    多数c语言的初学者对c工程开发过程各个阶段的作用理解不到位,而这方面的的知识又是实际开发过程中经常用到的技能点,所以就成为面试考察中一个重要的考察方面.例如:头文件的作用.头文件的内容:链接的作用和意 ...