MySQL扩展语句和约束条件
MySQL扩展语句
create TABLE if not exists ky32 (id int(4) zerofill primary key auto_inc rement,
#表示该字段可以自增长,默认从1开始每条记录会自动递增1name varchar(10) not null,cradid int(10) not null unique key,hobby varchar (50));
if not exists ky32:ky32这个表不存在,才会创建
zerofill:自动填充位置 1 0001
primary key:当前表的主键,主键只能有一个,而唯一,而且不能为空
auto_increment:表示该字段可以自增长,默认从1开始,每条记录会自动递增1
upique key:唯一性约束。跟主键不通,可以为空的。
create table test like hhjj;
复制,通过Like这个语法,可以直接复制hhjj的表结构,无法复制数据
insert into test select * from hhjj;
把hhjj表里面的数据,复制到test,两个表数据结构都要一致。create table test1 (select * from hhjj);
创建一张表,数据来自hhjj,表结构也是hhjj。
结束之后F5刷新即可
MySQL对表内容三种删除的方法
delete
delete from test1 ;
delete的删除是一行一行的删除,如果表中有自增长列,即使清空所有记录之后,再次添加内容会从原来的记录之后继续自增写入
truncate
truncate table test;
清空表的数据,会把表结构重新建立,速度上比delete快
一般都用truncate
DROP
drop table test1;
太极端,删除整个表,不推荐使用
创建临时表
临时表一般用于调试,而且临时表创建之后在表目录当中是不显示的。连接退出之后,临时表会被销毁,而且临时表无法创建外键。
create temporary table test1 (id int(4) primary key,name char(10),sex char(2));insert into test1 values(1,'zzr','man');select * from test1;
MYSQL的约束方式
6种常用的约束:
1、 主键约束。用于唯一标识表种的每一行,主键列的值必须是唯一且不能为空,一共表种只能有一个主键。
2、 外键约束。用于建立表于表之间的关系,一般是和另一张表的主键关联。保证数据引用的完整性,一个表可用有多个外键
3、 非空约束。not null 必须要有一个值。
4、 唯一性约束。unique 确保列中的所有值都是唯一的。类似于主键,但是可以为空。而且一个表可以有多个唯一约束。
5、 默认值约束。default 在插入表数据时,如果没有定义值,会提供一个默认值。
6、 自增约束。每行自动生成一个唯一标识。通常和主键在一起使用。
主键约束
create table student (card_id int(18) primary key,stu_name varchar(12) not null,stu_email varchar(255) unique);desc student;
主表:
create table student (
card_id int(18) PRIMARY key,
stu_name varchar(12) not null,
stu_email varchar(255) unique
);
desc student;
从表
create table class (
stud_id int(11) auto_increment PRIMARY key,
address varchar(50) default '地址不详',
card_id int(18) not null,
foreign key (card_id) references student (card_id)
);
show create table class;
查看关联关系

class_ibfk_1是外键,先删除他,在删除其他
索引是 card_id
主表和从表的关系
插入数据,先插入主表,再插入从表
删除数据得先删除主表,再删除从表
alter table class drop FOREIGN key class_ibfk_1;
desc class;
MUL:这是个索引alter table class drop index card_id;
desc class;alter table class drop primary key;此处会报错,因为无法直接删除,得先修改数据结构alter TABLE class modify stud_id int(12);
修改数据类型alter table class drop PRIMARY key;


练习:
两张表分别
主表:company 从表:depart
company:
1.work_id 非空 主键 int(4) ,不满四位要补齐
2.员工昵称 非空 char(5)
3.性别 sex 非空 char(2)
depart
1.de_id 非空 主键 int(6) 不满 补齐
2.work_id 要和主表work_id关联
3.address 为空 但有个默认值
4.phone 不能为空,而且不能重复。
create table company (
work_id int(4) zerofill primary key,
name_id char(5) not null,
sex char(2) not null
);
create table depart (
de_id int(6) zerofill primary key,
work_id int(4) zerofill,
address varchar(50) default '地址不详',
phone int(11) not null unique
);
desc company;
alter table depart add FOREIGN key (work_id) REFERENCES company (work_id);



主键相连,因此主键不一致会报错
注意

练习2
school(主表)
1.de_id int(4) 不满四位补齐。自增长 主键
2.name varchar(15) 不为空
email varchar(45) 可以为空 但是不能重复,默认值(aaa.531@126.com)
cloud_ky32(从表)
id 自增长 主键 int(5)
class_name 不为空
de_id 和主键关联
address 可以为空 默认(地址不详)
phone int(5) 不能为空 不能重复
要求删除外键关联 删除从表主键,重新定义主键为phone
create table school (
de_id int(4) zerofill auto_increment PRIMARY KEY,
name varchar(15) not null,
email varchar(45) UNIQUE DEFAULT 'aaa.531@123.com'
);create table cloud (
id int(5) auto_increment PRIMARY KEY,
class_name int(10),
de_id int(4) zerofill,
address varchar(50) UNIQUE default '地址不详',
phone int(5) not null UNIQUE
);show create table cloud_ky32;
#查看表的外部关联alter table cloud add FOREIGN key (de_id) REFERENCES school (de_id);alter table cloud drop FOREIGN key cloud_ibfk_1;
#删除从表的外部关联
desc cloud;alter table cloud drop index de_id;
desc cloud;alter TABLE cloud modify id int(12);
修改数据类型alter table cloud drop PRIMARY key;
#删除从表的主键desc cloud;alter table cloud add primary key (phone);
#设置从表的主键为phonedesc cloud;


相关文章:
MySQL扩展语句和约束条件
MySQL扩展语句 create TABLE if not exists ky32 (id int(4) zerofill primary key auto_inc rement, #表示该字段可以自增长,默认从1开始每条记录会自动递增1name varchar(10) not null,cradid int(10) not null unique key,hobby varchar (50))&#x…...
Java排序学习
int[] 数组排序 升序排序: Arrays.sort(num);降序排序: num IntStream.of(num) // 变为 IntStream.boxed() // 变为 Stream<Integer>.sorted(Comparator.reverseOrder()) // 按自然序相反排序.mapToInt(Integer::intValue) …...
《2023中国社交媒体平台指南》丨附下载_三叠云
✦ ✦✦ ✦✦ ✦✦ ✦ KAWO发布的《2023中国社交媒体平台指南》,对中国社交媒发展情况、八大社交媒体平台做出详细分析,为营销人员提供了布局社交媒体的实操性指南。 社交媒体八大趋势: 1.社交媒体搜索引擎化 除了社交媒体上发表的内容会被…...
【unity小技巧】unity排序问题的探究
文章目录 前言一、排序图层二、sorting Group的使用三、树木排序设计方法一 代码控制方法二 拆分图片方法三 透视排序1. 普通物品排序2. TileMap瓦片排序设计 完结 前言 unity的排序问题其实之前分享的项目多多少少都有提到一点,但是没有单独拿出来说,所…...
为什么会被【禅道】工具的公司提出QQ群的反思…………
周末备份Gitlab的代码库,把Gitlab更新到了最新的16.5。顺带看了禅道官网出了最新版本18.8。但是禅道的升级更新并不顺利…………。 先说一下为什么用禅道这个工具: 再使用禅道这个工具前,使用过的工具有QC(Quality Center)、jira࿰…...
专业课改革,难度陡然提高,专业课122总分390+南京理工大学818南理工818上岸经验分享
今年专业课相对较难,分数122,基本达到预期。南理工818是信号和数电两门课,各站一半。复试时间数电可能要更多一点,也比信号难拿分。今年专业课难度很大,基本超过不少985学校,大家要重视。 有条件的同学建议…...
Java入门与实践
Java基础 Java入门 idea的使用 idea快捷键 crtlaltt 对选中的代码弹出环绕选项弹出层 问题描述:idea光标变小黑块 解决:误触Insert键,再次按Insert键即可 java基础语法 注释 //单行注释/* 多行注释 *//** 文档注释,可提取到…...
TensorRT量化实战课YOLOv7量化:pytorch_quantization介绍
目录 前言1. 课程介绍2. pytorch_quantization2.1 initialize函数2.2 tensor_quant模块2.3 TensorQuantizer类2.4 QuantDescriptor类2.5 calib模块 总结 前言 手写 AI 推出的全新 TensorRT 模型量化实战课程,链接。记录下个人学习笔记,仅供自己参考。 该…...
【23真题】知识点覆盖全!有罕见判断题!
今天分享的是23年烟台大学833的信号与系统试题及解析。 本套试卷难度分析:本套试题内容难度中等偏下,题目难度不大,但是题量较多,考察的知识点全面,比较多的考察了对信号波形以及频谱图的画法,值得注意的是…...
K8s外部网络访问之Ingress
K8s外部网络访问之Ingress 1 简介2 安装ingress-nginx-controller2.1 下载ingress部署文件2.2 修改deploy.yaml文件参数2.2.1 修改镜像源2.2.2 修改部分参数2.2.3 部署ingress-nginx2.2.4 查看部署结果3.ingress-nginx应用3.1 制作镜像3.2 配置TLS secret3.2.1 创建HTTPS证书3.…...
中文编程工具免费版下载,中文开发语言工具免费版下载
中文编程工具免费版下载,中文开发语言工具免费版下载 中文编程工具开发的实际部分案例如下图 编程系统化课程总目录及明细,点击进入了解详情。 https://blog.csdn.net/qq_29129627/article/details/134073098?spm1001.2014.3001.5502...
昂首资本严肃且专业地探讨波浪理论第一波
很多投资者已经了解了波浪理论第一波,今天昂首资本和各位投资者再加深一下理解,让我们严肃且专业地探讨一下第一波。 以小时价格图表举例,第一波的起始点存在一个看涨反转棒。请注意,这个棒形结构对应了比尔威廉姆斯交易策略三智…...
《论文写作》课程总结
《论文写作》课程总结 前言 本文是我对《论文写作》课程的一个学习总结. 在上这门课程前我已经开始了论文写作, 我觉得这门课对我的最大作用就是将我以前从视频、博客、写作和经验贴等地方学习到的经验串起来了. 接下来, 我会根据我的收获对这门课做一个总结. 文章目录 《论文…...
基于SSM的作业提交与查收系统设计与实现
末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…...
Hololens2 报错Microsoft.Windows.System缺少
文章目录 前言Hololens2 报错Microsoft.Windows.System缺少错误提示如下解决方法小结 前言 在Unity开发Hololens2 时候,需要导入很多工具和库,有些问题,也就第一次导入的时候会遇到。好记性不如烂笔头嘛,记录一下。 Hololens2 报…...
nginx: [emerg] bind() to 0.0.0.0:18888 failed (98: Unknown error)问题解决办法
周末断网,今天来了之后,nginx出现这个问题,本站基本搜索的都是端口被占用问题,我试着杀掉所有占用端口的进程,解决办法 1.killall -9 nginx 2.然后启动(./nginx)nginx(PS:不要./nginx -s relo…...
基于 Redis + Lua 脚本实现分布式锁,确保操作的原子性
1.加锁的Lua脚本: lock.lua --- -1 failed --- 1 success--- getLock key local result redis.call(setnx , KEYS[1] , ARGV[1]) if result 1 then--PEXPIRE:以毫秒的形式指定过期时间redis.call(pexpire , KEYS[1] , 3600000) elseresult -1;-- 如果value相同&…...
vue源码分析(七)—— createComponent
文章目录 前言一、createComponent 参数说明二、createComponent 源码详解1.baseCtor的实际指向2.extend 方法3.判断Ctor是否是函数的判断4.installComponentHooks方法5.返回一个带标识的组件 vnode 前言 createComponent文件的路径: src\core\vdom\create-componen…...
vue实现图片分页
本小节学会使用v-show和click 、v-bind,v-bind可以简写为: <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"…...
Baklib专注:企业数字内容体验与知识管理
随着科技的发展,消费者对数字体验的依赖程度攀升,品牌正面临着越来越大的压力。数字化体验作为当下最热门的话题之一,无论是传统企业还是互联网企业,都在积极探索创新方案和具体措施,从而提高用户的数字化体验…...
C++初阶-list的底层
目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...
论文笔记——相干体技术在裂缝预测中的应用研究
目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术:基于互相关的相干体技术(Correlation)第二代相干体技术:基于相似的相干体技术(Semblance)基于多道相似的相干体…...
人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...
使用LangGraph和LangSmith构建多智能体人工智能系统
现在,通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战,比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...
群晖NAS如何在虚拟机创建飞牛NAS
套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...
BLEU评分:机器翻译质量评估的黄金标准
BLEU评分:机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域,衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标,自2002年由IBM的Kishore Papineni等人提出以来,…...
PHP 8.5 即将发布:管道操作符、强力调试
前不久,PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5!作为 PHP 语言的又一次重要迭代,PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是,借助强大的本地开发环境 ServBay&am…...
