MySql 表结构修改、约束条件、表关系

表结构修改(alter)

  • 查看表的结构:desc 表名;
  • 修改表名:alter table 表名 rename to 新表名;
  • 修改字段名:alter table 表名 change 旧字段名 新字段名 数据类型;
  • 修改字段类型:alter table 表名 modify 字段名 数据类型;
  • 添加字段:alter table 表名 add [column] 新字段 数据类型;
  • 删除字段:alter table 表名 drop [column] 字段名;

约束条件

约束是一种限制,经过对表中的数据作出限制,来确保表中数据的完整性,惟一性

  • 默认约束(default)
    • 插入数据的时候,若是没有明确为字段赋值,则自动赋予默认值
    • 在没有设置默认值的状况下,默认值为NULL
  • 非空约束(not null)
    • 限制一个字段的值不能为空,insert的时候必须为该字段赋值
    • 空字符不等于NULL
  • 惟一约束(unique key)
    • 限制一个字段的值不重复,该字段的数据不能出现重复的
    • 确保字段中值的惟一
  • 主键约束(primary key)
    • 一般每张表都须要一个主键来体现惟一性,每张表里面只能有一个主键
    • 主键 = 非空 + 惟一
  • 自增加约束(auto_increment)
    • 自动编号,和主键组合使用,一个表里面只能有一个自增加
    • auto_increment 要求用在主键上
    • id int primary key auto_increment,
    • 或者
    • id int auto_increment , primary key(id)
    • 若是不想默认从1开始,从1000开始
    • ...(id int primary key auto_increment)auto_increment=1000;
  • 外键约束(foreign key)
    • 保持数据的一致性,我有的你必定有,你没有的,我绝对没有
    • foreign key (id_b) references a(id_a)

表关系

  • 一对一
    • 用外键的方式,把两个表的主键关联
  • 一对多
    • 经过外键关联来实现这种关系
  • 多对多
    • 对于多对多关系,须要建立中间表实现
    • 例如学生选课
    • 选课表(中间表)的学生id和课程id分别是学生表和课程表的外键
相关文章
相关标签/搜索