mysql之列属性全篇(null,默认值,列描述,主键,唯一键和自动增长)

三相电机控制中的端电压、相电压与线电压波形解析 本文深入解析了三相电机控制中端电压、相电压与线电压的核心概念与波形差异。通过对比方波控制、SPWM和SVPWM三种主流控制策略下的实测波形特征,揭示了不同控制逻辑对电压波形(如梯形波、正弦波、马鞍波)的影响。文章重点阐述了SVPWM控制如何通过生成马鞍波形端电压来提高直流母线电压利用率,并提供了实用的波形测量与调试指南,帮助工程师深入理解电机控制原理并进行有效调试。 阅读详情

列属性又称之为字段属性,在mysql中一共有6个属性:null,默认值,列描述,主键,唯一键和自动增长列属性又称之为字段属性,在mysql中一共有6个属性:null,默认值,列描述,主键,唯一键和自动增长是其它几篇的合篇

Null属性

NULL属性:代表字段为空

 

如果对应的值为YES表示该字段可以为NULL,如下许多字段默认都可以为null,下面的d4是timestamp类型不能为null,

插入null时会自动插入当前时间

注意:

1、 在设计表的时候,尽量不要让数据为空(设计时在类型后加not null即可)

2、 Mysql的记录长度为65535个字节,如果一个表中有字段允许为NULL,那么系统就会设计保留一个字节来存储NULL,最终有效存储长度为65534个字节。

默认值

Default:默认值,当字段被设计的时候,如果允许默认条件下,用户不进行数据的插入,那么就可以使用事先准备好的数据来填充:通常填充的是NULL

 

测试:不给当前字段提供数据值

 

没有填充的字段显示为默认值18

Default关键字的另外一层使用:显示的告知字段使用默认值:在进行数据插入的时候,对字段值直接使用default

 

列描述

列描述:comment,是专门用于给开发人员进行维护的一个注释说明

基本语法:comment ‘字段描述’;

查看Comment:必须通过查看表创建语句

主键

顾名思义:主要的键,primary key,在一张表中,有且只有一个字段,里面的值具有唯一性

创建主键

随表创建

系统提供了两种增加主键的方式

1、 方案1:直接在需要当做主键的字段之后,增加primary key属性来确定主键

2、 方案2:在所有字段之后增加primary key选项:primary key(字段信息)

表后增加

基本语法:alter table 表名 add primary key(字段);

查看主键

方案1:查看表结构

语法:desc 表名;

方案2:查看表的创建语句

show create table 表名;

删除主键

基本语法:alter table 表名 drop primary key;

复合主键

案例:有一张学生选修课表:一个学生可以选修多个选修课,一个选修课也可以由多个学生来选:但是一个学生在一个选修课中只有一个成绩。

创建表并定义复合主键

插入数据:

复合主键的组合不能完全一样,比如小明不可能在历史考试中考了100分与59分!!

主键约束

主键一旦增加,那么对对应的字段有数据要求

1、 当前字段对应的数据不能为空;

2、 当前字段对应的数据不能有任何重复

 

主键分类

主键分类采用的是主键所对应的字段的业务意义分类

业务主键:主键所在的字段,具有业务意义(学生ID,课程ID)

逻辑主键:自然增长的整型(应用广泛)

 

自动增长

自动增长:auto_increment,当给定某个字段该属性之后,该列的数据在没有提供确定数据的时候,系统会根据之前已经存在的数据进行自动增加后,填充数据。

通常自动增长用于逻辑主键。

原理

自动增长的原理:

1、 在系统中有维护一组数据,用来保存当前使用了自动增长属性的字段,记住当前对应的数据值,再给定一个指定的步长

2、 当用户进行数据插入的时候,如果没有给定值,系统在原始值上再加上步长变成新的数据

3、 自动增长的触发:给定属性的字段没有提供值

4、 自动增长只适用于数值

使用自动增长(自动增长的列必须是个key,主键外键唯一键都行,且一张表只有能有一个自增长的字段(列))

