数据库 - 字段属性
数据库 - 字段属性
主键 – 唯一键和自增长
主键
增加主键
大体分为三种增加主键的方式:
方案一:
高清图:
方案二:有多个字段作为主键可以是复合主键。
方案三:
主键约束
创建约束的目的就是保证数据的完整性和一致性。
主键对应的字段中的数据必须唯一,且不能为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 提及,谈到
!!! 在命令行书写时,我们的注释 – 后面需要空出一格来!
数据库 - 字段属性相关推荐
- java获取spring注解的实体_Spring 注解实体类中非数据库字段属性
今天要给一个实体类添加一个List集合属性! private List childList = new ArrayList(); 写完后get/set方法一写,启动就报错: org.hibernate ...
- 数据库字段属性配置工具界面[用于代码生成]
在CodeSmith中为了实现对数据库中表字段的选择和针对字段来设置属性,决定用XML文件作为中间数据的交换方式,在CodeSmith中读取数据库对象的信息不再使用SchemaExplorer来读取, ...
- SpringCloud工作笔记103---Mybatis-plus使用注解 @TableField(exist = false) 注明非数据库字段属性
技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 Mybatis-plus 这个mybatis包,可以使用,挺不错. TableField(exis ...
- 数据库字段属性的详解
好比C++中,定义int类型需要多少字节,定义double类型需要多少字节一样,MySQL对表每个列中的数据也会实行严格控制,这是数据驱动应用程序成功的关键.M前言 好比C++中,定义int类型需要多 ...
- Mybatis-plus使用注解 @TableField(exist = false) 注明非数据库字段属性
@TableField(exist = false) 注解加载bean属性上,表示当前属性不是数据库的字段,但在项目中必须使用,这样在新增等使用bean的时候,mybatis-plus就会忽略这个,不 ...
- 注解 @TableField(exist = false) 注明非数据库字段属性
1.需求 要查询的数据增加一个字段,这个字段不是数据库中的字段,而是自己添加的字段. 2.解析 一般情况下,我们需要通过映射来解决 但是在mybatis-plus中已经帮我们做好了映射,但是新的字段并 ...
- 初识mysql数据字段属性_MySQL数据库~~~~初识、基础数据类型
一 数据库初识 1.1 什么是数据库 数据库(DataBase,简称DB),简而言之可视为电子化的文件柜----存储电子文件的处所,用户可以对文件中的数据运行新增,截取,更新,删除等操作. 所谓数据库 ...
- 为 Analysis Services 数据库使用扩展字段属性(SQL Server 2005 联机丛书(2008 年 11 月))...
SQL Server Analysis Services 数据处理扩展插件支持扩展字段属性.扩展字段属性是除字段属性 Value 和 IsMissing 之外的属性,可用于数据源并受数据处理扩展插件支 ...
- 数据库的字段属性(重点)
数据库的字段属性(重点) Unsigned: 无符号的整数 声明了该列不能为负数 zerofill: 0填充的 不足的位数使用0来填充 int(3) 5 -->(005) 50–>(050 ...
最新文章
- Java中的访问控制权限
- Java数据结构和算法(四)——栈
- 信息系统项目管理师教材【下载PDF】
- 修改默认的pip版本为对应python2.7
- 再推荐一个安全的好软件
- [Tesseract]Tesseract 在 Visual Studio 2012 中的配置及调用
- Delphi XE2 之 FireMonkey 入门(20) - TStyleBook(皮肤、样式相关)
- js中调用vue中的方法
- 【中学】寻找阿姆斯特朗数
- 利用python绘制科赫雪花
- 施工部署主要不包括_施工部署编制内容不包括( )_学小易找答案
- 新手村-数组-P2141 珠心算测验
- CentOS7常见问题
- python识别条形码_用 Python 和 OpenCV 检测图片上的条形码
- Kubernetes1.3:QoS服务质量管理
- 购买虚拟服务器费用入什么科目,购买的云服务器费用入什么科目
- echarts实现中国地图(Vue)
- 开关电源模块并联供电系统_引起电源模块发热的四大原因
- 什么是缓存雪崩?服务器雪崩的场景与解决方案
- 精度高0-10V转0-100MA/200MA/300MA/线性驱动隔离器
热门文章
- [转]金属加工工艺基础知识
- KATKO KEM640U开关
- 基于CocosCreator的切水果小游戏(二)
- 计组-CISC与RISC
- Python调用百度AI接口体验人像动漫化
- 193页PPT读懂《数字化转型方法论》,强烈建议收藏!
- HDU 4417 Super Mario(离线线段树or树状数组)
- Python基于PyTorch实现BP神经网络ANN分类模型项目实战
- python地图匹配_基于隐马尔科夫模型(HMM)的地图匹配(Map-Matching)算法
- python200行代码_200行Python代码实现2048