SQL常用语句,添加约束、字段说明、自定义排序规则

养成使用SQL语句的好习惯
1. 向表中添加新的字段
alter table 表名 add 列名 类型 not null
2. 删除表中的一个字段
Alert table 表名 drop column 列名
3. 修改表中的一个字段名
alter table 表名 rename column 旧列名 to 新列名
4. 添加主键约束
alter table 表名 add constraint 约束名 primary key (列名)
5. 添加唯一约束
alter table 表名 add constraint 约束名 unique (列名)
6. 添加默认约束
alter table 表名 add constraint 约束名 default(内容) for 列名
7. 添加check约束
alter table 表名 add constraint 约束名 check(内容)
添加外键约束
alter table 表名 add constraint 约束名 foreign key(列名) references 另一表名(列名)
9. 删除约束
alter table 表名 drop constraint 约束名
10. 修改字段属性
alter table 表名 alter column 列名 varchar(200) not null;
11. 修改默认值
alter table 表名 drop constraint 约束名
alter table表名 add constraint df default(‘默认值’) for列名(df是该表该列默认值的名字,不能重复)
12.删除添加主键
ALTER TABLE [表名] DROP constraint PK_table1(主键名称)
ALTER TABLE [表名] ALTER COLUMN [列名] varchar(20)
ALTER TABLE [表名] ADD constraint PK_table1(主键名称) Primary Key ( [列名])
13. 对表列中描述操作,添加、修改、删除
–添加描述属性:
EXEC sys.sp_addextendedproperty
@name=N’MS_Description’,
@value=N’描述内容’ ,
@level0type=N’SCHEMA’,
@level0name=N’dbo’,
@level1type=N’TABLE’,
@level1name=N’表名称’,
@level2type=N’COLUMN’,
@level2name=N’列名称’
–更新表描述属性:
EXEC sys.sp_updateextendedproperty @name=‘MS_Description’,
@value=‘描述内容’,
@level0type=‘SCHEMA’,
@level0name=‘dbo’,
@level1type=‘TABLE’,
@level1name=‘表名’,
@level2type=‘COLUMN’,
@level2name=‘列名’
–删除表描述属性(省略变量):
EXEC sys.sp_dropextendedproperty’MS_Description’,‘SCHEMA’,dbo,‘table’,‘表名’,‘column’,‘列名’
14. 生成唯一标识符,根据计算机硬件信息和当前时间生成的唯一标识(应该是全球唯一标示)
SELECT NEWID()
15.安全创建临时表
if object_id(‘tempdb…#a’) is not null
Begin
drop table #a
End
CREATE TABLE #a( id INT IDENTITY(1,1) PRIMARY KEY, CONTENT VARCHAR(100))
16.数据库索引操作(没有修改操作)
数据库索引创建
CREATE NONCLUSTERED INDEX [索引名称] ON [dbo].[表]
(
[列1] ASC,
[列2] DESC
)
索引删除
DROP INDEX [索引名称] ON [dbo].[表]
17.SQL自定义排序(数据量大的项目不建议使用这两种方法,效率太低,建议新建自定义排序关联表)
方法一:
由低(一乙)到高(三甲)排序:
SELECT * FROM #TEMP
ORDER BY PATINDEX(’%’+SUBSTRING(NAME,2,1)+’%’,‘乙甲’),
PATINDEX(’%’+SUBSTRING(NAME,1,1)+’%’,‘一二三四五六七八九十’)
方法二:
按(二一五四三)的自定义顺序排列
order by (case name when ‘二’ then 1 when ‘一’ then 2 when '五 ’ then 3 when ‘四’ then 4 when ‘三’ then 5 else ‘’ end)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值