当前位置: 首页 > news >正文

数据库-扩展语句,约束方式

扩展语句:

例:

自增长:

auto_increment:表示该字段可以自增长,默认从一开始,每条记录会自动递增1

复制:

通过like这个语法直接复制ky32的表结构,只能复制表结构,不能复制表里面的数据

把class3里面的数据复制到test中,两个表数据结构要一致、出现不了就刷新一下

创建一张表,test1,数据从class3来,表结构也是class3;

补充:

Delete truncate drop;

删除表内的所有数据;

Delete from class3;

delete删除是一行一行删除,如果表中有自增长列,清空所有记录之后,再次添加内容,会从原来的数据之后,继续自增写入,建议使用truncate

Truncate table class3;

清空表的结构,而且会把表法人结构程重新建立,速度上比delete快,推荐

Drop table test;

删除表,不推荐

创建临时表:

一般用于调试,而且临时表示创建之后再表目录当中是不显示的,连接退出之后,临时表会自动销毁,而且临时表无法创建外键

Mysql约束方式:

6种常用的约束方式:

  1. 主键约束,primary key,用于唯一标识的每一行,主键列的值必须是唯一而且不能为空,一个表只能有一个主键
  2. 外键约束,用于建立表之间的关系,一般是和另一张的表的主键关联,保证数据引用的完整性,一个表可以有多个外键
  3. 非空约束,not null必须有一个值
  4. 唯一性约束:unique,确保列中的所有值都是唯一的,类似于主键,但是可以为空,而且一个表可以有多个唯一约束
  5. 默认值约束:default,在插入表数据时,如果没有定义值,会提供一个默认值
  6. 自增约束:auto_crement,每行自动生成一个唯一标识,通常和主键一起使用

练习:

创建一个表,包含所有约束

创建从表:

两者如何关联的呢:

如何删除表与表之间的关联:

主表和从表:

插入数据:先插入主表,再插入从表

删除数据:先删除主表,再删除从表

删除主表的主键

[SQL]alter table class drop primary key;

[Err] 1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key

翻译:这是一个自增约束的主键,要先改变他的数据类,解除自增约束,之后主键才可以删除

所以要改变他的自增类型:

所以要改变他的数据类型:

再次删除他的主键:

加强练习:

定义一个需求:

两张表:

主表company

从表depart

Company:

  1. work_id 非空,主键int(4) 不满四位要补充
  2. Name 非空 char(5)
  3. Sex 非空 char(2)

Depart:

  1. de_id 非空 主键int(6),不满六位要补齐
  2. Work_id 要和主表的work_id关联为外键
  3. Address 为空,但是有一个默认值
  4. phone不能为空,而且也不能相同

补充:用修改的方式来添加外键

添加主键:

第二题:

需要两张表: school

de_id int(4) 不满四位要补齐,而且自增长,主键

Name VARCHAR(15) not NULL

Email varchar(45) 可以为空,而且有默认值,www.baidu.com

2,cloud_ky32

Id 自增长 主键 int

Class_name 不能为空

De_id 外键,外键和主表的主键关联。(一般都在行没书写)

Adress 可以为空,默认是’地址不详’

Phone int 不能为空,而且不能重复

3.要求删除外键连接,删除从表的主键,重新定义主键为phone

删除从表的主键,重新定义主键为phone

相关文章:

数据库-扩展语句,约束方式

扩展语句: 例: 自增长: auto_increment:表示该字段可以自增长,默认从一开始,每条记录会自动递增1 复制: 通过like这个语法直接复制ky32的表结构,只能复制表结构,不能复制表里面的…...

精密数据工匠:探索 Netty ChannelHandler 的奥秘

通过上篇文章(Netty入门 — Channel,把握 Netty 通信的命门),我们知道 Channel 是传输数据的通道,但是有了数据,也有数据通道,没有数据加工也是没有意义的,所以今天学习 Netty 的第四…...

Python四种基本结构的操作

列表 列表的创建有两种方法 SampleList [] SampleList list() 列表中元素的添加 append(obj):在列表末尾添加元素obj extend(seq):在列表末尾添加多个值,使用extend()函数,seq是一个可迭代对象,否则报错。 Inser…...

Eureka:com.netflix.discovery.TimedSupervisorTask - task supervisor timed out

1、原因是spring cloud netflix中,某个服务挂掉了或者是执行某个任务时间过长,而没有发送给Eureka心跳 ,导致调用不到指定的服务,所以检查被调用服务器是否有问题。 2、有可能是某一个微服务自身内部G了,导致没有向eu…...

1.spark standalone环境安装

概述 环境是spark 3.2.4 hadoop版本 3.2.4,所以官网下载的包为 spark-3.2.4-bin-hadoop3.2.tgz 在具体安装部署之前,需要先下载Spark的安装包,进到 spark的官网,点击download按钮 使用Spark的时候一般都是需要和Hadoop交互的&a…...

【问题解决】 avue dicUrl 动态参数加载字典数据(已解决)

