zoukankan      html  css  js  c++  java
  • SQL笔记

    注意:

    1.拼接sql的时候,如果nvachar字段前面不加N,特殊符号就会变成问号

    SQL语句:

    1.将数据库中一个表的某个字段中的部分字符串进行替换

    update ActivityScene set ActivityLink=REPLACE(ActivityLink, 'WeScene101', 'WeScene');

    2.循环所有表,如果记录数>0,则使用重设标识列的语句 ,使用游标等

    declare @sql nvarchar(500)  
    declare @TableName nvarchar(100)  
    declare @i INT
    declare @j nvarchar(20)
    declare @cstucount INT
    --上方设置变量
    set @i = 1--初始值
    declare mCursor cursor  --设置游标
    for  --for循环
    select name from sysobjects where xtype='U'  --获取所有的表名
    open mCursor  --游标的使用开始,打开游标
    fetch NEXT from mCursor into @TableName  --for循环中获取下一条记录
    while @@fetch_status = 0   --@@fetch_status全局变量,0表示语句获取成功,-1,-2均是失败
        begin --开始
    set @sql='select @a=count(*) from ' + QUOTENAME(@TableName) --设置sql语句到变量@sql
    exec sp_executesql @sql,N'@a int output',@cstucount OUTPUT -- 执行语句,且将得到的值使用变量赋值@cstucount即为@a拿到的值
    if @cstucount>0 --如果记录数>0表示有数据,则不进行重设置标识列
    BEGIN
    print ''+Convert(nvarchar(10),@i)+'个,大于0,值为='+CONVERT(nvarchar(10),@cstucount)
    END
    ELSE
    BEGIN
    set @sql='DBCC CHECKIDENT('+QUOTENAME(@TableName)+', RESEED, 1)' --这句查了一段时间,语句中拿的不太一样,不过这里直接给他放QUOTENAME节可以了,QUOTENAME能够将对象编程有效的字符串
    exec(@sql) --执行语句
    print ''+Convert(nvarchar(10),@i)+'个,小于等于0,值为='+CONVERT(nvarchar(10),@cstucount)
    END
    set @i=@i+1 --设置i=i+1
            fetch NEXT from mCursor into @TableName  --拿下一个数据
        end  
    close mCursor  --关闭游标
    deallocate mCursor  --删除游标
    go  
    --显示结果  
    循环重设标识列的值

    3.创建带有标识列,且自增长的表

    CREATE TABLE [dbo].[MerchantPublicNumberAuthorizer] (
    [ID] int NOT NULL IDENTITY(1,1) ,
    [AuthorizerAppid] nvarchar(100) ,
    [NickName] nvarchar(max) ,
    [HeadImg] nvarchar(max) ,
    [ServiceTypeInfo] int NOT NULL ,
    [VerifyTypeInfo] int NOT NULL ,
    [UserName] nvarchar(max) ,
    [BusinessInfo] nvarchar(max) ,
    [Alias] nvarchar(max) ,
    [QRCodeUrl] nvarchar(max),
    [CreateTime] datetime NOT NULL 
    )
    
    GO
    DBCC CHECKIDENT(N'[dbo].[MerchantPublicNumberAuthorizer]', RESEED, 1)
    GO
    
    ALTER TABLE [dbo].[MerchantPublicNumberAuthorizer] ADD PRIMARY KEY ([ID])
    GO
    创建表

     4.批量替换字符串

    update ActivityScene set ActivityLink=REPLACE(ActivityLink, 'wxactivity001.ttyouni.net', 'draw.ttyouni.com') where ActivityLink like '%wxactivity001.ttyouni.net%'
    
    或者
    
    update ActivityScene set ActivityLink=replace(ActivityLink,substring(activitylink,1,4),'替换内容') 
    

     5.修改数据库表名=》exec sp_rename '旧表名','新表名'

     6.修改表中的字段名=》SP_RENAME '表名.[字段名]','新的字段名'

     7.添加新的字段

    ALTER TABLE  表名 ADD 字段名 int ;
    update 表名 set 字段名=0;--设置个初始化,这样才能设置不为空
    ALTER TABLE 表名 ALTER COLUMN 字段名 int not NULL;
    

     8.这个上面创建表的时候有加,就是设置自增长的,这个在初始建表的时候,添加

    DBCC CHECKIDENT(N'[dbo].[表名]', RESEED, 1)

     9.这个在创建表的时候也有提到,是设置主键的

    ALTER TABLE [dbo].[表名] ADD PRIMARY KEY ([ID])

    10.sql server数据库中查询某个字段所在表

    select * from information_schema.columns where column_name='字段名'
    

     查出来的结果中,会有一大串的标题,这些就是相关信息,这里只截取了一部分

  • 相关阅读:
    如何只通过Sandboxed Solution启动一个定时执行的操作
    创建与SharePoint 2010风格一致的下拉菜单 (续) 整合Feature Custom Action框架
    创建与SharePoint 2010风格一致的下拉菜单
    《SharePoint 2010 应用程序开发指南》第二章预览
    SharePoint 2013 App 开发 (1) 什么是SharePoint App?
    使用Jscex增强SharePoint 2010 JavaScript Client Object Model (JSOM)
    搜索范围的管理
    SharePoint 2010 服务应用程序(Service Application)架构(1)
    SharePoint 2010 服务应用程序(Service Application)架构(2)
    SharePoint 2013 App 开发 (2) 建立开发环境
  • 原文地址:https://www.cnblogs.com/danlis/p/5667457.html
Copyright © 2011-2022 走看看