【python】进阶--->MySQL数据库(四)

一、主键约束

primary key : 唯一标识数据库中的每一条记录.
被主键的值唯一
主键列不能为null
每个表应该都要设置主键

添加主键约束

在创建表时,直接在字段后面添加主键约束
create table 表名 (字段名 类型(长度) primary key )

创建表时,不直接在字段后面添加主键,在表的约束区添加主键

在这里插入图片描述

创建表时不写主键,表创建后,通过修改表的结构,给某个字段添加主键

在这里插入图片描述

删除主键

alter table 表名 drop primary key;

在这里插入图片描述

二、唯一约束:UNIQUE

unique约束唯一标识数据库表中的每条记录.
primary key自动拥有了unique的约束.

添加唯一约束:

创建表时,直接在字段后面添加唯一约束

在这里插入图片描述

创建表时,在约束区域添加

在这里插入图片描述

创建表后,修改表结构,声明字段唯一

在这里插入图片描述

删除唯一约束:

alter table 表名drop index 字段;

在这里插入图片描述

三、自动增长约束

在表中使用auto_increment约束,可以自动生成字段的值.搭配primary key一起使用

添加自动增长约束 :

创建表时,直接在字段后面添加

在这里插入图片描述

默认auto_increment的开始值是1,这个可以进行修改 :

在这里插入图片描述

创建表后,添加
alter table 表名 modify 字段 int 
auto_increment;

四、非空约束

not null约束强制列不接收null值

添加约束:

在创建表时,直接在字段后面添加

在这里插入图片描述

在创建表后,通过修改表结构添加
alter table 表名 modify 字段 类型(长度) not null;

删除非空约束:

alter table 表名 modify 字段 类型(长度);

五、默认约束

在添加数据时,如果该字段没有指定值,则使用默认值.

在这里插入图片描述

在创建表后,通过修改表结构添加
alter table 表名 modify 字段 类型(长度) default 默认值;

删除默认约束:

alter table 表名 modify 字段 类型(长度);

六、外键约束foreign key

通过外键约束让表和表之间产生关联
constraint 外键名 foreign key(外键列名称) references 关联表(关联表主键字段)

在这里插入图片描述

删除外键:

alter table 表名 drop foreign key 外键名;

七、多表之间的关系:

一对一 : 一个身份证对应一个人,一个人对应一个身份证
一对多 : 一个部门有多个员工,一个员工只能对应一个部门
多对多 : 一个学生可以选择多门课程,一门课程可以被多个学生选择.

多对多建表:

一张学生表,一张课程表,一张中间关系表

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

多表查询

内连接查询(inner join,inner可以省略)
select * from 表名1, 表名2 where 条件;

在这里插入图片描述

select * from 表名1 inner join 表名2 on 条件;

在这里插入图片描述

外连接查询(outer join)
左外连接:left outer join
select * from 表名1 left outer join 表名2 on 条件;

在这里插入图片描述

右外连接:right outer join
select * from 表名1 right outer join 表名2 on 条件;

在这里插入图片描述

在这里插入图片描述

子查询

一个查询的结果作为另一个查询的一部分

在这里插入图片描述

在这里插入图片描述

关于Python_mysql数据库(四)的介绍今天就到这里啦,后续我会为大家继续介绍mysql数据库的相关知识哦~
关注我,带你领略Python的风采~😍😍😍

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

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

相关文章

mysql8 源码编译 客户端连接运行 报段异常解决

mysql8 源码编译 客户端连接运行 报段异常解决。解决方案:删除之前编译的文件。先安装libncurses-dev依赖,在重新编译。原因:第一次编译没有libncurses-dev依赖,编译告警,再次编译有缓存,没有引入声明头文件…

选择安全数据交换系统时 要考虑哪些因素?

安全数据交换系统是一种专门设计用于在不同的网络环境(如内部不同网络,内部网络和外部网络)之间安全传输数据的解决方案。它通常包括一系列的技术和流程,旨在确保数据在传输过程中的完整性、机密性和可用性。 安全数据交换系统可以…

基于Apache POI-操作Excel数据-读写

实现: 读(获取) 写(导入) 2.1 介绍 Apache POI 是一个处理Miscrosoft Office各种文件格式的开源项目。简单来说就是,我们可以使用 POI 在 Java 程序中对Miscrosoft Office各种文件进行读写操作。 一般情…

web前端(第二次作业)

1、计算用户指定的数值内的奇数和。例如用户输入的是 10&#xff0c;则计算 1 3 5 7 9 的和 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><script>var nprompt("请输入数值&#xff1a;&…

String引用类型

目录 前言&#xff1a; String类&#xff1a; 字符串的比较&#xff1a; 关于String的一些方法&#xff1a; charAt&#xff1a; indexOf&#xff1a; lastIndexOf: valueOf: parselnt: toLowerCase和toUpperCase: toCharArray: format: replace: replace…

高通开发系列 - RT补丁死机问题scheduling while atomic

By: fulinux E-mail: fulinux@sina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! 返回:专栏总目录 目录 背景概述问题现象了解RTOS如何使用高分辨率计时器?RT-mutex 实现设计线程化的中断处理程序睡眠spinlock

Picturesocial | 开发实践:如何在15分钟内将应用容器化

在常见的软件架构体系中&#xff0c;容器无疑是一个技术热点。有些开发者在工作中熟练使用容器技术&#xff0c;有些可能刚刚开始容器之旅。 面对容器使用经验不同的各类开发者&#xff0c;我们希望通过这个系列文章&#xff0c;由浅入深地介绍如何使用容器技术来构建&#xf…

