MySql(十二)

article/2025/8/4 21:16:19

目录

MySql约束

1.添加主键约束

语法格式

1)创建一个带主键的表

查看表结构

2)创建表的时候指定主键名称

查看表结构

3)创建一个表然后,然后再使用alter为列添加主键

查看表结构

4)为表添加数据

1---正常数据

2---主键为空数据

3--主键重复数据

5)为表设置自增主键(AUTO_INCREMENT)

查看表结构

插入没有主键的数据

 查看插入的数据

2.唯一约束(unique)

查看表结构

测试唯一约束

 

3.非空约束(not null)

查看表结构


 

MySql约束

1.添加主键约束

语法格式

字段名 字段类型 primary key

1)创建一个带主键的表

-- 创建一个带主键的表create table user2(-- 设置主键id INT PRIMARY KEY,username VARCHAR(30),sex CHAR(1));

查看表结构

desc user2;

2)创建表的时候指定主键名称

-- 创建表的时候指定主键create table user3(id int,user_name VARCHAR(30),sex char(1),-- 指定主键PRIMARY KEY(id));

 

查看表结构

desc user3;

3)创建一个表然后,然后再使用alter为列添加主键

-- 创建一个表,然后使用alter添加主键约束create table user4(id int,user_name VARCHAR(30),sex char(1),);
-- 使用alter为期添加主键
alter table user4 add PRIMARY key(id);

查看表结构

desc user4;

 

4)为表添加数据

1---正常数据

-- 添加正常数据INSERT into user4 VALUES 
(1, '偷走晚霞的人', '男');

 

2---主键为空数据

-- 添加主键为空的字段
INSERT into user4 VALUES 
(null, '偷走晚霞的人', '男');

可以看到添加的数据:1048 - Column 'id' cannot be null

3--主键重复数据

-- 添加重复的主键
INSERT into user4 VALUES 
(1, '惜.己', '男');

可以看到错误:1062 - Duplicate entry '1' for key 'PRIMARY'

5)为表设置自增主键(AUTO_INCREMENT)

-- 创建主键自增的表
CREATE TABLE user5(id INT PRIMARY KEY AUTO_INCREMENT,user_name VARCHAR(30),sex char(1));

查看表结构

可以看到extra ==》这里多了一个auto_increment

插入没有主键的数据

-- 主键为空 的数据
INSERT into user5 VALUES 
(null, '惜.己', '男');-- 不添加主键数据
INSERT into user5(user_name, sex) VALUES
('小玖','女')

 查看插入的数据

select * from user5;

2.唯一约束(unique)

字段名 字段值 unique

.

CREATE table user6(id int PRIMARY KEY AUTO_INCREMENT,user_name VARCHAR(20) UNIQUE,sex char(1));

查看表结构

可以看到user_name的那一个项 UNI 

desc user6;

测试唯一约束

INSERT into user6 VALUES 
(null, '惜.己', '男');INSERT into user6 VALUES 
(null, '惜.己', '男');

可以看到出现错误:1062 - Duplicate entry '惜.己' for key 'user_name'

 

3.非空约束(not null)

简单的来说就是,向这个表中添加数据的时候不能为空。属于必填项。否则会报错 1048 - Column 'id' cannot be null

INSERT into user7 VALUES 
(null,null , '男');

字段名 字段类型 not null

-- 非空约束
create table user7(id INT PRIMARY KEY,user_name VARCHAR(30) not null,sex char(1)
);

查看表结构

可以看到user_name 的那个项不为空

 

 

 

 

 


http://www.hkcw.cn/article/xqeBgafdse.shtml

相关文章

chrome.runtime.sendMessage 和 new FormData()

chrome.runtime.sendMessage 是Chrome扩展程序API中的一个方法,可用于背景脚本和内容脚本之间的消息传递。 new FormData() 提供了一种方便的方式来构建表单数据集。 在Chrome插件中,在 background.js 和 content.js 进行通信时使用了使用new FormData()…

数据结构-排序-排序的七种算法(2)

一,七种算法的介绍和比较 二,冒泡排序 原理:重复遍历列表,比较相邻元素,如果顺序错误就交换它们 时间复杂度: 最好:O(n)(已有序时) 平均:O(n) 最坏&#x…

【目标检测】backbone究竟有何关键作用?

backbone的核心在于能为检测提供若干种感受野大小和中心步长的组合,以满足对不同尺度和类别的目标检测。

JAVA实战开源项目:精简博客系统 (Vue+SpringBoot) 附源码

本文项目编号 T 215 ,文末自助获取源码 \color{red}{T215,文末自助获取源码} T215,文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…

IO流1——体系介绍和字节输出流

什么是io流 io流分类 纯文本文件: windows自带的记事本打开能读懂的 经验证: word,excel不是, txt, md的是纯文本文件 !!!! 字节输出流 io流体系 抽象类不能直接创建他们的对象…

告别复杂操作!电脑极简风格计时使用

无论是工作、学习还是日常生活,这款小巧实用的计时工具都能成为你掌控时间的好帮手。特别适合需要频繁切换正计时、倒计时和查看当前时间的场景。界面简洁,操作便捷,助你高效管理每一刻。 这是一款免安装的工具,下载后可直接打开…

湖北理元理律师事务所:个人债务管理的温度与精度

湖北理元理律师事务所:个人债务管理的温度与精度 面对信用卡、网贷、医疗债等多重债务压力,普通人常陷入“拆东墙补西墙”的恶性循环。湖北理元理律师事务所通过计划集团公司服务平台,推出“有温度的债务优化计划”,其人性化设计…

