当前位置:网站首页>MySQL学习笔记-----Navicat设置建表

MySQL学习笔记-----Navicat设置建表

2022-11-24 21:30:08Royalreairman

1.数据库字段设置

id       主要设置有bigint 和int两种  长度一般都是20

字符  主要设置 varchar   长度 我一般设置 255 

时间  主要是设置为timestamp   混合日期和时间值,时间戳 ,建议在java端的DTO或者request设置时间格式

判断状态 比如mybatis-plus的逻辑删除  建议设置为tinyint 长度为1 就行

大文本 text一般都够用了

 2.利用Navicat建库

 

字符集建议设置成utf8m64, 

排序规则:

utf8_general_ci:不缺分大小写,核对速度快,准确度稍差

utf8_general_cs:区分大小写

utf8_bin:字符串每个字符串用二进制数据编译存储。 区分大小写,而且可以存二进制的内容

utf8_unicode_ci:准确度高,但校对速度稍慢

3.利用Navicat建表

主键id一定要把自增加上,不然在插入时候会报错 一张表必须有主键,

建议把字段的注释写上,

 

表注释 

 

4.用Navicat设置约束(索引) 

假设我们表中的邮箱email不能重复的

UNIQUE:唯一,用于保证该字段的值具有唯一性,可以为空。例如注册用户的手机号,身份证号等。(唯一经常用)

FULLTEXT:全文索引 表示全文收索,在检索长文本的时候,效果最好,短文本建议使用Index,但是在检索的时候数据量比较大的时候,现将数据放入一个没有全局索引的表中,然后在用Create Index创建的FULLTEXT索引,要比先为一张表建立FULLTEXT然后在写入数据要快的很多 

NORMAL :普通索引 表示普通索引,大多数情况下都可以使用

SPATIAL :空间索引 空间索引是对空间数据类型的字段建立的索引,MYSQL中的空间数据类型有4种,分别是GEOMETRY、POINT、LINESTRING、POLYGON。MYSQL使用SPATIAL关键字进行扩展,使得能够用于创建正规索引类型的语法创建空间索引。创建空间索引的列,必须将其声明为NOT NULL,空间索引只能在存储引擎为MYISAM的表中创建

索引方法:有BTREE和HASH选择,我一般用BTREE,

 最后一句别忘了写注释

5.设置字段默认值

6.设置自动增长初始值

alter table  表名AUTO_INCREMENT 2000; 

7.设置外键(可以用于权限设置比较)

 1.cascade方式
在父表上update/delete记录时,同步update/delete掉子表的匹配记录
2.set null方式
在父表上update/delete记录时,将子表上匹配记录的列设为null
要注意子表的外键列不能为not nul川
3.No action方式
如果子表中有西配的记录,则不允许对父表对迹侯选键进行update/delete操作
4.Restrict方式
同no action,都是立即检查外键约束
5.Set default方式
父表有变更时,子表将外键列设置成一个默认的值但nnodb不能识别

原网站

版权声明
本文为[Royalreairman]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_42847719/article/details/127991349

随机推荐