数据库----------自增长约束、非空约束

news2025/1/12 6:18:03

目录

1.自增长约束(auto_increment)

1.概念

2.特点

3.指定自增字段初始值

4.delete和truncate在删除后自增列的变化

2.非空约束(not null)

1.概念

2.语法

3.添加非空约束

4.删除非空约束


1.自增长约束(auto_increment)

1.概念

在MysQL中,当主键定义为自增长后,这个主键的值就不再需要用户输入数据了,而由数据库系

统根据定义自动赋值。每增加一条记录,主键会自动以相同的步长进行增长。

通过给字段添加 auto_increment 属性来实现主键自增长

语法:

字段名 数据类型 auto_increment

实现:

create table t_user1(
     id int primary key auto_increment,
	 name varchar(20)
);
insert into t_user1 values(NULL,'张三');
insert into t_user1(name) values('李四');

2.特点

  • 默认情况下,auto_increment的初始值是1,每新增一条记录,字段值自动加1。
  • 一个表中只能有一个字段使用auto_increment约束,且该字段必须有唯一索引,以避免序号重复(即为主键或主键的一部分)。
  • auto increment约束的字段必须具备NOT NULL属性。
  • auto_increment约束的字段只能是整数类型(TINYINT、SMALLINT、INT、BIGINT等)。
  • auto_increment约束字段的最大值受该字段的数据类型约束,如果达到上限,auto_increment就会失效。

3.指定自增字段初始值

如果第一条记录设置了该字段的初始值,那么新增加的记录就从这个初始值开始自增。例如,如果

表中插入的第一条记录的id值设置为5,那么再插入记录时,id值就会从5开始往上增加 

  • 方式1:创建表时指定
create table t_user2(
     id int primary key auto_increment,
		 name varchar(20)
)auto_increment=100;
insert into t_user2 values(NULL,'张三');

auto_increment=100,id值就会从100开始往上增加

 

  • 方式2:创建表之后指定
create table t_user3(
      id int primary key auto_increment,
	  name varchar(20)
);
alter table t_user3 auto_increment=200;
insert into t_user3 values(NULL,'张三');

 

4.delete和truncate在删除后自增列的变化

  • delete       删除数据之后自动增长从断点开始(自增长还是在最后一个值基础上加1)
delete from t_user1;
  • truncate    删除数据之后自动增长从默认起始值开始(相当于将表删了,重新建一个新表)
truncate t_user1;

2.非空约束(not null)

1.概念

MySQL非空约束(not null)指字段的值不能为空。

对于使用了非空约束的字段,如果用户在添加数据时没有指定值,数据库系统就会报错。

2.语法

方式1:<字段名> <数据类型> not null;
方式2:alter table 表名 modify 字段 类型 not null;

3.添加非空约束

  • 方式1:创建表时指定

create table t_user6(
     id int,
	 name varchar(20) not null,
	 address varchar(20) not null
);

insert into t_user6(id) values(1001); -- 不可以
insert into t_user6(id,name,address) values(1001,null,null); -- 不可以
insert into t_user6(id,name,address) values(1001,'null','null'); -- 可以(字符串)
insert into t_user6(id,name,address) values(1001,'',''); -- 可以(空串)

 

  • 方式2:创建表之后指定

create table t_user7(
	id int,
	name varchar(20),
	address varchar(20)
);
alter table t_user7 modify name varchar(20) not null;
alter table t_user7 modify address varchar(20) not null;

desc t_user7;

desc查看表结构的详细信息

此处desc是describe的缩写,用法: desc 表名/查询语句

4.删除非空约束

alter table t_user7 modify name varchar(20);
alter table t_user7 modify address varchar(20);

删除not null即可

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/436240.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Can we learn better with hard samples

摘要 在深度学习中&#xff0c;小批量训练通常用于优化网络参数。然而&#xff0c;传统的小批处理方法可能无法学习到数据中代表性不足的样本和复杂的模式&#xff0c;从而导致泛化的时间更长。为了解决这一问题&#xff0c;提出了一种传统算法的一种变体&#xff0c;它训练网…