基本语法:在字段之后增加一个属性auto_increment

插入数据:触发自动增长,不能给定具体值

 

修改自动增长

1、 查看自增长:自增长一旦触发使用之后,会自动的在表选项中增加一个选项(一张表最多只能拥有一个自增长)

另外几个表选项前面讲了,还多出了个 auto_increment=2:意思就是下次不向自增长列插入指定数值(如null)的话就插入2

注:可以像前面修改字符集那样修改自增长的值,但是自增长的值必须大于当前自增长列最大值,否则修改无效

2、 表选项可以通过修改表结构来实现

Alter table 表名 auto_increment = 值;

 

此时我再插入数据,自增长的值本应该为2变为了8

删除自动增长

删除自增长:就是在字段属性之后不再保留auto_increment,当用户修改自增长所在字段时,如果没有看到auto_increment属性,系统会自动清除该自增长

 

初始设置

在系统中,有一组变量用来维护自增长的初始值和步长

Show variables like ‘auto_increment%’;

第一个1为增量,第二个1为初始值

唯一键(唯一键是索引一种)

 

唯一键:unique key,用来保证对应的字段中的数据唯一的

 

主键也可以用来保证字段数据唯一性,但是一张表只有一个主键。

1、 唯一键在一张表中可以有多个。

2、 唯一键允许字段数据为NULL,NULL可以有多个(NULL不参与比较)

创建唯一键

创建唯一键与创建主键非常类似

1、 直接在表字段之后增加唯一键标识符:unique[ key]

2、 在所有的字段之后使用unique key(字段列表);

3、 在创建完表之后也可以增加唯一键
alter table 表名 add unique key(字段列表);

这里只演示第2种

 

查看唯一键

唯一键是属性,可以通过查看表结构来实现

desc 表名(上图中已查看)

唯一键效果:在不为空的情况下,不允许重复

在查看表创建语句的时候,会看到与主键不同的一点:多出一个“licenseId”

为什么唯一键创立后会自动创建一个名字?其实是索引,后续文章会讲解索引

删除唯一键

一个表中允许存在多个唯一键:假设命令为主键一样:alter table 表名 drop unique key;//错误的

Index关键字:索引,唯一键是索引一种(提升查询效率)

删除的基本语法:alter table 表名 drop index 唯一键名字;

 

修改唯一键:先删除后增加

 

复合唯一键

唯一键与主键一样可以使用多个字段来共同保证唯一性;

一般主键都是单一字段(逻辑主键),而其他需要唯一性的内容都是由唯一键来处理。

 

05 - matlab m_map地学绘图工具基础函数 - 设置比例尺指北针 本篇介绍下m_map中添加指北针(m_northarrow)、比例尺(m_ruler)和进行比例缩放(m_scale)的函数及其用法 。提供了 示例以便参考,罗列了 各函数可设属性。希望对绘图的你有所帮助。 阅读详情

相关推荐

SwissADME:一款在线预测小分子药动学性质的工具

是一个免费的在线工具,由瑞士生物信息学研究所(SIB)开发,用于预测和分析小分子的药物相似性、理化性质、药代动力学特性以及合成可行性等。它是药物设计和开发中常用的工具之一,帮助研究人员快速评估化合物的成药潜力。

药研猿的博客 5020

Mysql 唯一索引的字段值 允许多个NULL值存在吗

MYSQL 引擎innodb ,设置了唯一索引的列值 允许 多个NULL值存在。 示例: 字段 userCardNum 添加了唯一索引 证实是允许存在的多个NULL值数据的: 原由: 因为这里 NULL 的定义 ,是指 未知值。 所以多个 NULL ,都是未知的,不能说它们是相等的,也不能说是不等,就是未知的。所以多个NULL的存在是不违反唯一约束的。 ...

默默不代表沉默 1万+

从零到一:RT-Thread与W5500的硬件抽象层设计哲学与实践启示

