zoukankan      html  css  js  c++  java
  • 学习Mysql3——约束条件

    • 主键约束

    唯一确定一张表的记录,给某个字段添加约束就可以确认它不为空且唯一

    在定义的参数后添加 primary key

    create table user(
    
      id int(20) primary key,
    
      name varchar
    
    );

    --联合主键 任意一个不为空即可--

    create table user(

      id int(20) ,

      name varchar,

      primary key(id,name)

    ) ;

    可以通过

    alter table user add primary key(id);

    添加主键约束

    可以通过

    alter table user drop primary key(id);

    删除主键约束

    可以通过

    alter table user modify id int primary key;

    添加主键约束

    • 自增约束

    在参数后面加入 auto_increment

    create table usr(
    
      id int(20) primary key auto_increment,
    
      name varchar
    
    );
    • 外键约束

    牵扯到两个表一个子表一个父表,用来做关联

    foreign key()references 表名 ()

    create table father(
       id int primary key,
       name varchar(20)  
    );
    
    create table children(
       id int primary key,
       name varchar(20)  
       foreign key (id) references father(id)   
    );

    主表没有数据值时,副表不可以添加

    例如

    主表

    insert into  father Value("1","father1")

    副表

    insert into  children Value("2","children1")

    插入失败 因为id为2在主表找不到,正确的话只能设置为1

    主表中的数据被引用时,主表数据是不可以删除的

    例如 

    上面的例子要删除主表的数据id等于1是可以的 但是如果副表插入一条数据

    insert into children value(“1”,“children”)

    这样主表就删除不了数据了

    • 唯一约束

    修饰该字段不可以重复

    alter table user add unique(id);
    
    create table user(
       name varchar(20) unique
    );
    唯一约束其中一个不重复即可
    create table user( name varchar(20),
      id int,
    unique(name,id) );
    • 非空约束

    值不能传空

    not null

    和上述的约束用法相似

    • 默认约束

    插入没有传值就会传默认值

    default + 默认值

    和上述的约束用法相似

  • 相关阅读:
    我爬取了爬虫岗位薪资,分析后发现爬虫真香
    红薯,撑起父亲的快乐,让我揪心
    跨域问题服务端解决办法 Request header field Authorization is not allowed by Access-Control-Allow-Headers
    antdvue2.x 使用阿里iconfont自定义组件iconfont
    前端 crypto-js aes 加解密
    jsencrypt加密解密字符串
    CryptoJS base64使用方法
    客户端js生成rsa 密钥对
    js动态添加style样式
    PHP 使用非对称加密算法(RSA)
  • 原文地址:https://www.cnblogs.com/wazy999/p/12776265.html
Copyright © 2011-2022 走看看