zoukankan      html  css  js  c++  java
  • 约束限制

    #约束条件: 约束条件是在类型之外为字段附加的限制
    强调:
    如果标的类型为innodb存储引擎,那么在创建表时,必须定义一个主键
    如果不指定,innodb存储 引擎会自上而下寻找一个不为空且唯一字段的当做主键
    1.primary key
    设置以后可以加速查询,作为索引,如果没有指定会从上到下找一个不为空且唯一的 就好比 unique not null (不为空且唯一) 如果都没指定就没有主键
    重点!!!
    每个表里必须有一个主键 而且只能出现一次 主键可以联合主键相当于只有一次
    通常primary key 与auto_increment(递增)合用
    2.unique key (字段不能重复)
    ps: create table t25(x char(5) unique);

    2.1 联合唯一
    create table services(
    id int ,
    name char(16),
    port int,
    unique key(ip,port)
    );#意思是两个值结合必须唯一 单独重复 不错

    3设置字段后不能为空
    not null 设置字段后不能为空


    create table dep (
    dep_id int primary key auto_increment,
    dep_name char(10),
    dep_comment char(60)
    );

    create table emp(
    id int primary key auto_increment,
    name char(16),
    gender enum('male','female') not null default 'male',
    dep_id int,
    foreign key(dep_id) references dep(dep_id)
    );

    insert into emp(name,dep_id) values
    ('alex',1),
    ('egon',2),
    ('lxx',1),
    ('wxx',1),
    ('wenzhou',3));
    insert into dep(dep_name,dep_comment) values
    ('教学部','辅导学生学习'),
    ('外交部','辅导学生学习'),
    ('技术部','辅导学生学习');
    delete from tb1;强调此命令趋势可以将表里的所有记录都删掉 但是不会将auto_increment的递增 重置为0 ,此命令主要是删除某条记录的一般用法delete from tb1 where id>10;

    如要清空表 是哟个 truncate 表明 可以重置auto_increament
  • 相关阅读:
    创意吃鱼法
    雅礼上课
    坏掉的项链Broken Necklace
    2018-04-02练习
    【11月12日】Hadoop架构
    【11月10日】Redis 主从复制技术
    【11月10日】Redis 缓存系统常见问题及解决方案
    【11月9日】Redis 持久化
    【11月7日】Redis核心对象和数据类型
    【11月7日】Redis简介
  • 原文地址:https://www.cnblogs.com/LoganY/p/9299754.html
Copyright © 2011-2022 走看看