MySQL基础2

news2024/10/5 16:26:43

一.常见数据类型

数值类型:

TINYINT:占用1字节,默认为有符号

BIT(M):位类型:M指定位数,默认值为1,范围为1-64,bit类型在显示时,按照ASCII码对应的值进行显示。

FLOAT[(M,D)]:M指定显示长度,D指定小数位数,占用4字节

DOUBLE[(M,D)]:M指定显示长度,D指定小数位数,占用8字节

DECIMAL(M,D):M指定显示长度,D指定小数位数,每4个字节表示9个数字,小数点占用1字节

文本类型:

CHAR(L):固定长度字符串:L指定字符串长度,最大为255

VARCHAR(L):可变长度字符串:L指定字符串长度上限,最多占用65535字节

时间

DATE / DATETIME:日期类型:YYYY-MM-DD格式 / YYYY-MM-DD HH:MM:SS格式

TIMESTAMP:时间戳:以YYYY-MM-DD HH:MM:SS格式进行显示

字符串类型

ENUM:枚举类型:ENUM类型的取值范围需要在定义字段时进行指定,设置字段值时只允许从成员中选取单个值,其所需的存储空间由定义ENUM类型时指定的成员个数决定

SET:集合类型:SET类型的取值范围需要在定义字段时进行指定,设置字段值时可以从成员中选取一个或多个值,其所需的存储空间由定义SET类型时指定的成员个数决定

 二.表的约束

介绍常见的约束

空属性

空属性有两个值,分别是null和not null,空值是无法参与运算。

默认值

向表中插入数据时如果不给带有默认值的字段赋值,那么就会使用默认值进行插入。

zerofill

显示宽度

 主键

主键是唯一的约束该字段里面的数据,表当中每条记录的主键不能重复也不能为空,并且一张表里面只能有一个主键,此外,主键所在的列通常是整数类型。

复合主键

一个主键可以由多个字段来承担,这种主键叫做复合主键,这多个字段不能同时重复也不能为空。

 自增长

1.若该字段设置了自增长且插入时未给值,那么自动找出当前字段当中已有的最大值,将最大值进行加一后的值插入该字段。

2.任何一个字段要做自增长,前提是其本身必须是一个索引(Key一栏有值),并且自增长字段必须是数值类型,一张表最多只能有一个自增长字段。

3.自增长通常和主键搭配使用,作为逻辑主键

 唯一键

一张表中可能有很多字段需要唯一性,但一张表中只能有一个主键,而唯一键就可以解决表中有多个字段需要唯一性约束的问题。唯一键允许字段为空,并且可以多个字段为空,空字段不做唯一性比较。

 外键

外键用来定义主表和从表之间的关系,外键约束主要定义在从表上,主表必须有主键约束或唯一键约束。

外键定义后,要求插入外键列的数据必须在主表对应的列存在或为null。

定义一个班级表为主表(含班级的id和班级名),定义一个学生表为从表(包含学生的id、姓名以及学生所在班级对应的id)

 先往主表插入数据

 从表插入数据是,对应的class_id必须在主表的id中

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

华为OD机试(41-60)老题库解析Java源码系列连载ing

华为OD机试算法题新老题库练习及源码 41.寻找相同子串42.找出经过特定点的路径长度43.全量和已占用字符集44.密钥格式化45.数字字符串组合倒序 郑重声明: 1.博客中涉及题目为网上搜索而来,若侵权,请联系作者删除。 源码内容为个人原创&#…

git --- git merge用法

1 git merge介绍 在Git中,合并是一个连接分叉历史的过程。它将两个或多个开发历史连接在一起。git merge命令可以帮助你把git分支创建的数据整合到一个分支中。git merge会将一系列的提交关联到一个统一的历史。 在上图中,有两个分支 master 和 feature。我们可以看到,我们…

《priority_queue》