本文深入探讨了RT-Thread操作系统下W5500以太网模块的硬件抽象层(HAL)设计哲学与实践。通过GD32F103和STM32F103平台的适配案例,详细阐述了如何利用RT-Thread的驱动框架实现跨平台硬件无关性、模块化设计及配置定制,为嵌入式开发者提供了可复用的HAL设计方法论和实战经验。

7z8x2c4v6b9的博客 198

mysql常用的数据类型默认值

DATETIME: 默认值'0000-00-00 00:00:00'GEOMETRYCOLLECTION: 默认值 NULL。MULTILINESTRING: 默认值 NULL。VARBINARY: 默认值空字符串('')MULTIPOLYGON: 默认值 NULL。DATE: 默认值'0000-00-00'VARCHAR: 默认值空字符串('')MEDIUMTEXT: 默认值 NULL。MEDIUMBLOB: 默认值 NULL。TIME: 默认值'00:00:00'BINARY: 默认值空字符串('')

sally_ltd的博客 4718

点云直线检测-3DLineDetection复现

点云直线分割-Fast 3D line detection

阁楼 8156

FreeSWITCH视频通话实战:关键配置文件解析与编解码优化

本文详细解析了FreeSWITCH视频通话实战中的关键配置,重点介绍了如何通过修改`conf/vars.xml`和`sip_profiles/internal.xml`文件来启用媒体代理、优化编解码器设置(如H.264和VP8),并解决常见的视频流协商与网络穿透问题,帮助用户快速实现稳定、高质量的视频通话功能。

js777的博客 256

mysql索引长度

在utf8编码方式下,一个字符占3个字节。 如果索引字段可以为null,MySQL会使用1个字节标识。 如果索引字段的类型长度可变,MySQL会使用2个字节标识。 如果索引字段的类型长度可变,并且可以为null,MySQL会使用1+2=3个字节标识 ...

我知道你是高手的博客 766

Python 陌生代码库阅读之道:从零起步到一周掌控 5 万行老项目的实战策略

文中特别强调"自顶向下+画图+注释"的基础阅读心法,并提供了具体的代码示例和命令行技巧。对于大型项目,建议先建立核心流程的骨架认知,再逐步填充细节,同时注重文档化和测试覆盖率的提升。 掌握这套方法后,开发者可以将陌生代码库的阅读效率提升3倍以上,在一周内建立起对5万行级别项目的整体掌控力。

铭渊老黄 507

数据库 笔记

一次仅查询30条记录,避免因为数据庞大导致系统过度的资源开销,已经更慢的传输速度。例如:学生与班级表,学生表中有一个字段class_id保存着class表主键id字段的值.此时class_id字段就是外键字段.因此班级表与学生表存在一对多的关系,即:班级表的一条记录可以对应学生表的多条记录.例如:学生与班级表,学生表中有一个字段class_id保存着class表主键id字段的值.此时class_id字段就是外键字段.因此班级表与学生表存在一对多的关系,即:班级表的一条记录可以对应学生表的多条记录.

Nancy_0802的博客 678

Ubuntu24.04安装搜狗输入法详细教程

本章教程,介绍如何在Ubuntu24.04版本操作系统上安装搜狗输入法。

猿小白的博客 1万+

2020计算机专业保研夏令营面经:中科院计算所网数机试题目

计算所网络数据科学与技术重点实验室的第一阶段是机试。机试不限程序语言,要求提交源代码。

乔卿的博客 2957

cmd进入mysql及常用操作总结,详细版+举例~

目录 SQL操作 1、连接数据库 2、库操作 2.1 创建数据库的SQL语句格式: 2.2 查看数据库的SQL语句格式: 2.3 删除数据库SQL语句格式 2.4 选择数据库的SQL语句格式 2.5 查看数据库下的表列表SQL语句格式 3、表操作 3.1、创建表 3.2、查看表 3.3、修改表 3.4、查询表 4、数据库中数据处理的SQL 4.1 插入数据的SQL SQL操作 1、连接数据库 第一步:win+R,输入cmd,打开cmd窗口; 第二步:通过输入“net .

quwenjing_blog 3万+

