MySQL扩展语句和约束条件

news/2024/5/5 13:27:23/文章来源:https://blog.csdn.net/qq_51506982/article/details/134118342

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;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_190493.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android NDK开发详解之Application.mk探秘

Android NDK开发详解之Application.mk探秘 概览变量APP_ASFLAGSAPP_ASMFLAGSAPP_BUILD_SCRIPTAPP_CFLAGSAPP_CLANG_TIDYAPP_CLANG_TIDY_FLAGSAPP_CONLYFLAGSAPP_CPPFLAGSAPP_CXXFLAGSAPP_DEBUGAPP_LDFLAGSAPP_MANIFESTAPP_MODULESAPP_OPTIMAPP_PLATFORMAPP_PROJECT_PATHAPP_STL…

矢量图形编辑软件illustrator 2023 mac中文软件特点

illustrator 2023 mac是一款矢量图形编辑软件,用于创建和编辑排版、图标、标志、插图和其他类型的矢量图形。 illustrator 2023 mac软件特点 矢量图形:illustrator创建的图形是矢量图形,可以无限放大而不失真,这与像素图形编辑软…

一文了解什么是JWT 与sessions

​session 和 JSON Web 令牌 (JWT) 是在调用之间维护此身份验证状态的两种最流行的方法。两者各有利弊,在它们之间进行选择需要了解这些权衡以及它们与应用程序的特定需求之间的关系。 一、基于session的身份验证 在基于session的身份验证(也称为基于 c…

spring boot配置ssl(多cer格式)保姆级教程

1. 准备cer格式的证书; 2. 合并cer证书并转化成jks格式的证书 为啥有这一步,因为cer证书配置在spring boot项目中,项目启动不起来。如果有大佬想指导一下可以给我留言,在此先谢过大佬。 1)先创建一个jks格式的证…

【WSL 2】Windows10 安装 WSL 2,并配合 Windows Terminal 和 VSCode 使用

【WSL 2】Windows10 安装 WSL 2,并配合 Windows Terminal 和 VSCode 使用 1 安装 Windows Terminal2 安装 WSL 23 在 Windows 文件资源管理器中打开 WSL 项目4 在 VSCode 中使用 WSL 24.1 必要准备4.2 从 VSCode 中 Connect WSL4.3 从 Linux 中打开 VSCode 1 安装 W…

分布式:一文吃透分布式事务和seata事务

目录 一、事务基础概念二、分布式事务概念什么是分布式事务分布式事务场景CAP定理CAP理论理解CAPCAP的应用 BASE定理强一致性和最终一致性BASE理论 分布式事务分类刚性事务柔性事务 三、分布式事务解决方案方案汇总XA规范方案1:2PC第一阶段:准备阶段第二…

基于深度学习的中文情感分类 - 卷积神经网络 情感分类 情感分析 情感识别 评论情感分类 计算机竞赛

文章目录 1 前言2 情感文本分类2.1 参考论文2.2 输入层2.3 第一层卷积层:2.4 池化层:2.5 全连接softmax层:2.6 训练方案 3 实现3.1 sentence部分3.2 filters部分3.3 featuremaps部分3.4 1max部分3.5 concat1max部分3.6 关键代码 4 实现效果4.…

基于SpringBoot的社区医院管理系统设计与实现

目录 前言 一、技术栈 二、系统功能介绍 管理员功能实现 用户信息管理 病例信息管理 家庭医生管理 药品信息管理 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的…

pgAdmin 4 v7.8 发布,PostgreSQL 开源图形化管理工具

导读pgAdmin 是 PostgreSQL 领先的开源图形化管理工具。pgAdmin 4 旨在满足新手和有经验的 Postgres 用户的需求,提供强大的图形界面,简化了数据库对象的创建、维护和使用。 pgAdmin 开发团队日前发布了 pgAdmin 4 v7.8 版本,这个版本包括 21…

GPT的广泛应用会对互联网公司造成挑战吗?——探讨GPT在实际使用中的应用和影响

文章目录 前言GPT 技术的背景和发展历程GPT 技术对互联网行业的影响GPT 技术在互联网行业中的应用GPT 技术对于用户隐私和数据安全的威胁GPT 技术对于人类工作岗位的影响加强 AI 伦理和监管加强 AI 安全性和隐私保护推动 AI 创新和发展,避免过度依赖 AIGPT 技术是一…

在重生奇迹MU中如何选择最佳的挂机点?

如何寻找最适合自己的挂机地点呢?小编建议玩家朋友从以下几点着手加以抉择。 怪物的等级不能过高 你的最佳挂机点要结合自己的实际情况来定,如果你刷怪比较吃力的话,那么此游戏地图并不适合你挂机,一旦挂机过程中,你…

FIFO基础知识

🎀 文章作者:二土电子 🌸 关注文末公众号获取其他资料和工程文件! 🐸 期待大家一起学习交流! 文章目录 一、FIFO简介1.1 什么是FIFO1.2 FIFO的功能1.3 什么时候使用FIFO1.4 FIFO的分类1.5 FIFO重要参数 …

大厂面试题-JVM为什么使用元空间替换了永久代?

目录 面试解析 问题答案 面试解析 我们都知道Java8以及以后的版本中,JVM运行时数据区的结构都在慢慢调整和优化。但实际上这些变化,对于业务开发的小伙伴来说,没有任何影响。 因此我可以说,99%的人都回答不出这个问题。 但是…

中科驭数受邀亮相两场重要行业盛会,摘得2023“璀璨技术奖”奖项

近日,中科驭数作为DPU算力基础设施领军企业,受邀参与2023信息技术应用创新专题研讨会暨第二届集成电路产业发展创新大会、以及2023AI网络创新大会。在两大行业盛会上,中科驭数与行业知名专家和企业代表齐聚一堂,分享了DPU在集成电…

数据库数据恢复—NTFS分区损坏的SqlServer数据库数据恢复案例

SqlServer数据库数据恢复环境: 一台服务器,windows操作系统NTFS文件系统,运行了12个sqlserver数据库。 SqlServer数据库故障: 根据用户描述,故障情况是工作人员误操作导致服务器硬盘上sqlserver数据库所在分区损坏。经…

nacos在linux中的安装、集群的配置、mysql生产配置

1.下载和安装 官方下载地址:https://github.com/alibaba/nacos/releases,根据自己需要的本版去下载就行 下载的是 .tar.gz 后缀的文件是linux版本的 使用tar命令解压,完成之后是一个nacos的文件夹 和windows下的文件夹目录是一样的 要启…

优先队列PriorityQueue

前言 PriorityQueue这个队列不知道大家使用过吗,反正我用的很少,主要对它不是很了解,今天我带领大家剖析下PriorityQueue这个优先级队列。 PriorityQueue介绍 顾名思义,PriorityQueue是优先队列的意思。优先队列的作用是能保证每…

NB-IOT的粮库挡粮门异动监测装置

一种基于NBIOT的粮库挡粮门异动监测装置,包括若干个NBIOT开门监测装置,物联网后台管理系统,NBIOT低功耗广域网络和用户访问终端;各个NBIOT开门监测装置通过NBIOT低功耗广域网络与物联网后台管理系统连接,物联网后台管理系统与用户访问终端连接.NBIOT开门监测装置能够对粮库挡粮…

一文了解Elasticsearch

数据分类 数据按数据结构分类主要有三种:结构化数据、半结构化数据和非结构化数据。 结构化数据 结构化数据具有明确定义数据模型和格式的数据类型。 特点: 数据具有固定的结构和模式。 数据项明确定义数据类型和长度。 适合用于数据查询、过滤和分…