事情是这样的,用了avue-crud组件,配置了一个option。     现在有一列source属性要展示为 多选的下拉框 ,当然问题不在这而在于,选项是需要根据同级别属性id去拿的。也就是option.column.source 的配置中 需要该行的option.col…...

​学习一下,什么是预包装食品?​

预包装食品,指预先定量包装或者制作在包装材料和容器中的食品;包括预先定量包装以及预先定量制作在包装材质和容器中并且在一定量限范围内具有统一的质量或体积标识的食品。简单说, 就是指在包装完成后即具有确定的量值,这一确定的…...

从零开始学习搭建量化平台笔记

从零开始学习搭建量化平台笔记 本笔记由纯新手小白开发学习记录,欢迎大佬请教指点留言,有空的话还可以认识一下,来上海请您喝咖啡~~ 2023/10/30:上份工作辞职并休息了几个月后,打算开始找个关于量化投资相关的工作。面…...

【whisper】在python中调用whisper提取字幕或翻译字幕到文本

最近在做视频处理相关的业务。其中有需要将视频提取字幕的需求,在我们实现过程中分为两步:先将音频分离,然后就用到了whisper来进行语音识别或者翻译。本文将详细介绍一下whisper的基本使用以及在python中调用whisper的两种方式。 一、whispe…...

git diff对比差异时指定或排除特定的文件和目录

文章目录 前言git diff指定或者排除文件指定文件和目录排除文件和目录 番外篇总结 前言 你一般什么时候会用GPT? 居然会有这种话题,答案就是作为程序员的我天天在用,虽然GPT有个胡说八道的毛病,但试试总没错的,就比如今天题目中这…...

数据结构介绍与时间、空间复杂度

数据结构介绍 什么是数据结构?什么是算法?数据结构和算法的重要性 数据结构定义 数据结构是计算机科学中研究数据组织、存储和管理的一门学科。数据结构描述了数据对象之间的关系,以及对数据对象进行操作的方法和规则。 常见的数据结构 数…...

(c语言进阶)字符串函数、字符分类函数和字符转换函数

一.求字符串长度 1.strlen() (1)基本概念 头文件&#xff1a;<string.h> (2)易错点&#xff1a;strlen()的返回值为无符号整形 #include<stdio.h> #include<string.h> int main() {const char* str1 "abcdef";const char* str2 "bbb&q…...

