维护数据表常用SQL语句

逐渐接触多人团队ERP软件开发了。设计发布新的模块时候总结了下以前的同时的风格。总结出下面的经验。其实这些语法在以往都有研究。但是系统用起来发现还是不那么容易记得住,所以记下在此。

 

新增数据表说明
execute sp_addextendedproperty 'MS_Description', '数据表说明','user', 'dbo', 'table', '用户数据表名'

新增数据表字段说明
execute sp_addextendedproperty 'MS_Description',    '数据表名',   'user', 'dbo', 'column', '字段说明'

新增数据表字段
--方法一
ALTER TABLE [dbo].[数据表名] ADD 字段名称 float default(0)
--方法二
--查询对应的字段所在数据表
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[数据表名]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
--查询对应的数据表字段
if (NOT exists ( select * from dbo.syscolumns where name = '字段名称' and id in (select id from dbo.sysobjects where id = object_id(N'[dbo].[数据表名]') and

OBJECTPROPERTY(id, N'IsUserTable') = 1)))
--新增数据表字段定义
ALTER TABLE [dbo].[数据表名] ADD 字段名称 varchar(50) null

删除指定视图
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[视图名称]') and OBJECTPROPERTY(id, N'IsView') = 1)
drop view [dbo].[视图名称]

删除指定数据表
if not exists (select 1 from  sysobjects where  id = object_id('dbo.数据表名') and   type = 'U')
drop table [dbo].[数据表名]

删除指定存储过程方法一
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[存储过程名称]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[存储过程名称]
删除指定存储过程方法二
IF OBJECT_ID(N'[dbo].[存储过程名称]') IS NOT NULL
DROP PROCEDURE [dbo].[存储过程名称]

删除指定数据表字段
ALTER TABLE [dbo].[数据表名] drop COLUMN 字段名称

删除指定数据表约束
ALTER TABLE [dbo].[数据表名] drop 约束名称

修改字段定义
--查询对应的字段所在数据表
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[数据表名]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
--查询对应的数据表字段
if (exists ( select * from dbo.syscolumns where name = '字段名称' and id in (select id from dbo.sysobjects where id = object_id(N'[dbo].[数据表名]') and

OBJECTPROPERTY(id, N'IsUserTable') = 1)))
--查询数据表字段定义
ALTER TABLE [dbo].[数据表名] ALTER COLUMN 字段名称 字段类型(长度限制) 是否为空

修改主键
ALTER TABLE [dbo].[数据表名] WITH NOCHECK ADD
 CONSTRAINT [PK_数据表名] PRIMARY KEY  CLUSTERED
 (
  [UniqueID]
 )  ON [PRIMARY]
修改日期字段默认值
ALTER TABLE [dbo].[数据表名] ADD CONSTRAINT [DF_数据表名_日期字段名] DEFAULT (getdate()) FOR [日期字段名]

修改数字字段默认值
ALTER TABLE [dbo].[数据表名] ADD CONSTRAINT [DF_数据表名_数字字段名] DEFAULT (0) FOR [数字字段名]


初始化数据操作
if not exists (select 'q' from dbo.数据表名 where 字段名称='字段数值')
insert into dbo.数据表名(字段名称) values('字段数值')
insert into dbo.数据表名(字段名称1,字段名称2) values('字段数值1','字段数值2')

初始化不重复数据操作
IF  NOT EXISTS (SELECT 'A' FROM [dbo].[数据表名] WHERE 字段名='字段值')
BEGIN
INSERT INTO [dbo].[数据表名]([字段名]) VALUES('字段值')
END


SQL脚本顶部的备注格式
/*
 功能:
 日期:
 作者:
*/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

疾风铸境

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值