• 数据库SQL


    1.把一个数据库表中的数据插入到另外一个数据库中的一张表中

      数据库表结构不同  

    INSERT INTO [CodeFirstDbContext].[dbo].[Companies](CompanyID,CompanyName,Manager,CompanyType,IsDelete)
    SELECT CompID,Company,CName,ctype,0 FROM [YFDB2012].[dbo].[Company]
    

      数据库表结构相同

    INSERT INTO [CodeFirstDbContext].[dbo].[Companies] SELECT * FROM [YFDB2012].[dbo].[Company]
    

    2.将一个表中的数据串成一个字符串,并分组

     SELECT PostId, (
    		SELECT CAST(PostId AS VARCHAR)+','+AttachName+','+ type+','+ AttachUrl+'|'   FROM T_Group_AttachFile WHERE PostId =TGA.PostId FOR XML PATH('') 
    ) AS AttachFileList FROM T_Group_AttachFile AS TGA GROUP BY PostId
    

     参考资料:http://www.cnblogs.com/doubleliang/archive/2011/07/06/2098775.html

    3.查看Sql Server版本

    SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition')
    

      

    4.使用SELECT INTO导出数据

      同一数据库

    SELECT*INTO table2 FROM table1
    

      不同数据库

    USE db1
    SELECT*INTO db2.dbo.table2 FROM table1
    

      

    5.参照一张表修改另外一张表的数据

    	 UPDATE T_Group_AttachFile 
    	 SET AttachName=T1.AttachName,
    	 Type=T1.Type,
    	 AttachUrl=T1.AttachUrl
    	 FROM (SELECT * FROM dbo.Fn_GetImageTab(@attachStr) WHERE ID!=0) 
    	 AS T1 INNER JOIN T_Group_AttachFile AS T2 ON T1.ID=T2.FileId 
    

    6.利用CTE查询树形结构,从某个根节点到子节点

    with cte as
    (
    SELECT GroupId,PGroupId,GroupName,0 as lvl FROM T_Group_Info WHERE GroupId=29
    union all
    select d.GroupId,d.PGroupId,d.GroupName,lvl+1 from cte c inner join T_Group_Info d
    on c.GroupId = d.PGroupId  
    )
    select * from cte
    

      

    7.定义表变量

    DECLARE @temp TABLE(
        Id INT,
        Col1 NVARCHAR(20)
    );
    

      

     8.MD5加密

    加密字符串
    SELECT substring(sys.fn_VarBinToHexStr(hashbytes('MD5','123456')),3,32)
    对字段加密
    SELECT substring(sys.fn_VarBinToHexStr(hashbytes('MD5',CAST(password AS VARCHAR))),3,32) FROM UserInfo 
    

      

     9.将exec执行的结果存入变量中

    declare @num int,
    @sqls nvarchar(4000)
    set @sqls='select @a=count(*) from '+@servername+'.a.dbo.b'
    exec sp_executesql @sqls,N'@a int output',@num output
    select @num

    参考资料http://blog.chinaunix.net/uid-20125591-id-1734313.html

    http://blog.csdn.net/u011955860/article/details/51980026

  • 相关阅读:
    Linux内核网络协议栈优化总纲
    Java实现 蓝桥杯VIP 算法训练 连续正整数的和
    Java实现 蓝桥杯VIP 算法训练 连续正整数的和
    Java实现 蓝桥杯VIP 算法训练 寂寞的数
    Java实现 蓝桥杯VIP 算法训练 寂寞的数
    Java实现 蓝桥杯VIP 算法训练 学做菜
    Java实现 蓝桥杯VIP 算法训练 学做菜
    Java实现 蓝桥杯VIP 算法训练 判断字符位置
    Java实现 蓝桥杯VIP 算法训练 判断字符位置
    Java实现 蓝桥杯VIP 算法训练 链表数据求和操作
  • 原文地址:https://www.cnblogs.com/jt789/p/5540826.html
Copyright © 2020-2023  润新知