【论文阅读 CIDR17】Self-Driving Database Management Systems

Self-Driving Database Management Systems MySummary ABSTRACT 之前的advisory tools来帮助DBA处理系统调优和物理设计的各个方面&#xff0c;都仍然需要人类对数据库的任何更改做出最终决定&#xff0c;并且是在问题发生后修复问题的反动措施reactionary measures 。 An …

Batch Normalization、Layer Normalization代码实现

目录 前言批量正则化-BN层正则化-LN 前言 BN(Batch Normalization)首次提出与论文&#xff0c;主要目的是为了解决训练深层神经网络慢的问题。我们可以神经网络整体可以看成一个高阶的复杂函数&#xff0c;通过训练优化它的参数&#xff0c;可以用于拟合各种复杂的数据分布。一…

[易语言]使用易语言部署yolov5-7.0的图像分类模型

【官方框架地址】 GitHub - ultralytics/yolov5: YOLOv5 &#x1f680; in PyTorch > ONNX > CoreML > TFLite 【算法介绍】 YOLO&#xff08;You Only Look Once&#xff09;系列算法是一种在计算机视觉领域广泛应用的目标检测算法&#xff0c;而YOLOv5是该系列中的…

数据结构初阶之排序

个人主页&#xff1a;点我进入主页 专栏分类&#xff1a;C语言初阶 C语言程序设计————KTV C语言小游戏 C语言进阶 C语言刷题 数据结构初阶 Linux 欢迎大家点赞&#xff0c;评论&#xff0c;收藏。 一起努力,共赴大厂。 目录 一.前言 二.选择排序 …

智能安全帽识别系统简析

在工业安全领域&#xff0c;安全帽识别系统的重要性不言而喻。这种系统利用先进的图像识别技术&#xff0c;确保工地上每位工人都佩戴安全帽&#xff0c;从而大幅提升工作场所的安全性。本文旨在探讨这一系统的工作原理、应用范围以及面临的挑战。 安全帽识别系统的工作原理 智…

GPT图解大模型是怎样构建的

❤️作者主页&#xff1a;小虚竹 ❤️作者简介&#xff1a;大家好,我是小虚竹。2022年度博客之星评选TOP 10&#x1f3c6;&#xff0c;Java领域优质创作者&#x1f3c6;&#xff0c;CSDN博客专家&#x1f3c6;&#xff0c;华为云享专家&#x1f3c6;&#xff0c;掘金年度人气作…

0基础学java-day25(JDBC 和数据库连接池)

一、JDBC概述 1 基本介绍 2 简单模拟 package com.hspedu.jdbc.myjdbc;/*** author 林然* version 1.0* 我们规定的 jdbc 接口(方法)*/ public interface JdbcInterface {//连接public Object getConnection() ;//crudpublic void crud();//关闭连接public void close(); }pac…

立白科技集团:研发安全推动数字化蜕变,日化业务再上新高度

立白科技集团成立于1994年&#xff0c;是我国日化行业的领军企业&#xff0c;致力于成为一家“品牌引领、数字经营、富有创新、富有活力”的智慧服务型企业。从2018年开始&#xff0c;立白科技集团加速数字化转型&#xff0c;打造数据和业务中台&#xff0c;并建立toB和toC平台…

小程序学习基础(首页展示)

原理通过首页展示的方式设置一个按钮&#xff0c;然后点击按钮跳转到相应的页面即可。 一 在js中定义一个需要展示页面的数组 二 在页面中使用fou循环来遍历其中的数据&#xff0c;并展示出来 页面代码 <!--index.wxml--> <navigation-bar title"牧原" …

vue3 锚点定位 点击滚动高亮

功能描述 点击导航跳到对应模块的起始位置&#xff0c;并且高亮点击的导航&#xff1b; 滚动到相应的模块时&#xff0c;对应的导航也自动高亮&#xff1b; 效果展示 注意事项 一定要明确哪个是要滚动的盒子&#xff1b;滚动的高度要减去导航栏的高度&#xff1b;当前在导航1…

Redis相关命令详解及其原理

Redis概念 Redis&#xff0c;英文全称是remote dictionary service&#xff0c;也就是远程字典服务。这是kv存储数据库。Redis&#xff0c;包括所有的数据库&#xff0c;都是请求-回应模式&#xff0c;通俗来说就是数据库不会主动地要给前台推送数据&#xff0c;只有前台发送了…

【HarmonyOS4.0】第十篇-ArkUI布局容器组件(二)

三、层叠布局容器&#xff08;Stack&#xff09; 堆叠容器组件 Stack的布局方式是把子组件按照设置的对齐方式顺序依次堆叠&#xff0c;后一个子组件覆盖在前一个子组件上边。 注意&#xff1a;Stack 组件层叠式布局&#xff0c;尺寸较小的布局会有被遮挡的风险&#xff0c; …

JS常用插件 Swiper插件 实现轮播图

Swiper介绍 Swiper 是一款免费以及轻量级的移动设备触控滑块的js框架 中文官网地址: https://www.swiper.com.cn/ 点击查看Swiper演示&#xff0c;里面的功能和样式十分丰富&#xff0c;根据自己的需求选择 中文教程中详细介绍了如何使用Swiper API文档中介绍了各个模块以及参…