zoukankan      html  css  js  c++  java
  • 使用SQL语句创建和删除约束

    use

    master

    go

    --Create Database

    if exists(select * from sysdatabases where name ='TestMachine')

    drop database TestMachine

    go

    create database TestMachine

    on (  name = 'TestMachines_data.mdf',  filename = 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\TestMachine_data.mdf' )

    log on( name = 'TestMachines_log.ldf',  filename = 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\TestMachine_log.ldf'   )

    go

    use TestMachine go

    --Create Table TestItem

    if exists (select * from sysobjects where name='TestItem')

    drop table TestItem

    go

    create table TestItem

    (  ID  int not null  identity(1,1) primary key,

     TestGroupName nvarchar(50) not null,

     TestItems nvarchar(50) not null  )

    go

    使用SQL语句创建和删除约束

     约束的目的是确保表中数据的完整性,常用的约束类型如下:

    》主键约束(Primary Key Constraint):要求主键列数据唯一,并且不允许为空

    》唯一约束(Unique Constraint):要求该列唯一,允许为空,但只能出现一个空值

    》检查约束(Check Constraint):某列取值范围限制、格式限制等,如有关年龄的约束

    》默认约束(Default Constraint):某列的默认值,比如学员信息表,男生多的话就可将默认设为“男”

    》外键约束(Foreign Key Constraint):用于在两表之间建立关系,需要指定引用主键的那一列

    添加约束

               ALTER TABLE 表名

               ADD CONSTRAINT 约束名 约束类型 具体的约束说明

    示例:

               ——添加主键约束(将stuNo作为主键)

               ALTER TABLE STUINFO

               ADD CONSTRAINT PK_STUNO PRIMARY KEY (stuNo)

               ——添加唯一约束(身份证号唯一)

               ALTER TABLE STUINFO

               ADD CONSTRAINT UQ_STUID UNIQUE (stuId)

               ——添加默认约束(如果地址不填,默认为“地址不详”)

               ALTER TABLE STUINFO

               ADD CONSTRAINT DF_STUADDRESS DEFAULT ('地址不详') FOR STUADDRESS

               ——添加检查约束,要求年龄只能在15~40岁之间

               ALTER TABLE STUINFO

               ADD CONSTRAINT CK_STUAGE CHECK (STUAGE BETWEEN 15 AND 40)

               ——添加外键约束(主表STUINFO和从表STUMARKS建立关系,关联字段为stuNo)

               ALTER TABLE STUINFO

               ADD CONSTRAINT FK_STUNO FOREIGN KEY (stuNo) REFERENCES STUINFO (stuNo)

              

    删除约束

               ALTER TABLE 表名

               DROP CONSTRAINT 约束名

    人生,因静而从容,因从容而优雅
  • 相关阅读:
    面试必备的数据库悲观锁与乐观锁
    5分钟带你读懂事务隔离性与隔离级别
    带你了解数据库中事务的ACID特性
    带你了解数据库中group by的用法
    带你了解数据库中JOIN的用法
    一篇带你读懂TCP之“滑动窗口”协议
    通过“表白”的方式,让我们快速了解网络协议
    聊一聊Iterable与Iterator的那些事!
    一篇让你明白进程与线程之间的区别与联系
    MySQL 索引的增删查
  • 原文地址:https://www.cnblogs.com/WangYunyun/p/3213748.html
Copyright © 2011-2022 走看看