陈表达学习SQL Server数据库的笔记(约束条件篇)

--无法在表 '测试表' 中可为 Null 的列上定义 PRIMARY KEY 约束(PK开头为主键约束)
--设置主键的字段不能是允许为null的字段
--设置主键的字段已有内容不能有重复内容如:SP1、SP1
--判断是否存在表【测试表】
 

if exists(select * from syscolumns where id=object_id('测试表')) 
begin
       --存在测试表时,新建字段并写入内容
       print '已存在【测试表】、大表格已删除,请重新生成【测试表】'
   
       --删除数据库的【测试表】
    USE 测试数据库
    DROP TABLE 测试表
end

else
begin
   --新建数据表【测试表】------------------------------------------------------------
    --质量 smallint check (质量>=10) , -- 列约束 
    --constraint 表约束_约束名称 primary key (商品ID, 商品名称),       -- 表约束,可设置多个字段

   CREATE TABLE 测试表 --创建一个名为table_name的表
    (
    商品ID varchar(40) not null, 
    商品名称 varchar(30) not null, 
    规格 varchar(30) , 
    型号 varchar(30) , 
    属性 varchar(30) not null,
    分类 varchar(30) not null,
    单价 money default 0.01  ,
    数量 int default 0  ,
    备注 varchar(400) 
    )
   -- ------------------------------------------------------------------------------

       --增加表字段---------------------------------字段短了会被截断停止运行
       ALTER TABLE 测试表 ADD 字段名 CHAR(50)
    ALTER TABLE 测试表 ADD 测试列 CHAR(50)
    -- ---------------------------------------------------------------

    --设置主键约束【商品ID】-------------------------------------------------------
    alter table 测试表 add constraint  约束条件名称 primary key (商品ID)

    -- 设置唯一约束【商品名称】 ----------------------------------------------------
    ALTER TABLE 测试表 ADD CONSTRAINT 商品_唯一约束 UNIQUE (商品名称) 

    -- 设置默认约束-----------------------------------------------------------------
    ALTER TABLE 测试表 ADD CONSTRAINT 默认约束1 DEFAULT ('默认设置值') FOR 字段名 


    --判断是否存在主键约束,primary key简称PK是主键约束的type----------------------------------------------------
    IF EXISTS(SELECT * FROM sysobjects WHERE name='约束条件名称' and xtype='PK')
    begin
       print '存在主键约束'
    end 
    
    --判断是否存在唯一约束,UNIQUE简称UQ是唯一约束的type----------------------------------------------------
    IF EXISTS(SELECT * FROM sysobjects WHERE name='商品_唯一约束' and xtype='UQ')
    begin
       print '存在唯一约束'
    end 

    --判断是否存在默认约束--DEFAULT简称D
    IF EXISTS(SELECT * FROM sysobjects WHERE name='默认约束1' and xtype='D')


    --批量增加表数据------------------------------------------------------------------------------
    INSERT INTO 测试表(商品ID,商品名称,规格,型号,属性,分类,单价,备注)
    VALUES ('SP00001','安宫牛黄丸','10粒/盒','A-1245','药物','中西成药',16,'防止中风,急救用'),
           ('SP00002','冬虫夏草','20粒/盒','D-1245','药物','参茸贵细',116,'补气'),
           ('SP00003','东阿阿胶','30粒/盒','D-D245','药物','中西成药',216,'补血'),
           ('SP00004','甘草颗粒','40粒/盒','G-1245','药物','中药颗粒',316,''),
           ('SP00005','按摩仪','50粒/盒','A-D1245','药物','理疗商品',636,'')
    -- --------------------------------------------------------------------------------------
    
    --更新字段内容信息-------------------------------------------------
    update 测试表 set 字段名 ='大表格筛选'+商品ID where 商品ID='SP00003'
    update 测试表 set 字段名 ='大表格筛选'+商品ID where 商品ID='SP00004'
    update 测试表 set 字段名 ='IN大表格筛选' where 商品ID in('SP00001','SP00002')

end

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Excel_VBA创维大表格จุ๊บ

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

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

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

打赏作者

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

抵扣说明:

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

余额充值