【ArcGIS风暴】ArcGIS 10.2导入Excel数据X、Y坐标(经纬度、平面坐标),生成Shapefile点数据图层

用过CASS的人都知道,野外数字测图得到的点数据(平面坐标)可以直接导入到CASS中,进一步绘制地形图。那么,带有坐标的数据能不能在ArcGIS中实现点图层的生成呢?答案是必须的! 本文以气象台站shp数据的生成为例,详细介绍ArcGIS 10.2中导入X、Y坐标(这里指的是经度、纬度),生成Shapefile点数据的流程。 相关阅读:《全站仪、RTK测量坐标数据在CASS和ArcGIS中展点的区别和联系》 目录 1、数据准备 2、添加X、Y数据 3、属性表连接(Join) 4、导出为Sh.

智慧空间实验室 10万+

【MySQL】MySQL表的约束-空属性/默认值/列属性/zerofill/主键/自增长/唯一键/外键

本文介绍了mysql中表的约束--空属性/默认值/列属性/zerofill/主键/自增长/唯一键/外键

qq_67582098的博客 3316

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

【MySQL】表的约束——空属性、默认值、列描述、zerofill、主键、自增长、唯一键、外键

MySQL、表的约束、空属性、默认值、列描述、zerofill、主键、自增长、唯一键、外键

Crocodile1006的博客 2774

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

MySQL中表的约束(非空 not null、默认值default、列描述comment、zerofill显示属性、主键约束、删除主键、创建主键、自增长auto-increment、唯一键、外键)

文章目录1.表的约束1.1 非空属性 not null1.2 默认值1.3 列描述1.4 zerofill显示属性1.5 主键1.5.1 创建表的时候设置主键1.5.2 主键约束1.5.3 表创建好之后,追加主键1.5.4 删除主键1.6 自增长1.7 唯一键1.8 外键 1.表的约束 在MySQL中真正约束字段的是数据类型,如果想要更好的保证数据的合法性,就需要一些额外的约束,比如身份证号我们就...

zhao_miao的博客 7066

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

MYSQL学习笔记06:列属性[NULL,default,comment],主键,自增长,唯一键,数据库设计规范[范式(1NF,2NF,3NF),逆规范化],表关系[1V1,1VN,NVN]

列属性 列属性又称为字段属性. 在mysql中一共有6个属性:null,默认值,列描述,主键,唯一键和自增长. NULL属性 NULL属性代表字段为空. 如果对应的值为yes表示该字段允许为null, 注意: 1. 设计表的时候尽量不要让数据为空. 2. mysql记录长度为65535字节,如果一个表中有字段允许为null,那么系统就会设计保留1个字节来存储null,最终有效存...

ishenjiaming的博客 1万+

07-MySQL的列属性--列属性概述+空属性null+列描述comment+默认值default+主键primary key+自动增长auto_increment+唯一键unique key+索引

一、列属性概述 1、真正约束字段的是数据类型,但数据类型的约束很单一,需要一些额外的约束,来更加保证数据的合法性 2、属性是描述表中字段的,一开始就定义好了,不是使用过程中才有的 3、列属性又称之为字段属性。在MySQL中,一共有6个列属性:null/not null、comment、default、primary key、auto_increment、unique key 二、空属性 ...

ruyu00的博客 3123

【MySQL-表的约束】空属性+默认值+列描述+zerofill+主键+自增长+唯一键+外键+综合案例

真正约束字段的是数据类型,但是数据类型约束很单一,需要有一些额外的约束,更好的保证数据的合法性,从业务逻辑角度保证数据的正确性。比如一个字段是email,要求是唯一的表的约束很多,这里主要介绍如下几个:表的约束:表中一定要有各种约束,通过约束,让我们未来插入数据库表中的数据是符合预期的。约束本质是通过技术手段,倒逼程序员,插入正确的数据。反过来,站在mysql视角,凡是插入进来的数据,都是符合预期的约束的最终目标:保证数据的完整性和可预期性,因此我们需要更多的约束条件案例:创建一个班级表,包含班级名和班级所

