MSSQL基本语法操作


Posted in SQL Server onApril 11, 2022

刷新本地缓存

Ctrl+Shift+R

查询

select *from [table]

修改

1、普通更新

UPDATE [table] set [字段]=[values]

2、关联表更新

UPDATE A SET A1 = B1, A2 = B2, A3 = B3 FROM A, B WHERE A.ID = B.ID

删除(数据)

delete [table]

删除(表)

drop [table]

条件查询

select *from [table] where [字段]=[values]

事务

1 开始事务: begin transaction

2 提交事务:commit transaction

3 回滚事务: rollback transaction

4 结束事务: 提交或回滚事务都将结束事务

/*--开始事务--*/
begin transaction
declare @errorSum int    --定义变量,用于累计事务执行过程中的错误
/*--转帐--*/
update bank set currentMoney=currentMoney-800 where customerName='张三'
set @errorSum=@errorSum+@@error    --累计是否有错误
update bank set currentMoney=currentMoney+800 where customerName='李四'
set @errorSum=@errorSum+@@error --累计是否有错误

print '查看转帐事务过程中的余额'
select * from bank

/*--根据是否有错误,确定事务是提交还是回滚--*/
if @errorSum>0
    begin
        print '交易失败,回滚事务.'
        rollback transaction
    end
else
    begin
        print '交易成功,提交事务,写入硬盘,永久保存!'
        /*--提交并且结束事务--*/
        commit transaction
    end
go

print '查看转帐后的余额'
select * from bank
go

查询所有表名

select * from sys.tables

查询所有表包含的字段名

select * from sys.columns

查询所有字段说明

select * from sys.extended_properties

根据表查询所含字段说明

SELECT t.[name] AS 表名,c.[name] AS 字段名,cast(ep.[value]
as varchar(100)) AS [字段说明]
FROM sys.tables AS t
INNER JOIN sys.columns AS c 
ON t.object_id = c.object_id
LEFT JOIN sys.extended_properties AS ep
ON ep.major_id = c.object_id AND ep.minor_id = c.column_id WHERE ep.class =1
AND t.name='UTB_GBNT_PROJ_INFO'--------表名

创建视图

create view ViewName
(字段1,字段2)
as
(
    select 字段1, 字段2 
    from [table] 
)

数据字典

SELECT t.FieldExp 名称,t.ColumnName 代码,

case t.FieldDataType 
when 'bigint' then t.FieldDataType
when 'int' then t.FieldDataType
when 'datetime' then t.FieldDataType
when 'numeric' then t.FieldDataType
when 'nvarchar' then (cast(t.FieldDataType as varchar(100))+'('+cast(t.Fieldlength as varchar(100))+')')
when 'decimal' then (cast(t.FieldDataType as varchar(100))+'('+cast(t.Fieldlength as varchar(100))+','+cast(t.Scale as varchar(100))+')')
end as 数据类型

,t.Fieldlength 长度,t.Scale 精确度

,case t.FieldNullable
when 0 then '不为空'
when 1 then '' end as 说明

from (select 
colorder=C.column_id, 
FieldExp=ISNULL(PFD.[value],N''), 
ColumnName=C.name, 
FieldDataType=T.name, 
Fieldlength=COLUMNPROPERTY(c.object_id ,c.name ,'PRECISION'), 
Scale=C.scale,
FieldNullable=C.is_nullable
--FieldDefVal=D.definition
FROM sys.columns C 
INNER JOIN sys.objects O 
ON C.[object_id]=O.[object_id] 
AND (O.type='U' or O.type='V') 
AND O.is_ms_shipped=0 
INNER JOIN sys.types T 
ON C.user_type_id=T.user_type_id 
LEFT JOIN sys.default_constraints D 
ON C.[object_id]=D.parent_object_id 
AND C.column_id=D.parent_column_id 
AND C.default_object_id=D.[object_id] 
LEFT JOIN sys.extended_properties PFD 
ON PFD.class=1 
AND C.[object_id]=PFD.major_id 
AND C.column_id=PFD.minor_id 
LEFT JOIN sys.extended_properties PTB 
ON PTB.class=1 
AND PTB.minor_id=0 
AND C.[object_id]=PTB.major_id 
LEFT JOIN 
( 
SELECT 
IDXC.[object_id], 
IDXC.column_id, 
Sort=CASE INDEXKEY_PROPERTY(IDXC.[object_id],IDXC.index_id,IDXC.index_column_id,'IsDescending')
WHEN 1 THEN 'DESC' WHEN 0 THEN 'ASC' ELSE '' END,  
PrimaryKey=CASE WHEN IDX.is_primary_key=1 THEN N'√'ELSE N'' END, 
IndexName=IDX.Name  
FROM sys.indexes IDX  
INNER JOIN sys.index_columns IDXC  
ON IDX.[object_id]=IDXC.[object_id]  
AND IDX.index_id=IDXC.index_id  
LEFT JOIN sys.key_constraints KC  
ON IDX.[object_id]=KC.[parent_object_id]  
AND IDX.index_id=KC.unique_index_id  
INNER JOIN  
(  
SELECT [object_id], Column_id, index_id=MIN(index_id)  
FROM sys.index_columns  
GROUP BY [object_id], Column_id  
) IDXCUQ  
ON IDXC.[object_id]=IDXCUQ.[object_id]  
AND IDXC.Column_id=IDXCUQ.Column_id  
AND IDXC.index_id=IDXCUQ.index_id  
) IDX  
ON C.[object_id]=IDX.[object_id]  
AND C.column_id=IDX.column_id  
WHERE O.name='--tablename--')as t  ORDER BY colorder,ColumnName
SELECT  
表名=case when a.colorder=1 then d.name else '' end, 
表说明=case when a.colorder=1 then isnull(f.value,'') else '' end,
字段序号=a.colorder, 
字段名=a.name, 
标识=case when COLUMNPROPERTY(a.id,a.name,'IsIdentity')=1 then '√'else '' end, 
主键=case when exists(SELECT 1 FROM sysobjects where xtype='PK' and name in (
  SELECT name FROM sysindexes WHERE indid in(
   SELECT indid FROM sysindexkeys WHERE id = a.id AND colid=a.colid 
   ))) then '√' else '' end, 