本文主要介绍优先级队列的使用,以及一个TOPK问题的OJ 文章目录 一、priority_queue的介绍二、priority_queue的使用三、[数组中第k个大的元素](https://leetcode.cn/problems/kth-largest-element-in-an-array/) 一、priority_queue的介绍 优先队列是一种容器适配器…

代码创造童话--Python为六一儿童节送专属礼物

前言: Hello大家好,我是Dream。 六一儿童节到啦,祝所有的朋友们六一儿童节快乐! 在这个节日里,孩子们可以接受父母、老师、社会各界人士的关爱和祝福,同时也可以享受到各种各样的礼物和活动。Python作为一门…

第十五篇、基于Arduino uno,获取mpu6050三轴加速度、角速度、温度的数据——结果导向

0、结果 说明:先来看看串口调试助手显示的结果,第一个值是温度值,第二个值是X轴的加速度,第三个值是Y轴的加速度,第四个值是Z轴的加速度,第五个值是X轴的角速度,第六个值是Y轴的角速度&#xff…

C++库函数——string类

1. 简介 ①什么是string类 源文档 译: 1. 字符串是表示字符序列的类 2. 标准的字符串类提供了对此类对象的支持,其接口类似于标准字符容器的接口,但添加了专门用于操作单字节字符字符串的设计特性。 3. string 类是使用 char( 即作为它…

【六一】90后的你们还记得年少时的梦吗?还记得你们当初追的奥特曼吗?现在就让我们一起回味我们逝去的曾经吧!

迎面走来的是我们从未正式出过剧集,并附有“反派”盛名的大哥!佐~~菲~~! 还记得第一个登场,第一个进入我们的视野的那位吗?没错,那就是奥特曼 我的最爱~~~~~赛文! 一度以为,曾经的那…

Bellhop 绘制传播损失

文章目录 前言一、相干传播损失(TL)基本算例1、环境文件2、绘制相干传播损失 二、相干、半相干和非相干传播损失(TL) 前言 上文我们讲述了 Bellhop 的使用以及使用 bellhop 绘制了声速剖面、声线轨迹及本证声线,本文我…

【SpringMVC】入门案例

前言: SpringMVC是隶属于Spring框架的一部分,主要是用来进行Web开发,是对Servlet进行了封装。 对于SpringMVC我们主要学习如下内容: SpringMVC简介请求与响应REST风格SSM整合(注解版)拦截器 SpringMVC是处于Web层的框架,所以其主要的作用…

用户验证FTP实验

用户FTP实验 目录 匿名用户验证: 本地用户验证: 本地用户访问控制: 匿名用户验证: 例:(前提配置,防火墙关闭,yum安装,同模式vmware11) 现有一台计算机huy…

数据结构算法-图技术点(图的算法实现)

先看 定义邻接表 //边 struct Edge {int AdjVertex;//邻接顶点int Weight;//权值Edge* next;//下一条边 };using VertexValue use define//顶点 struct Vertex {VertexValue value; // 顶点数据Edge* First;//获取第一条边 }; //邻接顶点 using AdjVertex Vertex*; //邻接…

自动驾驶嵌入式开发工程师:车载SOC开发修炼秘籍

声明:本文档是博主在开发学习过程中写的笔记,本意是便于以后开发复盘,参考《 ug1144-petalinux-tools-reference-guide》、《ug1085》、黑金Zynq UltraScale MPSoC 5EV开发板资料、英伟达官方资料。大佬勿喷 大佬勿喷 大佬勿喷!&a…

【资料分享】RS-485 串行接口说明

面对大量可用的串行接口,可能很难理解它们之间的差异以及何时使用它们。正如我最喜欢的工程学教授经常说的那样,“标准的美妙之处在于有很多标准可供选择。” 今天的编码器比以往任何时候都更智能、更先进,要求工程师放弃更简单的正交增量传感…

智能网联环境下数据安全分析与建设思考

01安全概况 随着智能化程度不断提升,汽车正逐渐从传统意义上的交通工具演化为公路上的智能终端,核心部件也从发动机、变速箱、底盘上升为芯片、软件与数据。相关机构研究表明,目前全球市场搭载智能网联功能的新车渗透率约为45%,预…

160个CrackMe之001

吾爱中的逆向练习题 运行程序 有两个方式 一个是账号登入 一个是序列号输入 账号输入 方法一 爆破 我们先进行账号输入 这个是最简单的逆向 所以我们可以使用 字符串查找看看 先试用ollydbg打开 右键 ->查找 ->所有参考文本字符串 这里我们能发现有两个报错 我们还…

《C++ deque的介绍以及stackh和queue的模拟实现》

文章目录 一、容器适配器1.1 什么是适配器1.2 STL中stack和queue的底层结构1.3 deque的简单介绍1.3.1 deque的原理介绍1.3.2 deque的结构1.3.3 deque和vector以及list的对比1.3.4 为什么选择deque作为stack和queue的适配容器 二、stack的模拟实现三、queue的模拟实现 一、容器适…

5个超实用视频素材网站,免费下载~

推荐几个高清无水印的视频素材网站,重点是可以免费下载使用,建议收藏! 菜鸟图库 https://www.sucai999.com/video.html?vNTYxMjky 可以称之为最大素材库,在这里你可以找到设计、办公、图片、视频、音频等各种素材。视频素材就有…

基于Nginx搭建LNMP

目录 一:安装 Nginx 服务 1、关闭防火墙、安装依赖包 2、创建运行用户 3、压缩包编译安装 4、优化路径 5、添加 Nginx 系统服务 二: 安装 MySQL 服务 1、安装Mysql环境依赖包 2、创建运行用户 3、编译安装 4、修改mysql 配置文件 5、更改mysql安装…

网络通信:http协议

虽然我们说, 应用层协议是我们程序猿自己定的. 但实际上, 已经有大佬们定义了一些现成的, 又非常好用的应用层协议, 供我们直接参考使用. HTTP(超文本传输协议) 就是其中之一. 认识URL 统一资源定位符(Uniform Resource Locator,缩写:URL),…

springboot + vue3实现视频播放Demo(video.js Vue3-video-play视频播放器)

文章目录 学习链接前言ffmpeg安装ffmpeg配置环境变量分割视频文件 后台配置WebConfig 前端代码video.js示例安装依赖视频播放组件效果 Vue3-video-play示例安装依赖main.js中使用视频播放组件效果 学习链接 ffmpeg官网 长时长视频java存储及vue播放解决方法 【 攻城略地 】vue…