常用sql集锦
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集锦的更多相关文章
- Mysql 常用 SQL 语句集锦
Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...
- Mysql 常用 SQL 语句集锦 转载(https://gold.xitu.io/post/584e7b298d6d81005456eb53)
Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...
- 常用 SQL Server 规范集锦
常用 SQL Server 规范集锦 常见的字段类型选择 1.字符类型建议采用varchar/nvarchar数据类型 2.金额货币建议采用money数据类型 3.科学计数建议采用numeric数 ...
- mysql常用命令集锦
一.DCL语句(数据控制语句) 1.授权远程访问,针对IP和用户.DB的 grant {privilege list} on {dbname}.* to '{user}'@'{ip}' identif ...
- php常用知识集锦
php常用知识集锦 很多位置都有写好的代码,自己做项目的时候可以直接拿来用,而不用自己写,比如现在看到的菜鸟教程. 1.判断是否为空 empty($_POST["name"]) 2 ...
- oracle(sql)基础篇系列(一)——基础select语句、常用sql函数、组函数、分组函数
花点时间整理下sql基础,温故而知新.文章的demo来自oracle自带的dept,emp,salgrade三张表.解锁scott用户,使用scott用户登录就可以看到自带的表. #使用ora ...
- 常用SQL[ORACLE]
1.常用系统函数 2.常用sql语句 3.一些定义和关键字 4.需要注意点 1.常用系统函数 ↑ --decode decode(column,if_value,value,elseif_ ...
- Oracle常用SQL查询(2)
三.查看数据库的SQL 1 .查看表空间的名称及大小 select t.tablespace_name, round ( sum (bytes / ( 1024 * 1024 )), 0 ) ts ...
- Oracle常用SQL查询
一.ORACLE的启动和关闭 1.在单机环境下要想启动或关闭oracle系统必须首先切换到oracle用户,如下: su - oracle a.启动Oracle系统 oracle>svrmgrl ...
随机推荐
- (转)C++常用函数汇总
1.标准C++库字符串类std::string的用法 begin 得到指向字符串开头的Iterator end 得到指向字符串结尾的Iterator rbegin ...
- (9)JavaScript-DOM(文档对象模型)
DOM是针对 HTML 和 XML 文档的一个 API ,描绘了一个层次化的节点树,允许开发人员添加.移除和修改页面的某一部分 一.节点层次 <html> <head> &l ...
- 洛谷 P1056 排座椅【贪心/结构体排序】
题目描述 上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情.不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的D对同学上课时会交头接耳.同学 ...
- NOIP 2014飞扬的小鸟(DP优化)
题目链接 飞扬的小鸟 考场的70分暴力(实际只有50分因为数组开小了……) 考场代码(数组大小已修改) #include <cstdio> #include <cstring> ...
- (入门SpringBoot)SpringBoot结合定时任务task(十)
SpringBoot整合定时任务task 使用注解EnableScheduling在启动类上. 定义@Component作为组件被容器扫描. 表达式生成地址:http://cron.qqe2.com ...
- Python: Write UTF-8 characters to csv file
To use codecs, we can write UTF-8 characters into csv file import codecs with open('ExcelUtf8.csv', ...
- 【spring cloud】@EnableTransactionManagement注解的意义
@EnableTransactionManagement注解的意义
- numpy基础语法
np.zeros(5) [ 0. 0. 0. 0. 0.] 所得类型为数组, numpy.zeros_like(a, dtype=None, order='K', subok=True) 生成 ...
- 尝试使用Osg共享渲染描述表(HGLRC)实现多线程编译显示列表--总结
在realize()前打开预编译选项指令: osg::DisplaySettings::instance()->setCompileContextsHint(true); mpr_osgv ...
- 九度oj题目&吉大考研10年机试题全解
吉大考研机试2010年题目 题目一(jobdu1478:三角形的边). http://ac.jobdu.com/problem.php?pid=1478 给出三个正整数,计算最小的数加上次小的数 ...