解决MySQL大版本升级导致.Net(C#)程序连接报错问题

数据库版本从MySQL 5.7.21 升级到 MySQL8.0.21 数据升级完成后&#xff0c;直接修改程序的数据库连接配置信息 <connectionStrings> <add name"myConnectionString" connectionString"server192.168.31.200;uidapp;pwdFgTDkn0q!75;databasemail;&q…...

Java 将对象List转为csv文件并上传远程文件服务器实现方案

问题情景&#xff1a; 最近项目中遇到了根据第三方系统传递过来的参数&#xff0c;封装为List<实体类对象>后&#xff0c;将该实体类转换为csv文件&#xff0c;然后上传到远程的sftp服务器指定目录的需求。 实现思路&#xff1a; List<实体类对象>转为csv文件的…...

分享8个分布式Kafka的使用场景

Kafka 最初是为海量日志处理而构建的。它保留消息直到过期&#xff0c;并让消费者按照自己的节奏提取消息。与它的前辈不同&#xff0c;Kafka 不仅仅是一个消息队列&#xff0c;它还是一个适用于各种情况的开源事件流平台。 1. 日志处理与分析 下图显示了典型的 ELK&#xff0…...

【再见了暗恋对象 朋友们看完之后的一些感悟】

【再见了暗恋对象】写完之后魏野是我的第一个读者&#xff0c;魏野的反应是&#xff1a;这就是青春啊&#xff0c;喜欢了一个不喜欢自己的人而且男生觉得很困扰女孩子喜欢被牵引着走&#xff0c;但是男孩子牵引就是因为不喜欢这个女孩子&#xff0c;好可怜&#xff01;青春就这…...

JSON和Protobuf序列化

文章目录 一、粘包和拆包1、半包问题2、半包现象原理 二、JSON协议通信1、通用类库2、JSON传输的编码器和解码器 三、Protobuf协议通信1、一个简单的proto文件的实践案例2、生成POJO和Builder3、消息POJO和Builder的使用案例1&#xff09;构造POJO消息对象2&#xff09;序列化和…...

lambda表达式 - c++11

文章目录&#xff1a; lambda表达式概念lambda表达式语法函数对象与lambda表达式 lambda表达式概念 lambda 表达式是 c11 中引入的一种匿名函数&#xff0c;它可以在需要函数对象的地方使用&#xff0c;可以用作函数参数或返回值。lambda 表达式可以看作是一种局部定义的函数对…...

509. 斐波那契数

斐波那契数 &#xff08;通常用 F(n) 表示&#xff09;形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始&#xff0c;后面的每一项数字都是前面两项数字的和。也就是&#xff1a; F(0) 0&#xff0c;F(1) 1 F(n) F(n - 1) F(n - 2)&#xff0c;其中 n > 1给定 n &a…...

四、[mysql]索引优化-1

目录 前言一、场景举例1.联合索引第一个字段用范围查询不走索引(分情况&#xff09;2.强制走指定索引3.覆盖索引优化4.in和or在表数据量比较大的情况会走索引&#xff0c;在表记录不多的情况下会选择全表扫描5.like 后% 一般情况都会走索引(索引下推) 二、Mysql如何选择合适的索…...

PyQt5开发避坑:别再手动编译.ui文件了,试试uic.loadUi()动态加载

PyQt5高效开发&#xff1a;uic.loadUi()动态加载技术深度解析 在快速迭代的GUI开发过程中&#xff0c;PyQt5开发者常陷入一个效率陷阱——每次修改界面后都需要手动执行pyuic编译命令。这种重复性操作不仅打断开发流状态&#xff0c;还会在频繁调整阶段浪费大量时间。本文将揭示…...

如何轻松突破Windows限制:WinRing0硬件访问终极实战指南

如何轻松突破Windows限制&#xff1a;WinRing0硬件访问终极实战指南 【免费下载链接】WinRing0 WinRing0 is a hardware access library for Windows. 项目地址: https://gitcode.com/gh_mirrors/wi/WinRing0 你是否曾经在开发Windows应用时&#xff0c;需要直接访问硬件…...

DuClaw智能体:使用手册

学习并使用技能DuClaw 在创建时已为您预置部分常用技能&#xff0c;可根据任务需求自动匹配调用。查看已有技能1.进入对话界面&#xff0c;单击“技能平台”按钮&#xff0c;并在弹窗中单击“查看我的技能”。2.DuClaw会回复您当前已安装的技能以及相应的技能信息。安装并使用技…...

从‘苹果落地’到‘参数更新’:用牛顿法迭代公式手写一个简单的神经网络优化器

从‘苹果落地’到‘参数更新’&#xff1a;用牛顿法迭代公式手写一个简单的神经网络优化器 当牛顿目睹苹果落地时&#xff0c;他看到的不仅是万有引力定律的雏形&#xff0c;更是一种用数学描述自然现象的思维方式。三百年后&#xff0c;这种思维方式在深度学习领域焕发新生——…...

终极Koikatu游戏增强补丁:200+模组与完整汉化一键安装指南

终极Koikatu游戏增强补丁&#xff1a;200模组与完整汉化一键安装指南 【免费下载链接】KK-HF_Patch Automatically translate, uncensor and update Koikatu! and Koikatsu Party! 项目地址: https://gitcode.com/gh_mirrors/kk/KK-HF_Patch KK-HF Patch是专为Koikatu&a…...

AI智能体容器化开发实践:基于AgentBox构建安全可复现的沙盒环境

1. 项目概述&#xff1a;AgentBox&#xff0c;一个为AI智能体打造的“沙盒”开发环境最近在折腾AI智能体&#xff08;Agent&#xff09;的开发&#xff0c;发现一个挺有意思的现象&#xff1a;很多开发者&#xff0c;包括我自己在内&#xff0c;在初期搭建智能体应用时&#xf…...

避开这些坑!用AD5934测量从3Ω到100kΩ阻抗的实战经验与校准技巧

避开这些坑&#xff01;用AD5934测量从3Ω到100kΩ阻抗的实战经验与校准技巧 在精密阻抗测量领域&#xff0c;AD5934作为一款高集成度的阻抗转换芯片&#xff0c;凭借其宽频带扫描能力和数字解调技术&#xff0c;成为从生物传感器到材料分析等多个领域的核心器件。但实际应用中…...

高光谱数据处理避坑指南:从RAW文件到反射率,你的白板校正做对了吗?

高光谱数据处理避坑指南&#xff1a;从RAW文件到反射率&#xff0c;你的白板校正做对了吗&#xff1f; 在实验室里&#xff0c;一位研究员盯着屏幕上扭曲的反射率曲线皱起了眉头——明明按照标准流程采集了白板和暗电流数据&#xff0c;为什么最终结果会出现负值和异常波动&am…...

【NotebookLM隐私风险等级评估】:基于NIST SP 800-53的7维度打分模型,你的笔记正在被谁读?

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;NotebookLM隐私数据安全 NotebookLM 是 Google 推出的基于用户上传文档构建个性化 AI 助手的工具&#xff0c;其核心优势在于“本地文档理解”&#xff0c;但所有文档均需上传至 Google 云端处理。这意…...

自托管信息聚合器FeedMe:全栈部署与高效信息管理实践

1. 项目概述&#xff1a;一个“喂饱”你的信息聚合器最近在折腾一个挺有意思的小项目&#xff0c;叫 FeedMe。这名字起得挺直白&#xff0c;翻译过来就是“喂我”。它的核心目标&#xff0c;就是帮你把散落在互联网各个角落的信息源——比如你关注的博客、技术论坛、新闻网站、…...