【基于 Arduino 的 RFID门锁】

【基于 Arduino 的 RFID门锁】 1. 概述2. 射频识别的工作原理3. RFID 和 Arduino4. Arduino RFID门锁门禁项目5. 源代码 在本教程中&#xff0c;我们将了解什么是 RFID&#xff0c;它是如何工作的以及如何制作基于 Arduino 的 RFID 门锁。您可以观看以下视频或阅读下面的书面教…

CTFWIKI-PWN-ret2syscall

该题目是在32位下 目录 先进行checksec ​编辑 ida 1.execve() 2.寄存器 3.流程图 4.我们需要先看看execve()函数的函数调用号 5.使用ROPgadget来查看 我们先进行查看eax|ret 查看 pop ebx,ecx,edx,ret 查找 /bin/sh的地址 查找int 0x80 查看字符偏移量 附上流程…

2023-04-13 工作记录--CSS/JS-ios 文本渐变色 和 文本超出省略号处理 共用时,出现省略号未显示问题

CSS/JS-ios 文本渐变色 和 文本超出省略号处理 共用时&#xff0c;出现省略号未显示问题 一、前言 ⭐️ 最近写项目&#xff0c;发现一个bug&#xff1a;ios 文本渐变色 和 文本超出省略号处理 共用时&#xff0c;出现省略号未显示问题&#xff0c;如下图&#xff1a;图1是非i…

三、vue_options之data、methods属性选项

一、data属性 data属性是传入一个函数&#xff0c;并且该函数需要返回一个对象&#xff1a; 在Vue2.x的时候&#xff0c;也可以传入一个对象(虽然官方推荐是一个函数)&#xff1b;在Vue3.x的时候&#xff0c;必须传入一个函数&#xff0c;否则就会直接在浏览器中报错&#xf…

【Java开发】设计模式 12:解释器模式

1 解释器模式介绍 解释器模式是一种行为型设计模式&#xff0c;它提供了一种方法来解释语言、表达式或符号。 在该模式中&#xff0c;定义了一个表达式接口&#xff0c;并实现了对应的表达式类&#xff0c;这些类可以解释不同的符号组成的表达式&#xff0c;从而实现对语言的…

云原生之在kubernetes环境下部署wordpress

云原生之在kubernetes环境下部署wordpress 一、wordpress介绍1.wordpress简介2.wordpress特点 二、kubernetes集群介绍1.k8s简介2.k8s架构图 三、本次实践介绍1.本次实践简介2.本次环境规划 四、环境准备工作1.检查k8s环境2.检查系统pod状态 五、创建mysql的secret资源1.创建部…

OpenCV_contrib配置教程(详细版)

文章目录 一&#xff1a;前提准备1&#xff1a;OpenCV4.5.1、OpenCV_contrib4.5.1扩展库下载2&#xff1a;Cmake下载地址Download 二&#xff1a;cmake配置1&#xff1a;2&#xff1a; 三&#xff1a;vs2017编译OpenCV build文件四&#xff1a;环境配置 个人笔记&#xff1a; …

如何构建编译gopacket包的测试用例?(gopacket抓取数据包、类似于tcpdump、Wireshark)

本篇文章介绍一下&#xff0c;如何构建gopacket测试用例 1、构建过程中遇到的问题 问题1&#xff1a; -bash: ./gopacket-main: /lib/ld-musl-x86_64.so.1: bad ELF interpreter: No such file or directory问题2&#xff1a; #14 3.150 # github.com/google/gopacket/pcap …

Zimbra 远程代码执行漏洞(CVE-2019-9670)环境搭建

漏洞简介 Zimbra是著名的开源系统&#xff0c;提供了一套开源协同办公套件包括WebMail&#xff0c;日历&#xff0c;通信录&#xff0c;Web文档管理和创作。一体化地提供了邮件收发、文件共享、协同办公、即时聊天等一系列解决方案。此漏洞的主要利用手法是通过 XXE (XML 外部…

【附代码】SSVEP解码算法 - 多变量同步指数(MSI)

