sql server 常用语句

常用语句


结构

表结构
-- 添加列
ALTER TABLE [dbo].[INPAT_FEE] ADD ATC NVARCHAR(20)
-- 添加自增列
alter table [dbo].[第五部分] add id int identity(1,1) not null

-- 删除列
ALTER TABLE [dbo].[INPAT_FEE] DROP COLUMN ATC
-- 更改列属性
Alter table [表名] alter column [列名] 类型
-- 修改列名
EXEC sp_rename '表名.[字段旧名]', '字段新名' , 'COLUMN';

复制表结构
-- 方法一

SELECT * into #1
  FROM 源表 where 1<>1
  
-- 方法二
select top 0 * into #temp from 源表
  

查询

EXCEPT,UNION,INTERSECT
库锁
-- 排它锁原因无法修改库名
-- 查看库锁

select spid
from master.dbo.sysprocesses
where dbid=db_id('ClothCommerce')

-- 
kill 54
kill 58

-- 分离后在路径下修改文件名和日志名 然后重新附加
C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA

表锁
-- 查看锁表:
select   request_session_id   spid,OBJECT_NAME(resource_associated_entity_id) tableName 
from   sys.dm_tran_locks where resource_type='OBJECT'
 
-- 解锁:
declare @spid  int
Set @spid  = 57 --锁表进程
declare @sql varchar(1000)
set @sql='kill '+cast(@spid  as varchar)
exec(@sql)
快捷查询
-- 查询单库下所有表条数
select 'select count(*) from '+name from sysobjects where xtype='U'

-- 查询存过
select * from sys.objects where type = 'P';
内容更改
 
 -- 去空格及换行符
 -- char(10)换行键 char(13)回车键
 REPLACE('需要替换的字符串', CHAR(13) + CHAR(10),'')
 
 -- 
 
 
cast
cast(细目代码 AS money)
行列转换
空格间隔取值
-- 改 [诊断或手术编码1] 就好
  -- 第二个值
select substring([主要诊断],charindex(' ',[主要诊断])+1,len([主要诊断])-charindex(' ',[主要诊断])) from [dbo].[表7];

 -- 第一个值
    select substring([主要诊断],1,charindex(' ',[主要诊断])-1) from [dbo].[表7] where charindex(' ',[主要诊断])>0;
   
   
行转列
-- 全转-- 列2 看情况添加
SELECT,
        value = ( STUFF(( SELECT    ';' +1 +2
                          FROM   表名 
                          WHERE= Test.FOR
                          XML PATH('')
                        ), 1, 1, '') )
FROM   表名  AS Test
GROUP BY;

-- 特定列 值转
SELECT * 
  FROM 表名 
  PIVOT(sum(列名2) FOR 列名1 IN([语文],[数学],[英语])) T

存储过程

系统存储过程

exec sp_databases; --查看数据库
exec sp_tables;        --查看表
exec sp_columns test;--查看列
exec sp_helpIndex student;--查看索引
exec sp_helpConstraint student;--约束
exec sp_stored_procedures; -- 查看存过 包括系统
exec sp_helptext 'sp_stored_procedures';--查看存储过程创建、定义语句
exec sp_rename test1,test;--修改表、索引、列的名称
exec sp_renamedb myTempDB, myDB;--更改数据库名称
exec sp_defaultdb 'sa','DB_MEMO';--更改登录名的默认数据库
exec sp_helpdb;--数据库帮助,查询数据库信息
exec sp_helpdb master;
执行存过
-- 无参数 
exec 过程名
-- 有参数
exec 过程名 参数 -- 多个参数 exec 过程名 参数,参数

其他

大小写转换
-- Mircrosoft SQL Server Management Studio 
-- 小写转换大写 
Ctrl + shift + U
-- 大写转换小写 
Ctrl + shift + L
以A-Z开头或字母开头
 -- '[ABCDEFGHIJKLMNOPQRSTUVWXYZ]%' 
 SELECT *  FROM [DB_DRG].[dbo].[7] where 主要诊断  not like  '[ABCDEFGHIJKLMNOPQRSTUVWXYZ]%'   --   '[0123456789]%'  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值