mysql之语句

1、mysql的扩展语句

(1)创建表

if not exists yyy:这个表不存在才会创建

zerofill:自动补齐位置

primary key:当前表的主键,主键只能有一个,唯一且不能为空

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

unique key 唯一性约束,跟主键不同,可以为空

(2)复制表

create table test like sss;复制表结构,通过like语句复制sss的表结构,不能复制表的数据

insert into test select * from sss;复制表的数据,两个表的数据结构要一致

create table test2 (select * from sss);复制表结构和数据

(3)删表

删除表内的所有数据:delete、truncate、drop

①delete from yyy;  

delete删除是一行一行删除,如果表中有自增长列,清空所有记录之后,再次添加内容,会从原来的记录之后继续自增写入(有时有效)

②truncate table test;(工作中常用)

清空表的数据,而且会把表结构重新建立。速度比delete快

③drop table test2;(不推荐使用)

直接删除整个表

(4)创建临时表

临时表一般用于调试,创建后在表目录中不显示,连接退出之后,临时表会被销毁,且临时表无法创建外键

2、mysql的约束方式

(1)主键约束:用于唯一标识表中的每一行,主键列的值必须唯一且不能为空,一个表只能有一个主键

(2)外键约束:用于建立表与表之间的关系。一般是和另一张表的主键关联。作用:确保数据引用的完整性。一个表可以有多个外键

(3)非空约束:not null,该位置必须要有值,空格也算

(4)唯一性约束:unique,确保列中的所有值都是唯一的,类似于主键,但是可以为空,且多个表可以有多个唯一约束

(5)默认值约束:default,在插入表数据值,如果没有定义值,会提供一个默认值

(6)自增约束:auto_increment,每行自动生成一个唯一标识,一般配合主键使用

show create table class;   #查看从表class

主表和从表:

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

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

先删外键,再删外键索引

先解除自增约束,才能删除主键

内部外键关联

外部外键关联

3、实题:两张表建立主从关系

1、主表school

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

name varchar(15)不能为空

email varchar(45)可以为空,但是不能重复,且有默认值“bdqnkgc@126.com”

2、从表cloud_ky32

id int(4)自增长,主键

class_name 不能为空

de_id 外键,和主键关联

address可以为空,默认值“地址不祥”

phone int(11)不能为空且不能重复

3、删除外键关联,删除从表的主键,重新定义主键为phone

①创建主表

②创建从表

③删除从表的外键

④删除从表的主键

⑤重新定义主键

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

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

相关文章

AI:43-基于深度学习的昆虫图像识别

🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌本专栏包含以下学习方向: 机器学习、深度学…

Python爬虫程序中的504错误:原因、常见场景和解决方法

概述 在编写Python爬虫程序时,我们经常会遇到各种错误和异常。其中,504错误是一种常见的网络错误,它表示网关超时。是指客户端与服务器之间的网关通信过程中,服务器在规定的时间内没有返回响应,导致请求超时。此类错误…

学习Bootstrap 5的第十九天

目录 范围 自定义范围 步进 最小值和最大值 输入框组 输入组 输入组大小 带复选框和单选框的输入组 输入组按钮 带下拉按钮的输入组 输入框组标签 范围 自定义范围 可以通过将.form-range类添加到type"range"的输入元素来自定义范围菜单的样式。 要创建…

ios 代码上下文截屏之后导致的图片异常问题

业务场景,之前是直接将当前的collectionview截长屏操作,第一次截图会出现黑色部分原因是视图未完全布局,原因是第一次使用了Masonry约束然后再截图的时候进行了frame赋值,可以查看下Masonry约束和frame的冲突,全部修改…

卷积模型的Memory, Params, Flop是如何计算的?

文章目录 图片中的卷积的memory, params, flop是怎么计算的呢?MemoryParamsFlop池化层 图片中的卷积的memory, params, flop是怎么计算的呢? Memory 内存:存储每一层输出的元素 C * H * W 64 * 56 * 56 200704 个元素 有200704个元素&am…

【HTML/CSS学习】margin和padding的区别

1. margin margin(外边距)属性定义元素周围的空间。 margin主要在元素的外部创建空白区域,用于分隔元素与其相邻元素之间的距离。 用处:可以用于调整两个元素之间的间隔。 2. padding padding(填充)定义…

微信开放平台账号

微信开放平台账号是用于注册APP端用的微信分享、登陆、支付等功能接口的账号,在制作APP的过程中非常重要。通过微信开放平台,开发者可以接入微信支付、微信登录等功能,从而为APP提供更多样化的服务。 微信开放平台账号管理权限包括创建开放平…

在pycharm中,远程操作服务器上的jupyter notebook

一、使用场景 现在我们有两台电脑,一台是拥有高算力的服务器,另一台是普通的轻薄笔记本电脑。如何在服务器上运行jupyter notebook,同时映射到笔记本电脑上的pycharm客户端中进行操作呢? 二、软件 pycharm专业版,jupy…

SpringSecurity6 | HelloWorld入门案例

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: Java从入门到精通 ✨特色专栏&#xf…

MySQL表的增删改查(基础)

文章目录 一、CRUD二、新增(Create)2.1 单行数据全列插入2.2多行数据指定列插入 三、查询3.1 全列查询3.2 指定列查询3.3 查询字段表达式3.4 别名3.5 去重 DISTINCT3.6 排序3.7 条件查询 WHERE3.8 分页查询 LIMIT 四、修改(Update&#xff09…

【网络协议】聊聊TCP如何做到可靠传输的

网络是不可靠的,所以在TCP协议中通过各种算法等机制保证数据传输的可靠性。生活中如何保证消息可靠传输的,那么就是采用一发一收的方式,但是这样其实效率并不高,所以通常采用的是累计确认或者累计应答。 如何实现一个靠谱的协议&…

vulnhub momentum 靶机复盘

环境配置 到学校了 原来的桥接配置要改 这里记录几个点备忘 1.virtualbox 桥接 未指定 重新安装驱动VBoxNetLwf.inf 2.配置完靶机启动失败 手动安装VBoxNetLwf.inf 不要用virtualbox自带的netlwfinstall 3.配置完nmap扫不到 rw init/bin/bash 进去看看网卡配置 信息收集…