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


    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不能识别

  • 相关阅读:
    七、鼎捷T100应收帐款之期末帐务处理
    Django环境搭建及创建_注册子应用
    数据结构--快速排序
    二十三种设计模式全面解析-适配器模式的妙用:异构数据库和不同版本API的完美兼容!
    Mybatis学习笔记1 Mybatis入门
    java编程基础总结——29.多线程编程
    Linux-基本指令03
    学习 Rust 的第十天:枚举和模式匹配
    Women of Polkadot:波卡生态的女性社群与创新力量
    报错:The supplied javaHome seems to be invalid. I cannot find the java executable
  • 原文地址:https://blog.csdn.net/qq_42847719/article/details/127991349