2202_75331338的博客 1626

【MySQL】表的约束{ 常见约束 空属性 默认值 列描述comment zerofill 主键 复合主键 自增长 唯一键 外键 }

【MySQL】表的约束{ 常见约束 空属性 默认值 列描述comment zerofill 主键 复合主键 自增长 唯一键 外键 }

Ape's IT Blog 922

MySQL 中表的约束 -- 空属性,默认值,主键,自增长,唯一键,外键

数据库约束机制是保证数据合法性和正确性的关键技术手段。主要包括:1)空属性(NOT NULL)约束确保字段不为空;2)默认值(DEFAULT)为常用字段预设值;3)列描述(COMMENT)提供字段说明;4)主键(PRIMARY KEY)保证记录唯一性且非空;5)自增长(AUTO_INCREMENT)自动生成递增值;6)唯一键(UNIQUE)确保字段值唯一但允许空值;7)外键(FOREIGN KEY)维护表间引用完整性。这些约束共同作用,有效规范数据操作行为,维护数据质量。

CSQCSQCC的博客 1029

mysql:表的约束(空属性,默认值,comment,zerofill,主键,唯一键,外键)

真正约束字段的是数据类型,但是数据类型约束很单一,需要有一些额外的约束,更好的保证数据的合法性,从业务逻辑角度保证数据的正确性。比如有一个字段是email,要求是唯一的。表的约束有很多,这里主要介绍如下几个:null/ not null,default,comment,zerofill.primary, key,auto_increment,unique key.表的约束:表中一定要有各种约束,让我们未来插入数据是符符合预期的,约束本质是通过技术手段,逼迫程序员,插入正确数据。

m0_74217856的博客 2184

【半夜学习MySQL】表的约束(含主键、唯一键、外键、zerofill、列描述、默认值、空属性详解)

上一篇文章中介绍了数据类型,数据类型已经对字段做出一定的约束。但是数据类型的约束很单一,需要一些额外的约束,更好的保证数据的合法性,让我们未来插入数据库表中的数据是复合预期的,保证数据在业务逻辑角度的正确性。本文将介绍表的其他约束,如null/not null、default、comment、zerofill、primary key、auto_increment、unique key等约束本质是通过技术手段,倒逼程序员,插入正确的数据,反过来,站在mysql的视角,凡是插入进来的数据,都是符合数据约束的。

Jammingpro 1538

mysql学习五之列的属性,不为空属性,设置默认值,主键,字段自动增长

一、有哪些列属性? 二、是否为空 注意:第二个插入语句会插入失败。 三、默认值 default value 如果字段可以为null,并且有默认值,当插入的字段值为null,时,那么在数据库中显示的值不是默认值而是null. 四、主键primary key 主键的设置包含设置单一主键,和组合主键。 1、设置主键有两种方式: 第一种主键设置在属性后: 第二种主...

公子&小白的博客 4296

数据库学习3-列属性(字段属性)

目录 列属性 null属性 默认值 列描述 列属性 简单属性 列属性又称为字段属性,在mysql中共有6个属性,null,默认值,列描述,主键,唯一键和自动增长 null属性 null属性,代表字段为空 如果对应的值为YES表示该字段可以为空值 注意: 在设计表的时候,尽量不要让数据为空 默认值 default:默认值,当字段被设计的时候,如果允许默认条件下,用户不进行数据的插入,那么就可以使用事先准备好的数据来填充,通常填充的是NULL 测试:不给当前字段提供插入..

奔跑的小猫 5788

[MySQL][表的约束][二][主键][自增长][唯一键][外键]详细讲解

[MySQL][表的约束][二][主键][自增长][唯一键][外键]详细讲解

SnowK博客 4961
上一篇: 表关系与表设计方案讲解(一对一,一对多,多对多)
下一篇: 【高效程序员系列】别碰鼠标——让键盘飞起来
我才是真的封不觉
博客等级 码龄8年 871粉丝 436原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我才是真的封不觉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值