类型=b.name, 
占用字节数=a.length, 
长度=COLUMNPROPERTY(a.id,a.name,'PRECISION'), 
小数位数=isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0), 
允许空=case when a.isnullable=1 then '√'else '' end, 
默认值=isnull(e.text,''), 
字段说明=isnull(g.[value],'') 
FROM syscolumns a 
left join systypes b on a.xtype=b.xusertype 
inner join sysobjects d on a.id=d.id and d.xtype='U' and d.name<>'dtproperties' 
left join syscomments e on a.cdefault=e.id 
left join sys.extended_properties g on a.id=g.major_id and a.colid=g.minor_id 
left join sys.extended_properties f on d.id=f.major_id and f.minor_id =0 
--where d.name='要查询的表' --如果只查询指定表,加上此条件   
order by a.id,a.colorder
SQL Server 相关文章推荐
SQL Server——索引+基于单表的数据插入与简单查询【1】
Apr 05 SQL Server
SQLServer2019 数据库环境搭建与使用的实现
Apr 08 SQL Server
SQLServer2019 数据库的基本使用之图形化界面操作的实现
Apr 08 SQL Server
SQL Server中交叉联接的用法详解
Apr 22 SQL Server
mybatis调用sqlserver存储过程返回结果集的方法
May 08 SQL Server
SQLServer中JSON文档型数据的查询问题解决
Jun 27 SQL Server
SQL语句中JOIN的用法场景分析
Jul 25 SQL Server
万能密码的SQL注入漏洞其PHP环境搭建及防御手段
Sep 04 SQL Server
SQL Server查询某个字段在哪些表中存在
Mar 03 SQL Server
SQL Server内存机制浅探
Apr 06 SQL Server
MSSQL基本语法操作
Apr 11 SQL Server
SQL bool盲注和时间盲注详解
Jul 23 SQL Server
SQL Server数据库查询出现阻塞之性能调优
Apr 10 #SQL Server
sql server偶发出现死锁的解决方法
SQL Server的存储过程与触发器以及系统函数和自定义函数
Apr 10 #SQL Server
SQL Server表分区降低运维和维护成本
SQL Server使用导出向导功能
SQL Server内存机制浅探
sqlserver连接错误之SQL评估期已过的问题解决
You might like
如何给phpadmin一个保护
2006/10/09 PHP
PHP+APACHE实现用户论证的方法
2006/10/09 PHP
解决PHP Opcache 缓存刷新、代码重载出现无法更新代码的问题
2020/08/24 PHP
JS 自动完成 AutoComplete(Ajax 查询)
2009/07/07 Javascript
jquery实现带单选按钮的表格行选中时高亮显示
2013/08/01 Javascript
PHP+jQuery+Ajax实现多图片上传效果
2015/03/14 Javascript
JavaScript从数组中删除指定值元素的方法
2015/03/18 Javascript
JQuery中DOM事件合成用法实例分析
2015/06/13 Javascript
JavaScript多图片上传案例
2015/09/28 Javascript
jQuery实现简洁的导航菜单效果
2015/11/23 Javascript
JS简单实现String转Date的方法
2016/03/02 Javascript
基于代数方程库Algebra.js解二元一次方程功能示例
2017/06/09 Javascript
深入浅析Node环境和浏览器的区别
2018/08/14 Javascript
在iFrame子页面里实现模态框的方法
2018/08/17 Javascript
如何为你的JavaScript代码日志着色详解
2019/04/08 Javascript
js实现全选反选不选功能代码详解
2019/04/24 Javascript
python虚拟环境 virtualenv的简单使用
2020/01/21 Javascript
vue学习笔记之给组件绑定原生事件操作示例
2020/02/27 Javascript
[01:02:06]LGD vs Mineski Supermajor 胜者组 BO3 第二场 6.5
2018/06/06 DOTA
[01:54]TI珍贵瞬间系列(三):翻盘
2020/08/28 DOTA
python数据结构之图的实现方法
2015/07/08 Python
Python二叉树的定义及常用遍历算法分析
2017/11/24 Python
python 顺时针打印矩阵的超简洁代码
2018/11/14 Python
pycharm debug功能实现跳到循环末尾的方法
2018/11/29 Python
python爬虫豆瓣网的模拟登录实现
2019/08/21 Python
python设置中文界面实例方法
2020/10/27 Python
html5 浏览器支持 如何让所有的浏览器都支持HTML5标签样式
2012/12/07 HTML / CSS
大学班级干部的自我评价分享
2014/02/10 职场文书
卫生巾广告词
2014/03/18 职场文书
投资建议书模板
2014/05/12 职场文书
招标授权委托书样本
2014/09/23 职场文书
2015年医院后勤工作总结
2015/05/20 职场文书
2015年普法依法治理工作总结
2015/05/26 职场文书
HTML5简单实现添加背景音乐的几种方法
2021/05/12 HTML / CSS
python中sqllite插入numpy数组到数据库的实现方法
2021/06/21 Python
python读取mnist数据集方法案例详解
2021/09/04 Python