zoukankan      html  css  js  c++  java
  • SQL的六种约束

    约束关键字  Constraints

    作用:限制表的数据类型

    第一种方式:创建表的时候添加约束,create table语句

    第二种方式:创建表之后添加约束,alter table语句

    注:红色为注意事项

    1、not null(不能为空)

    创建表时约束not null

    创建car表时约束了carid字段不能为空

    2、unique(此字段的每条记录必须唯一,一般我们用来约束id,他和primary key一样,都对字段保证了唯一性)

    创建表时约束unique

     

    创建表之后约束unique

    图一:创建car表的时候约束了字段carid必须拥有唯一性

    图二:修改car表字段类型,给car表的carname字段添加一个unique约束

    3、primary key(设置此字段为这张表的主键,每个表应该有一个主键,而且每个表都只能有一个主键,主键字段必须唯一且不能有null值)

    创建时设置主键

    创建后设置主键

    图略:alter语法

    附:primary key还有一种情况,联合主键。(一句话概括 = 两个或两个以上的字段都设置成主键),这里看似违反了unique,其实不然。它是把联合主键看成一个主键

    这里我们说一下联合主键,见下图

    创建表时设置联合主键

    我们可以看到被创建的car表,他的两个字段carid和carname被设置成了联合主键

    创建后设置主键

    图略:alter语法

    4、foreign key(设置此字段为这张表的外键,它指向另一张表的主键。)

    foreign key约束防止破坏表连接,外键字段里的所有数据,必须是另一张表的主键字段里的值。

    也就是说,一张表的外键必须指向另一张表的主键

    创建时设置外键

    创建smallcar表,给smallcarid字段设置了主键,给carid字段设置了指向car表的carid字段的外键

    创建后设置外键

    图略:alter语法

    5、check(约束用于限制字段中的值的范围)

    对单个字段check的约束,那只允许该字段的值为特定的值

    对表check的约束,会在特定的字段进行数据限制

    创建表时check约束

    约束字段carid的值必须大于0,多个check约束可以效仿上面的几个约束。

    但是括号里面要用and进行隔开

    创建表后check约束

    图略:alter语法

    6、default(默认值,如果定义了默认值,再插入数据时如果没有插入数据,会根据默认值插入)

    创建时设置default约束

    上面的carname记录是自动添加的

    给carname字段设置了default约束,那么我们在插入记录的时候即使没有填写carname字段的数据。会默认给我们一个'carname‘数据

    创建后添加default约束

    图略:alter语法

  • 相关阅读:
    Python打包之pyinstaller
    Python关于Pyqt
    Python撰写mail
    后台管理左侧菜单
    全选反选以及取消
    模态对话框
    Spark2.3.1版本全分布模式的安装与部署
    Kafka消息格式及多版本支持
    2019-11-18-plot作图
    剑指Offer-知识迁移能力53-59
  • 原文地址:https://www.cnblogs.com/eyesCentre/p/10718464.html
Copyright © 2011-2022 走看看