【MySQL数据库】表的操作汇总

前言

MySQL数据库对表的操作错综复杂,而网上的文章鱼龙混杂,故写此文章来总结MySQL中表操作的所有细节


一、表的创建和删除(ps:基本结构)

1.表的创建

 如上图所示,我们创建一个表。对于表的存储引擎,字符格式不说明即为默认,如特别说明的话后面带个engine=innodb default charset=utf8。

2.表的结构

 表的结构如图所示,从左至右依次为:字段名字,字段类型,是否允许为空,索引类型,默认值,补充。(这里也没啥好讲的)

3.修改表

修改表操作(无非也就几种修改):1修改表名、2修改字段名,3增加字段,4删除字段,5调整字段类型

首先开头都是alter table xxx,后面根据操作不同而不同1.rename to yyy2.change name xingming varchar(60)3.add sex char(2) after name(ps:这里可以选择将新增字段放在哪个后面,默认为最后)4.drop xxx  5.modify name varchar(70)

注意:修改表结构看似很简单顺手,但是一般不到万不得已是不会改的,会导致表的数据不匹配等诸多问题,在项目中表的结构一但定义就要定义完美。

3.删除表

一句话 so easy

 

二、表的约束

1.NULL值:这里需要注意的是,在MySQL中null和“ ”以及0是完全不同的含义

在创建表的时候有些字段就要定义非空,插入数据时非空字段不得为空。

2.默认值

在给表插入数据时,有些字段不给值,但有默认值时,MySQL会自动帮我们添加默认值

 

3.列描述:其实就是添加个注释(comment)

4.zerofill(只针对数字类型,位数不够自动补零)

 5.主键(不为空+唯一性)

主键约束:主键对应的字段中不能重复,一旦重复,操作失败。

当表创建好以后但是没有主键的时候,可以再次追加主键

如果表中需要创建多个主键,需创建复合主键

 6.自增长(auto_increment)

当对应的字段,不给值,会自动的被系统触发,系统会从当前字段中已经有的最大值+1操作

任何一个字段要做自增长,前提是本身是一个索引(key一栏有值)

自增长字段必须是整数

一张表最多只能有一个自增长

7.唯一键(unique)

其实我感觉唯一键很简单,就是确立表字段数据的唯一性,即插入数据时不可重复。

和主键区别:可以为null值

8.外键(foreign key)

 

外键约束(与外键不完全相同):建立外键的本质其实就是把相关性交给mysql去审核了,提前告诉mysql表之间的约束关系(外键),那么当用户插入不符合业务逻辑的数据的时候,mysql不允许你插入。

ps:我自己在Linux环境下建立外键时,字符串类型一直不成功,所以还是建议主键外键都要为数字型。
 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值