1、从数据库A中把表tableA导入到数据库B中

 

--如果主键是自增,则必须列出具体字段.-- 
select * into tableA from A..tableA   

2、批量更改表中某列中的某个字符串

 

 update table[表名] set Fields[字段名]=replace(Fields[字段名],'被替换原内容','要替换成的内容')

3、把数据库中某张表数据生成插入语句

CREATE   proc spGenInsertSQL (@tablename varchar(256))
as
begin
declare @sql varchar(8000)
declare @sqlValues varchar(8000)
set @sql =' ('
set @sqlValues = 'values (''+'select @sqlValues = @sqlValues + cols + ' + '','' + ' ,@sql = @sql + '[' + name + '],'
from
(select case when xtype in (48,52,56,59,60,62,104,106,108,122,127)
then 'case when '+ name +' is null then ''NULL'' else ' + 'cast('+ name + ' as varchar)'+' end'
when xtype in (58,61) then 'case when '+ name +' is null then ''NULL'' else '+''''''''' + ' + 'cast('+ name +' as varchar)'+ '+'''''''''+' end'
when xtype in (167) then 'case when '+ name +' is null then ''NULL'' else '+''''''''' + ' + 'replace('+ name+','''''''','''''''''''')' + '+'''''''''+' end'
when xtype in (231) then 'case when '+ name +' is null then ''NULL'' else '+'''N'''''' + ' + 'replace('+ name+','''''''','''''''''''')' + '+'''''''''+' end'
when xtype in (175) then 'case when '+ name +' is null then ''NULL'' else '+''''''''' + ' + 'cast(replace('+ name+','''''''','''''''''''') as Char(' + cast(length as varchar) + '))+'''''''''+' end'
when xtype in (239) then 'case when '+ name +' is null then ''NULL'' else '+'''N'''''' + ' + 'cast(replace('+ name+','''''''','''''''''''') as Char(' + cast(length as varchar) + '))+'''''''''+' end'
else '''NULL''' end as Cols,name from syscolumns where id = object_id(@tablename) ) T
set @sql ='select ''INSERT INTO ['+ @tablename + ']' + left(@sql,len(@sql)-1)+') ' + left(@sqlValues,len(@sqlValues)-4) + ')'' from '+@tablename
print @sql
exec (@sql)
end
GO

4、分页存储过程

drop procedure Common_Page
Create PROCEDURE Common_Page
(
@tablename nvarchar(255),--操作的表名
@pagesize int,--单页显示个数
@pageindex int,--当前页码
@condition nvarchar(1000),--筛选条件,格式: a=1 and b=2
@primarykey nvarchar(255),--主键,格式: id
@order nvarchar(255)--排序,格式: id desc,id2 desc
)
AS DECLARE @sqlcount nvarchar(2000)
DECLARE @sql nvarchar(2000)
DECLARE @orderby nvarchar(255) SET @orderby = ISNULL(@order,@primarykey)
IF(LEN(@orderby)=0)
SET @orderby=@primarykey SET @orderby=' '+@orderby
SET @sql='WITH temptbl AS ('
SET @sql=@sql+'Select ROW_NUMBER() OVER (ORDER BY '+@orderby+')AS ROW_NUM, * from '+@tablename set @sqlcount='Select count(0) FROM '+@tablename
IF(LEN(ISNULL(@condition,''))>0)
BEGIN
set @sqlcount=@sqlcount+ ' where ' + @condition
set @sql=@sql+ ' where ' + @condition
End DEclARE @rowstart nvarchar(20),@rowend nvarchar(20)
if(@pageindex<0) SET @pageindex=0
SET @rowstart=(@pageindex)*@pagesize+1
SET @rowend=CAST((@pageindex)*@pagesize+@pagesize as nvarchar(20)) -- 此处会导致第三页开始显示不正确的问题,故注释掉,复制时要把这些删掉
-- update:2008-6-8
--if(@pageindex>2)
--BEGIN
-- SET @rowstart=CAST((@pageindex*@pagesize)+1 as nvarchar(20))
-- SET @rowend=CAST((@pageindex*@pagesize)+@pagesize as nvarchar(20))
--END set @sql=@sql+')Select * FROM temptbl where ROW_NUM between '+@rowstart+' and '+@rowend EXECUTE sp_executesql @sql
EXECUTE sp_executesql @sqlcount
print(@sql)
GO

5、使用脚本断开某个数据库的所有活动链接

  

USE master
go IF EXISTS ( SELECT *
FROM dbo.sysobjects
WHERE id = OBJECT_ID(N'[dbo].[P_KillConnections]')
AND OBJECTPROPERTY(id, N'IsProcedure') = )
DROP PROCEDURE [dbo].[P_KillConnections]
GO CREATE PROC P_KillConnections @dbname VARCHAR()
AS
DECLARE @sql NVARCHAR()
DECLARE @spid NVARCHAR() DECLARE #tb CURSOR FOR
SELECT spid=CAST(spid AS VARCHAR()) FROM master..sysprocesses WHERE dbid=DB_ID(@dbname)
OPEN #tb
FETCH NEXT FROM #tb INTO @spid
WHILE @@fetch_status =
BEGIN
EXEC('kill '+@spid)
FETCH NEXT FROM #tb INTO @spid
END
CLOSE #tb
DEALLOCATE #tb
go EXEC P_KillConnections '修改成自己的数据库'

