(一)sql里面的属性与约束的用法

(一)sql里面的属性与约束的用法

    • 属性
    • 约束
    • 键的区别

属性

属性 使用场景
int(整型) 用作标识符,状态码,或者作为主键使用(一般自增)
char(字符串) 文字得描述
double 适用于小数,较为精确的值,比如说钱
date 日期单位,只精确到那一天,一般电商网站的用户信息使用
Timestamp 日期时间单位,精确到时间秒,比较常用在医院超市等需要精确时间的场所

约束

约束 类型 说明
primary key 主键、唯一约束 一张表只能由有一个主键,或者几个字段形成联合主键,且内容唯一,不为空
foreign key 外键 表与表之间,建立强制的关联关系,外键必修和主键绑定
unique 唯一键 内容唯一,但可以为空
not null 非空键 内容不能为空

键的区别

  1. 主键和唯一键的区别?
    主键(PK)和唯一键(Unique)都是表示内容的唯一性,不同的是主键不能为空,而唯一键可以为空。
  2. 什么情况下 可以使用外键?
    当有多表存在时,且这些表之间有联系时,可以使用外键进行关联,从而将数据表关联在一起,而又降低了表结构的复杂度。

举例子说明现有一张订单表(Orders)和订单详情表(OrdersDetail)。

订单表(Orders),其中属性为:订单编号(O_ID),下单时间(O_TIME)和下单人姓名(O_NAM);
订单详情表(OrdersDetail),其中属性为:订单编号(OD_O_ID),商品编号(OD_G_ID)和下单数量(OD_G_COUNT)。
分析:订单表的主键是订单编号,而订单详情表的主键则是由 订单编号+商品编号 组成的,这个叫做联合主键。订单表和订单详情表显然二者是相互关联的。这时要将他们关联起来,可以使用外键。那么谁来做外键呢?显然, 订单编号 就可以作为这个外键。因为它存在二者之间且它又是主键。当通过表的关联查询(他作为一个纽带)就可以得到两张表的信息了。

你可能感兴趣的:(SQL学习总结)