SQL Server - 小鸟系列之T-SQL基础篇

创建表

Create Table dbo.UserInfo
(
    Id int identity(1,1) primary key ,
    Name varchar(100) Constraint UQ_Name unique,--创建唯一约束
    CreatedTime DateTime,
    CreatedUser varchar(50)
)

修改表名

EXEC sp_rename 'UserInfo','UserInfo2'

修改列名

EXEC sp_rename 'UserInfo.Name','UserName','column'
修改列类型
Alter Table UserInfo Alter Column Name Char(100) 

新增列

Alter Table UserInfo Add EditTime varchar(100)
增加约束条件 (唯一值约束,约束名:CK_UserInfoName)
Alter Table UserInfo Add Constraint CK_UserInfoName Unique(Name)

判断列是否存在

If Exists(Select * From syscolumns Where id=object_id('UserInfo') and name='Name' )
Begin
  Print '存在'
End

判断唯一约束是否存在

If Exists(Select tab.name AS [表名],idx.name AS [约束名称],col.name AS [约束列名]
    From sys.indexes idx
	Join sys.index_columns idxCol On(idx.object_id = idxCol.object_id And idx.index_id = idxCol.index_id And idx.is_unique_constraint = 1)
	Join sys.tables tab On (idx.object_id = tab.object_id)
	Join sys.columns col On (idx.object_id = col.object_id And idxCol.column_id = col.column_id)
    Where tab.name = 'UserInfo' And idx.name = 'CK_UserInfoName')
Begin
  Print '存在'
End

删除约束

Alter Table UserInfo Drop Constraint UserInfoName 
删除列
Alter Table UserInfo Drop Column Name
判断表是否存在
If Exists (Select * From sysobjects Where name = 'UserInfo' And type = 'U')
Begin
  Print '存在'
End
删除表
Drop Table UserInfo
删除数据
Delete from UserInfo Where Id = 1
设置查询结果全部大写或小写
select Lower(name) from UserInfo
select Upper(name) from UserInfo
通配符"_"的使用 

_(下划线):代表任意单个字符,例a_b代表以a开头且b结尾的长度为3的字符串

例:查询姓"欧阳" 且全名3个汉子的用户的姓名

select * from UserInfo where Name like '欧阳_'

存储过程使用

判断存储过程是否存在

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[USP_SIS30_DataWarehouse_JobApplication_FullProfile_Convert]') AND type in (N'P', N'PC'))
BEGIN
  Drop Proc dbo.USP_SIS30_DataWarehouse_JobApplication_FullProfile_Convert
END


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值