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填充

  • 相关阅读:
    分析问题的方法
    听听冯洛伊曼的概念机器的齿轮声
    Nginx支持WebSocket配置
    原型模式
    redis日志位置
    修改centos7远程端口和nginx安全设置
    Java输出小端二进制文件
    centos7安装Java8
    Nginx教程
    centos7.6安装postgresql10
  • 原文地址:https://www.cnblogs.com/shijieli/p/10344424.html
Copyright © 2011-2022 走看看