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

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[] 数组排序 升序排序&#xff1a; Arrays.sort(num);降序排序&#xff1a; num IntStream.of(num) // 变为 IntStream.boxed() // 变为 Stream<Integer>.sorted(Comparator.reverseOrder()) // 按自然序相反排序.mapToInt(Integer::intValue) …...

《2023中国社交媒体平台指南》丨附下载_三叠云

✦ ✦✦ ✦✦ ✦✦ ✦ KAWO发布的《2023中国社交媒体平台指南》&#xff0c;对中国社交媒发展情况、八大社交媒体平台做出详细分析&#xff0c;为营销人员提供了布局社交媒体的实操性指南。 社交媒体八大趋势&#xff1a; 1.社交媒体搜索引擎化 除了社交媒体上发表的内容会被…...

【unity小技巧】unity排序问题的探究

文章目录 前言一、排序图层二、sorting Group的使用三、树木排序设计方法一 代码控制方法二 拆分图片方法三 透视排序1. 普通物品排序2. TileMap瓦片排序设计 完结 前言 unity的排序问题其实之前分享的项目多多少少都有提到一点&#xff0c;但是没有单独拿出来说&#xff0c;所…...

为什么会被【禅道】工具的公司提出QQ群的反思…………

周末备份Gitlab的代码库&#xff0c;把Gitlab更新到了最新的16.5。顺带看了禅道官网出了最新版本18.8。但是禅道的升级更新并不顺利…………。 先说一下为什么用禅道这个工具&#xff1a; 再使用禅道这个工具前&#xff0c;使用过的工具有QC(Quality Center)、jira&#xff0…...

专业课改革,难度陡然提高,专业课122总分390+南京理工大学818南理工818上岸经验分享

今年专业课相对较难&#xff0c;分数122&#xff0c;基本达到预期。南理工818是信号和数电两门课&#xff0c;各站一半。复试时间数电可能要更多一点&#xff0c;也比信号难拿分。今年专业课难度很大&#xff0c;基本超过不少985学校&#xff0c;大家要重视。 有条件的同学建议…...

Java入门与实践

Java基础 Java入门 idea的使用 idea快捷键 crtlaltt 对选中的代码弹出环绕选项弹出层 问题描述&#xff1a;idea光标变小黑块 解决&#xff1a;误触Insert键&#xff0c;再次按Insert键即可 java基础语法 注释 //单行注释/* 多行注释 *//** 文档注释&#xff0c;可提取到…...

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 模型量化实战课程&#xff0c;链接。记录下个人学习笔记&#xff0c;仅供自己参考。 该…...

【23真题】知识点覆盖全!有罕见判断题!

今天分享的是23年烟台大学833的信号与系统试题及解析。 本套试卷难度分析&#xff1a;本套试题内容难度中等偏下&#xff0c;题目难度不大&#xff0c;但是题量较多&#xff0c;考察的知识点全面&#xff0c;比较多的考察了对信号波形以及频谱图的画法&#xff0c;值得注意的是…...

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.…...

中文编程工具免费版下载,中文开发语言工具免费版下载

中文编程工具免费版下载&#xff0c;中文开发语言工具免费版下载 中文编程工具开发的实际部分案例如下图 编程系统化课程总目录及明细&#xff0c;点击进入了解详情。 https://blog.csdn.net/qq_29129627/article/details/134073098?spm1001.2014.3001.5502...

昂首资本严肃且专业地探讨波浪理论第一波

很多投资者已经了解了波浪理论第一波&#xff0c;今天昂首资本和各位投资者再加深一下理解&#xff0c;让我们严肃且专业地探讨一下第一波。 以小时价格图表举例&#xff0c;第一波的起始点存在一个看涨反转棒。请注意&#xff0c;这个棒形结构对应了比尔威廉姆斯交易策略三智…...

《论文写作》课程总结

《论文写作》课程总结 前言 本文是我对《论文写作》课程的一个学习总结. 在上这门课程前我已经开始了论文写作, 我觉得这门课对我的最大作用就是将我以前从视频、博客、写作和经验贴等地方学习到的经验串起来了. 接下来, 我会根据我的收获对这门课做一个总结. 文章目录 《论文…...

基于SSM的作业提交与查收系统设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…...

