当前位置: 首页 > 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…...

测试markdown--肇兴

day1&#xff1a; 1、去程&#xff1a;7:04 --11:32高铁 高铁右转上售票大厅2楼&#xff0c;穿过候车厅下一楼&#xff0c;上大巴车 &#xffe5;10/人 **2、到达&#xff1a;**12点多到达寨子&#xff0c;买门票&#xff0c;美团/抖音&#xff1a;&#xffe5;78人 3、中饭&a…...

多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验

一、多模态商品数据接口的技术架构 &#xff08;一&#xff09;多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如&#xff0c;当用户上传一张“蓝色连衣裙”的图片时&#xff0c;接口可自动提取图像中的颜色&#xff08;RGB值&…...

基础测试工具使用经验

背景 vtune&#xff0c;perf, nsight system等基础测试工具&#xff0c;都是用过的&#xff0c;但是没有记录&#xff0c;都逐渐忘了。所以写这篇博客总结记录一下&#xff0c;只要以后发现新的用法&#xff0c;就记得来编辑补充一下 perf 比较基础的用法&#xff1a; 先改这…...

Robots.txt 文件

什么是robots.txt&#xff1f; robots.txt 是一个位于网站根目录下的文本文件&#xff08;如&#xff1a;https://example.com/robots.txt&#xff09;&#xff0c;它用于指导网络爬虫&#xff08;如搜索引擎的蜘蛛程序&#xff09;如何抓取该网站的内容。这个文件遵循 Robots…...

Ascend NPU上适配Step-Audio模型

1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统&#xff0c;支持多语言对话&#xff08;如 中文&#xff0c;英文&#xff0c;日语&#xff09;&#xff0c;语音情感&#xff08;如 开心&#xff0c;悲伤&#xff09;&#x…...

Python如何给视频添加音频和字幕

在Python中&#xff0c;给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加&#xff0c;包括必要的代码示例和详细解释。 环境准备 在开始之前&#xff0c;需要安装以下Python库&#xff1a;…...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比

目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec&#xff1f; IPsec VPN 5.1 IPsec传输模式&#xff08;Transport Mode&#xff09; 5.2 IPsec隧道模式&#xff08;Tunne…...

蓝桥杯3498 01串的熵

问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798&#xff0c; 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习

禁止商业或二改转载&#xff0c;仅供自学使用&#xff0c;侵权必究&#xff0c;如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...