数据库 - 字段属性

主键 – 唯一键和自增长

主键

增加主键
大体分为三种增加主键的方式:
方案一:

高清图:

方案二:有多个字段作为主键可以是复合主键。

方案三:

主键约束
创建约束的目的就是保证数据的完整性和一致性

主键对应的字段中的数据必须唯一,且不能为NULL, 一旦重复,数据操作失败(增和改)

建议主键使用数字类型,因为数字的检索速度非常快,并且主键如果是数字类型,还可以设置自动增长,主键的原理其实就是一个计数器

更新主键 and 删除主键
没有办法来更新主键,主键必须先删除,才能增加
Alter table 表名 drop primary key;

主键分类 - 逻辑主键


自动增长

新增自增长
自增长的特点:

  • 任何一个字段要做自增长必须前提是本身是一个索引(key一栏有值 - 像之前的key那一栏中主键的话,),auto_increment表示自动编号
  • 自增长字段必须是数字(整型)
  • 一张表最多只能有一个自增长

自增长的使用

当自增长被给定的值为NULL或者默认值的时候会触发自动增长

先建立一张自增长表

切记:在每次书写语句以后,在最后一句后面不用添加逗号,直接用小括号加上分号结束即可。

当自增长被给定的值为NULL或者默认值的时候会触发自动增长.


自增长如果对应的字段输入了值,那么自增长失效,但是下一次还是能够正确的自增长,(最大值 + 1)

删除自增长
自增长是字段的一个属性,可以通过modify 来进行修改(保证字段没有auto_increment即可)
Alter table 表名 modify 字段 类型;

唯一键

一张表往往有很多字段需要具有唯一性,数据不能重复: 但是一张表中只能有一个主键: 唯一键(unique key)就可以解决表中有多个字段需要唯一性约束的问题.
一张表只有一个主键,但是可以有很多的唯一键。

唯一键的本质与主键差不多: 唯一键默认的允许自动为空,而且可以多个为空(空字段不参与唯一性比较)

添加唯一键的三种方案:基本与主键差不多!

  • 在创建表的时候,字段之后直接跟上 unique / unique key
  • 在所有的字段都添加之后,增加unique key(字段列表) – 复合唯一 键
  • 在创建表之后增加唯一键
    (alter table 表名 add unique key(列名);)

唯一键约束
唯一键与主键本质相同: 唯一的区别就是唯一键默认允许为空,而且是多个为空.
一般在设置主键以后,自己自己添加自增长。
如果唯一键也不允许为空: 与主键的约束作用是一致的.
如果唯一键也不允许为空: 与主键的约束作用是一致的.

更新唯一键 & 删除唯一键

外键

外键:即外面的键:键不在自己表中,如果一张表中有一个字段(非主键)指向另外一张表的主键,那么该字段称之为外键。

增加外键

reference 提及,谈到

!!! 在命令行书写时,我们的注释 – 后面需要空出一格来!

数据库 - 字段属性相关推荐

  1. java获取spring注解的实体_Spring 注解实体类中非数据库字段属性

    今天要给一个实体类添加一个List集合属性! private List childList = new ArrayList(); 写完后get/set方法一写,启动就报错: org.hibernate ...

  2. 数据库字段属性配置工具界面[用于代码生成]

    在CodeSmith中为了实现对数据库中表字段的选择和针对字段来设置属性,决定用XML文件作为中间数据的交换方式,在CodeSmith中读取数据库对象的信息不再使用SchemaExplorer来读取, ...

  3. SpringCloud工作笔记103---Mybatis-plus使用注解 @TableField(exist = false) 注明非数据库字段属性

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 Mybatis-plus 这个mybatis包,可以使用,挺不错. TableField(exis ...

  4. 数据库字段属性的详解

    好比C++中,定义int类型需要多少字节,定义double类型需要多少字节一样,MySQL对表每个列中的数据也会实行严格控制,这是数据驱动应用程序成功的关键.M前言 好比C++中,定义int类型需要多 ...

  5. Mybatis-plus使用注解 @TableField(exist = false) 注明非数据库字段属性

    @TableField(exist = false) 注解加载bean属性上,表示当前属性不是数据库的字段,但在项目中必须使用,这样在新增等使用bean的时候,mybatis-plus就会忽略这个,不 ...

  6. 注解 @TableField(exist = false) 注明非数据库字段属性

    1.需求 要查询的数据增加一个字段,这个字段不是数据库中的字段,而是自己添加的字段. 2.解析 一般情况下,我们需要通过映射来解决 但是在mybatis-plus中已经帮我们做好了映射,但是新的字段并 ...

  7. 初识mysql数据字段属性_MySQL数据库~~~~初识、基础数据类型

    一 数据库初识 1.1 什么是数据库 数据库(DataBase,简称DB),简而言之可视为电子化的文件柜----存储电子文件的处所,用户可以对文件中的数据运行新增,截取,更新,删除等操作. 所谓数据库 ...

  8. 为 Analysis Services 数据库使用扩展字段属性(SQL Server 2005 联机丛书(2008 年 11 月))...

    SQL Server Analysis Services 数据处理扩展插件支持扩展字段属性.扩展字段属性是除字段属性 Value 和 IsMissing 之外的属性,可用于数据源并受数据处理扩展插件支 ...

  9. 数据库的字段属性(重点)

    数据库的字段属性(重点) Unsigned: 无符号的整数 声明了该列不能为负数 zerofill: 0填充的 不足的位数使用0来填充 int(3) 5 -->(005) 50–>(050 ...

最新文章

  1. Java中的访问控制权限
  2. Java数据结构和算法(四)——栈
  3. 信息系统项目管理师教材【下载PDF】
  4. 修改默认的pip版本为对应python2.7
  5. 再推荐一个安全的好软件
  6. [Tesseract]Tesseract 在 Visual Studio 2012 中的配置及调用
  7. Delphi XE2 之 FireMonkey 入门(20) - TStyleBook(皮肤、样式相关)
  8. js中调用vue中的方法
  9. 【中学】寻找阿姆斯特朗数
  10. 利用python绘制科赫雪花
  11. 施工部署主要不包括_施工部署编制内容不包括( )_学小易找答案
  12. 新手村-数组-P2141 珠心算测验
  13. CentOS7常见问题
  14. python识别条形码_用 Python 和 OpenCV 检测图片上的条形码
  15. Kubernetes1.3:QoS服务质量管理
  16. 购买虚拟服务器费用入什么科目,购买的云服务器费用入什么科目
  17. echarts实现中国地图(Vue)
  18. 开关电源模块并联供电系统_引起电源模块发热的四大原因
  19. 什么是缓存雪崩?服务器雪崩的场景与解决方案
  20. 精度高0-10V转0-100MA/200MA/300MA/线性驱动隔离器

热门文章

  1. [转]金属加工工艺基础知识
  2. KATKO KEM640U开关
  3. 基于CocosCreator的切水果小游戏(二)
  4. 计组-CISC与RISC
  5. Python调用百度AI接口体验人像动漫化
  6. 193页PPT读懂《数字化转型方法论》,强烈建议收藏!
  7. HDU 4417 Super Mario(离线线段树or树状数组)
  8. Python基于PyTorch实现BP神经网络ANN分类模型项目实战
  9. python地图匹配_基于隐马尔科夫模型(HMM)的地图匹配(Map-Matching)算法
  10. python200行代码_200行Python代码实现2048