zoukankan      html  css  js  c++  java
  • mysql完整性约束

    六 完整性约束:
            not null  default:
                    如果单独设置not null ,不能插入空值
                    如果设置了not null, 又指定了default, 可以插入空值, 默认值生效
    
            unique  key:  单列唯一
                    unique(id),
                    unique(name)
                    create table t1(id int not null);
    
            联合唯一:  多行记录中只要有一列字段的值不同就可以, 完全一致不行
                unique(id, name)
    
            primary key : 单列主键  不能为空, 唯一
                化学反应  : not null + unique  //这样设置会显示成PRI  但与设置成primary  不同,
    
    
            联合主键 :create table t9(
                        id int,  
                        name varchar(10),
                        primary key(id,name)
                            );
    
                         一行记录中   id 和name  有一项不同即可
    
    
            auto_increment :  自动增长,默认+一个步长, 数字
                自动增长, 如果删除已经创建的 ID  插入下一条记录时候 依然会增长,  旧的ID仍然占据,
                 再次插入新的数据 时候, ID在最后一条记录的ID上面增长
    
    
            truncate  :  清空表, 删除所有记录, ID  重新插入数据时候, ID 初始化0
                truncate student;  //清单表student
                    清空表区分delete和truncate的区别:
                        delete from t1; #如果有自增id,新增的数据,仍然是以删除前的最后一样作为起始。
                        truncate table t1;数据量大,删除速度比上一条快,且直接从零开始。
    
    
    
    
            起始偏移量:  auto_increment_offset
            步长: auto_increment_increment
            show variables like "auto_inc%";  // 查询可用的开头是quto_inc的词
                set session quto_increment_increment=5; //设置步长,  当次连接中有效,
    
                set global auto_increment_increment=3;   //设置步长是3,  全局配置, 之后都生效
    
                set global auto_increment_offset=3;  //设置起始偏移量 ,起始值3
                tip:  如果auto_increment_offset的值大于auto_increment_increment的值,则auto_increment_offset的值会被忽略
                        设置步长和偏移量之后,需要重登录
    
    
    
            foreign key: 外键 (关联其他表, 的数据, 省空间//)
                constraint 外键名 foreign key((副表)本表字段)  references 主表名(字段)  //这样创建数据不同步,
    
                constraint 外键名 foreign key((副表)本表字段)  references 主表名(字段)
                on delete cascade   //同步删除
                on update cascade  //同步更新
                 三种关系:  一对一
                            一对多
                            多对一
    
  • 相关阅读:
    java定时读取文件
    Java面试:投行的15个多线程和并发面试题(转)
    读取一个文件,给定一个字符串,判断这个字符串在文件中出现的次数
    随机产生10个数,并每个数给定一个序号,然后将这10个数按照从小到大的顺序输出来,并带上序号输出
    找出给定字符串中出现最多的字符和次数
    公司开发部门GIT与SVN 之争
    浅谈Hibernate中的三种数据状态
    MyBatis框架的XML数据访问Dao层接口的组合使用
    浅谈WebLogic和Tomcat
    为什么我们不要 .NET 程序员
  • 原文地址:https://www.cnblogs.com/tcpblog/p/9997739.html
Copyright © 2011-2022 走看看