Hololens2 报错Microsoft.Windows.System缺少

文章目录 前言Hololens2 报错Microsoft.Windows.System缺少错误提示如下解决方法小结 前言 在Unity开发Hololens2 时候&#xff0c;需要导入很多工具和库&#xff0c;有些问题&#xff0c;也就第一次导入的时候会遇到。好记性不如烂笔头嘛&#xff0c;记录一下。 Hololens2 报…...

nginx: [emerg] bind() to 0.0.0.0:18888 failed (98: Unknown error)问题解决办法

周末断网&#xff0c;今天来了之后&#xff0c;nginx出现这个问题&#xff0c;本站基本搜索的都是端口被占用问题&#xff0c;我试着杀掉所有占用端口的进程&#xff0c;解决办法 1.killall -9 nginx 2.然后启动(./nginx)nginx&#xff08;PS&#xff1a;不要./nginx -s relo…...

基于 Redis + Lua 脚本实现分布式锁,确保操作的原子性

1.加锁的Lua脚本&#xff1a; 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文件的路径&#xff1a; src\core\vdom\create-componen…...

vue实现图片分页

本小节学会使用v-show和click 、v-bind&#xff0c;v-bind可以简写为: <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"…...

Baklib专注:企业数字内容体验与知识管理

随着科技的发展&#xff0c;消费者对数字体验的依赖程度攀升&#xff0c;品牌正面临着越来越大的压力。数字化体验作为当下最热门的话题之一&#xff0c;无论是传统企业还是互联网企业&#xff0c;都在积极探索创新方案和具体措施&#xff0c;从而提高用户的数字化体验&#xf…...

Day131 | 灵神 | 回溯算法 | 子集型 子集

Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 笔者写过很多次这道题了&#xff0c;不想写题解了&#xff0c;大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)

设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile&#xff0c;新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词

Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵&#xff0c;其中每行&#xff0c;每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid&#xff0c;其中有多少个 3 3 的 “幻方” 子矩阵&am…...

SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)

上一章用到了V2 的概念&#xff0c;其实 Fiori当中还有 V4&#xff0c;咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务)&#xff0c;代理中间件&#xff08;ui5-middleware-simpleproxy&#xff09;-CSDN博客…...

CSS设置元素的宽度根据其内容自动调整

width: fit-content 是 CSS 中的一个属性值&#xff0c;用于设置元素的宽度根据其内容自动调整&#xff0c;确保宽度刚好容纳内容而不会超出。 效果对比 默认情况&#xff08;width: auto&#xff09;&#xff1a; 块级元素&#xff08;如 <div>&#xff09;会占满父容器…...

【JavaSE】多线程基础学习笔记

多线程基础 -线程相关概念 程序&#xff08;Program&#xff09; 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序&#xff0c;比如我们使用QQ&#xff0c;就启动了一个进程&#xff0c;操作系统就会为该进程分配内存…...

OD 算法题 B卷【正整数到Excel编号之间的转换】

文章目录 正整数到Excel编号之间的转换 正整数到Excel编号之间的转换 excel的列编号是这样的&#xff1a;a b c … z aa ab ac… az ba bb bc…yz za zb zc …zz aaa aab aac…; 分别代表以下的编号1 2 3 … 26 27 28 29… 52 53 54 55… 676 677 678 679 … 702 703 704 705;…...

恶补电源:1.电桥

一、元器件的选择 搜索并选择电桥&#xff0c;再multisim中选择FWB&#xff0c;就有各种型号的电桥: 电桥是用来干嘛的呢&#xff1f; 它是一个由四个二极管搭成的“桥梁”形状的电路&#xff0c;用来把交流电&#xff08;AC&#xff09;变成直流电&#xff08;DC&#xff09;。…...

链式法则中 复合函数的推导路径 多变量“信息传递路径”

非常好&#xff0c;我们将之前关于偏导数链式法则中不能“约掉”偏导符号的问题&#xff0c;统一使用 二重复合函数&#xff1a; z f ( u ( x , y ) , v ( x , y ) ) \boxed{z f(u(x,y),\ v(x,y))} zf(u(x,y), v(x,y))​ 来全面说明。我们会展示其全微分形式&#xff08;偏导…...