6、删除登录用户失败时,执行下面脚本,然后再删除

ALTER AUTHORIZATION ON SCHEMA::db_owner TO dbo;

7、数据库分离与附加

  

--分离--
USE master;
GO
EXEC sp_detach_db @dbname = N'数据库名称';
GO --附加--
USE master;
GO
if exists(select * from dbo.sysdatabases where name='数据库名称')
drop database 数据库名称
GO
CREATE DATABASE 数据库名称
ON (FILENAME = 'E:\DB\数据库名称.mdf'),
(FILENAME = 'E:\DB\数据库名称.ldf')
FOR ATTACH;
GO

8、数据库备份与还原

  

--数据库备份--
USE master
BACKUP DATABASE 数据库名称
TO DISK ='E:\DB\数据库名称.bak' --数据库还原--
USE master
RESTORE DATABASE 数据库名称
FROM DISK='E:\DB\数据库名称.bak'
WITH REPLACE

常用sql集锦的更多相关文章

  1. Mysql 常用 SQL 语句集锦

    Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...

  2. Mysql 常用 SQL 语句集锦 转载(https://gold.xitu.io/post/584e7b298d6d81005456eb53)

    Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...

  3. 常用 SQL Server 规范集锦

    常用 SQL Server 规范集锦 常见的字段类型选择   1.字符类型建议采用varchar/nvarchar数据类型 2.金额货币建议采用money数据类型 3.科学计数建议采用numeric数 ...

  4. mysql常用命令集锦

    一.DCL语句(数据控制语句) 1.授权远程访问,针对IP和用户.DB的 grant {privilege list} on {dbname}.* to '{user}'@'{ip}' identif ...

  5. php常用知识集锦

    php常用知识集锦 很多位置都有写好的代码,自己做项目的时候可以直接拿来用,而不用自己写,比如现在看到的菜鸟教程. 1.判断是否为空 empty($_POST["name"]) 2 ...

  6. oracle(sql)基础篇系列(一)——基础select语句、常用sql函数、组函数、分组函数

        花点时间整理下sql基础,温故而知新.文章的demo来自oracle自带的dept,emp,salgrade三张表.解锁scott用户,使用scott用户登录就可以看到自带的表. #使用ora ...

  7. 常用SQL[ORACLE]

        1.常用系统函数 2.常用sql语句 3.一些定义和关键字 4.需要注意点   1.常用系统函数 ↑ --decode decode(column,if_value,value,elseif_ ...

  8. Oracle常用SQL查询(2)

    三.查看数据库的SQL 1 .查看表空间的名称及大小 select  t.tablespace_name,  round ( sum (bytes / ( 1024 * 1024 )), 0 ) ts ...

  9. Oracle常用SQL查询

    一.ORACLE的启动和关闭 1.在单机环境下要想启动或关闭oracle系统必须首先切换到oracle用户,如下: su - oracle a.启动Oracle系统 oracle>svrmgrl ...

随机推荐

  1. GROOVY入门

    refer to 精通Groovy(IBM)https://www.ibm.com/developerworks/cn/education/java/j-groovy/j-groovy.html re ...

  2. linux查看hostname以及修改hostname

    查看hostname   :   hostname 修改hostname   :   hostnamectl set-hostname  master (比如要修改为master) 修改完重启生效 : ...

  3. dedecms跳转标签

    我们在使用织梦dedecms制作网站的时候,有时会遇到利用arclist和list标签调用redirecturl属性.但是,dedecms的arclist和list标签不支持redirecturl.很 ...

  4. 在html里网页中嵌入优酷的视频

    <html> <embed src="http://player.youku.com/player.php/sid/XMjAzOTk4NjI4/v.swf" qu ...

  5. python __new__和__init__的区别

    http://www.cnblogs.com/tuzkee/p/3540293.html 继承自object的新式类才有__new__ __new__至少要有一个参数cls,代表要实例化的类,此参数在 ...

  6. mac 配置sencha touch环境

    1 安装 java 2 安装 node js 为使用npm作准备 3 用npm命令安装 cordova npm install -g cordova

  7. Ubuntu下sudo apt-get install vim 失败的解决办法

    Ubuntu下 执行命令:sudo apt-get install vim 失败 解决办法: 更新一下,命令:sudo apt-get update 再安装即可成功:sudo apt-get inst ...

  8. EasyMvc入门教程-基本控件说明(3)时间线

    我们有时候经常看到如下的页面: 或者快递物流信息图标,那么利用EasyMvc如何实现呢?很简单,看下面的例子: @{ var data=new List<TimeLineItem>() { ...

  9. HDU 4746 Mophues (莫比乌斯反演应用)

    Mophues Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 327670/327670 K (Java/Others) Total ...

  10. IOS Audio开发集合

    打算每天抽出一点时间学习音频方面的知识,在此做下汇总: 1. 多媒体层预览  根据结构,明确学习内容.