zoukankan      html  css  js  c++  java
  • 5.5 数据库约束

     数据库约束

    目的

      为保证数据的完整性和一致性,内置了以下的可选约束属性

    PRIMARY KEY (PK)

      标识该字段为该表的主键,可以唯一的标识记录

      不可为空 

      单表只存在一个主键,通常用 id 自增作为主键 

    FOREIGN KEY (FK)

       标识该字段为该表的外键

    create table emp_info(
    id int primary key auto_increment,
    name varchar(20),
    dep_id int,
    constraint FK_depid_id foreign key(dep_id) references dep(id) #references :关联
    on delete cascade    #关联的表删了,被关联的表也删了
    on update cascade    #关联的表修改了,被关联的表也修改了
    );

    NOT NULL

      标识该字段不能为空,

      默认允许为空 

    UNIQUE KEY (UK)

       标识该字段的值是唯一

       可设置多字段联合唯一

    constraint host_port unique(字段1,字段2)

    AUTO_INCREMENT

       标识该字段的值自动增长(整数类型,而且为主键

       可设置起始值 ( auto_increment 以及偏移量 (auto_increment_increment 

    ================设置自增的时候以10开头
    create table dep1(
    id int primary key auto_increment,
    name char(10)
    )auto_increment = 10;
    insert into dep1(name) values('IT'),('HR'),('EFO');
    select * from dep1;
    ===============auto_increment_increment:自增步长
    create table dep3(
    id int primary key auto_increment,
     name char(10)
    );
    会话:通过客户端连到服务端(一次链接称为一次会话)
    set session auto_increment_increment = 2; #会话级,只对当前会话有效
    set global auto_increment_increment=2; #全局,对所有的会话都有效
    insert into dep3(name) values('IT'),('HR'),('SALE'),('Boss');

    DEFAULT

       为该字段设置默认值

       默认值是NULL

    UNSIGNED

      无符号

      即必须为正值

    ZEROFILL

      使用0填充

  • 相关阅读:
    spark基础(1)
    Homebrew的使用教程,镜像源的推荐,安装软件的方法
    Scala Trait(特征)
    P5308 [COCI2019] Quiz
    Vjudge contest 425291
    Vjudge contest 424925
    AT3558 Modern Painting
    Vjudge contest 425061
    Vjudge contest 423849
    Codeforces Round 704
  • 原文地址:https://www.cnblogs.com/shijieli/p/10344424.html
Copyright © 2011-2022 走看看