启动你的RocketMQ之旅(七)-Store存储原理

前言: 👏作者简介:我是笑霸final。 📝个人主页: 笑霸final的主页2 📕系列专栏:java专栏 📧如果文章知识点有错误的地方,请指正!和大家一起学习,一…

无标注数据如何提升LLM推理能力?熵最小化 提升LLM自信度

熵最小化 提升LLM自信度 ——熵最小化(Entropy Minimization,EM),如何在不使用任何标注数据的情况下,提升大语言模型(LLMs)在数学、物理和编程等复杂推理任务上的表现。 1. 什么是熵最小化? 熵在机器学习中衡量模型输出的不确定性。熵越小,模型对输出越“自信”(概率…

[yolov11改进系列]基于yolov11引入多尺度空洞注意力MSDA的python源码+训练源码

【MSDA介绍】 本文提出了一种新颖的多尺度空洞 Transformer,简称DilateFormer,以用于视觉识别任务。原有的 ViT 模型在计算复杂性和感受野大小之间的权衡上存在矛盾。众所周知,ViT 模型使用全局注意力机制,能够在任意图像块之间建…

LCA(最近公共祖先)与树上差分

LCA: 我们先看一道例题洛谷p3379 这道题就是LCA的模板题 LCA大抵有三种方法处理,我们这里只讲两种 分别是Tarjan和倍增法,也分别是离线和在线算法 我们这里先讲Tarjan Tarjan: 一提到Tarjan这个名字,相信大家都…

PCIe—TS1/TS2 之Polling下的应用(一)

前文 训练序列有序集用于比特对齐、符号对齐以及交换物理层参数。2.5GT/s和5GT/s速率时,训练序列有序集不会加扰,只用8b/10b 编码。但到8GT/s及以上速率时,采用128b/130b编码,符号有可能加扰有可能不加扰,具体参阅SPEC物理层章节,后续可能会写。 训练序列(TS1或…

Spring AI调用Ollama+DeepSeek

文章目录 Spring AI集成DeepSeek申请api_keySpringBoot工程 Spring AI聊天模型概述ChatClient接口角色预设流式响应 ChatModel接口实现简单的对话提示词 函数调用函数调用实现 AI调用Ollama下载并安装 Ollama拉取 DeepSeek 模型代码测试 Spring AI Spring AI是一个AI工程领域的…

maven中的maven-antrun-plugin插件详解

1. 核心功能2. 典型使用场景3. 配置示例4. 关键配置项5. 优缺点分析6. 最佳实践7. 常见问题8. 使用案例1. 基本配置2. 常用 Ant 任务示例文件操作执行系统命令条件判断 3. 绑定到不同生命周期阶段4. 传递参数到 Ant 脚本5. 跳过任务执行6. 调试与日志7. 完整示例 总结 maven-an…

1Remote远程会话管理以及一键启动虚拟机

1Remote远程会话管理以及一键启动虚拟机 前言 vmware中安装的虚拟机命令行没有右键粘贴功能,想用ssh但又得启动虚拟机又得连接SSH,本文使用开源的1Remote以及windows脚本来实现一键启动虚拟机并连接SSH。 实现过程 下载1Remote 下载地址&#xff1a…

Linux基础 文件描述符,重定向及缓冲区理解

&#x1f3d9;️正文 1、文件描述符 在使用 C语言 相关文件操作函数时&#xff0c;可以经常看到 FILE 这种类型&#xff0c;不同的 FILE* 表示不同的文件&#xff0c;实际进行读写时&#xff0c;根据 FILE* 进行操作即可。 #include<iostream> #include <cstdio>…

Vue 核心技术与实战智慧商城项目Day08-10

1.项目演示 2. 项目收获 3. 创建项目 4. 调整初始化目录 5. vant 组件库 6. 其他 Vue 组件库 7. vant 全部导入 和 按需导入 全部导入&#xff1a; 按需导入&#xff1a; 8. 项目中的 vw 适配 记得执行yarn serve module.exports {plugins: {postcss-px-to-viewport: {// vw适…

MacroDroid安卓版:自动化操作,让生活更智能

在智能手机的日常使用中&#xff0c;我们常常会遇到一些重复性的任务&#xff0c;如定时开启或关闭Wi-Fi、自动回复消息、根据位置调整音量等。这些任务虽然简单&#xff0c;但频繁操作会让人感到繁琐。MacroDroid安卓版正是为了解决这些问题而设计的&#xff0c;它是一款功能强…

基于springboot的益智游戏系统的设计与实现

博主介绍&#xff1a;java高级开发&#xff0c;从事互联网行业六年&#xff0c;熟悉各种主流语言&#xff0c;精通java、python、php、爬虫、web开发&#xff0c;已经做了六年的毕业设计程序开发&#xff0c;开发过上千套毕业设计程序&#xff0c;没有什么华丽的语言&#xff0…

【深度学习】18. 生成模型:Variational Auto-Encoder(VAE)详解

Variational Auto-Encoder&#xff08;VAE&#xff09;详解 本节内容完整介绍 VAE 的模型结构、优化目标、重参数化技巧及其生成机制。 回顾&#xff1a;Autoencoder&#xff08;自编码器&#xff09; Autoencoder 是一种无监督学习模型&#xff0c;旨在从未标注的数据中学习压…