中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MSSQL基本語法實例分析

發布時間:2022-04-11 13:56:58 來源:億速云 閱讀:160 作者:iii 欄目:開發技術

這篇文章主要講解了“MSSQL基本語法實例分析”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“MSSQL基本語法實例分析”吧!

刷新本地緩存

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

感謝各位的閱讀,以上就是“MSSQL基本語法實例分析”的內容了,經過本文的學習后,相信大家對MSSQL基本語法實例分析這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

辉县市| 工布江达县| 台中县| 顺义区| 阜新市| 嵊泗县| 扎鲁特旗| 延川县| 合水县| 温泉县| 城口县| 依兰县| 西安市| 青冈县| 鹤庆县| 西藏| 辽阳市| 册亨县| 离岛区| 塔河县| 上杭县| 漳州市| 南丰县| 平阳县| 诸城市| 遵义县| 清远市| 安阳市| 铜陵市| 吉安市| 伊金霍洛旗| 仪陇县| 扶余县| 永清县| 阳西县| 杭州市| 天峻县| 讷河市| 青川县| 连南| 乌恰县|