1 算法来源 该算法来自电子科技大学张杨松博士,针对该算法的计算在张博士的博士论文中有详细介绍,有兴趣的读者可以下载阅读,本文重点在对该方法的代码实现。Zhang, Yangsong, et al. “Multivariate synchronization index for frequency recognition of SSVEP-based brain…

JS和CSS实现的原生轮播图

文章目录 &#x1f357; 前言&#x1f356; JSCSS实现滑动轮播图&#x1f354; 纯CSS实现滑动轮播图&#x1f37f; JSCSS实现浅入浅出轮播图&#x1f96a; JSCSS实现滑动带遮罩轮播图&#x1f9c0; JSCSS实现卡片式轮播图 &#x1f357; 前言 图片来自百度图片&#xff0c;可以…

分析解决【No module named ‘triton‘】的问题

&#xff08;一&#xff09;现象 在Windows11下训练Stable-Diffusion的LoRA模型的时候&#xff0c;总是重复提示&#xff1a; A matching Triton is not available, some optimizations will not be enabled. Error caught was: No module named ‘triton’ 意思是&#xff1a…

RocketMQ之 Consumer,消费者消费原理解析

B站 https://www.bilibili.com/video/BV1rX4y1z72v在线学习文档 https://d9bp4nr5ye.feishu.cn/wiki/wikcnjjvso9uytlgVJBfKcJh1Kq 今天我们阅读源码的目的&#xff1a;在SpringBoot项目中&#xff0c;RocketMQ是如何通过 RocketMQMessageListener 来进行消费的。 在SpringBoot…

Python数据结构-----leetcode用队列实现栈

目录 前言&#xff1a; 方法步骤 示例 Python代码实现 225. 用队列实现栈 前言&#xff1a; 上一期学习了怎么去通过两个栈来实现队列&#xff0c;同样这一期我就来讲讲怎么去通过两个队列来实现栈的功能&#xff0c;一起来学习吧。&#xff08;上一期链接Python数据结构--…

【Git基础】常用git命令(一)

文章目录 1. 创建仓库1.1 创建仓库1.2 git add和git commit① git add② git commit③ 工作区、暂存区和仓库 2. 创建git服务器2.1 服务器&#xff1a;2.2 本地2.3 修改配置信息 3. git基础原理3.1 四个区域3.2 工作流程3.3 文件的四种状态① git rm② git checkout 4.优雅的提…

setup的两个注意点

setup的两个注意点 首先&#xff0c;我们原本在v2中&#xff0c;父组件给子组件传递参数时&#xff0c;使用props来接收&#xff0c;当然除了这个方法外&#xff0c;我们还可以通过$attr来接收&#xff0c;只不过使用$atter就不能对父组件传来的参数进行类型的限定&#xff0c…

你是一个资深API接口爬虫程序员,现在需要你介绍一下如何通过商品id来获取商品数据并读取出来

获取商品数据通常需要使用API接口&#xff0c;根据接口文档中的说明传递商品id参数&#xff0c;并使用相应的请求方式&#xff08;通常为GET请求&#xff09;向API服务器发送请求即可。 以下是一个获取商品数据的示例请求&#xff1a; 首先打开API接口文档&#xff0c;找到获…

小航助学答题系统编程等级考试scratch二级真题2023年3月(含题库答题软件账号)

青少年编程等级考试scratch真题答题考试系统请点击 电子学会-全国青少年编程等级考试真题Scratch一级&#xff08;2019年3月&#xff09;在线答题_程序猿下山的博客-CSDN博客_小航答题助手 1.小猫的程序如图所示&#xff0c;积木块的颜色与球的颜色一致。点击绿旗执行程序后&a…

USB TO SPI / USB TO I2C 软件概要 7 --- 专业版调试器

所需设备&#xff1a; 1、USB 转 SPI / I2C 适配器&#xff1b; 软件概述&#xff1a; SPI类: USB TO SPI 1.0-Slave SPI从机软件&#xff0c;适合单步调试&#xff0c;支持SPI工作模式0、1、2、3&#xff0c;自动跟随主机通讯速率&#xff0c;自动接收数据&#xff1b; …