MySQl基础入门⑤

news2024/10/25 20:28:17

上一遍知识内容

1.数据表的结构及数据完整性的设计

1、关系型数据库

关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一般面向于记录。

SQL 语句(标准数据查询语言)就是一种基于关系型数据库的语言,用于执行对关系型数据库中数据的检索和操作。

主流的关系型数据库包括 Oracle、MySQL、SQL Server、Microsoft Access、DB2 等。
关系型数据库是一种建立在关系模型(数学模型)上的数据库。关系模型是一种建立在关系上的模型,包括以下3个方面:

  1. 数据结构:二维表,解决数据如何存储。
  2. 操作指令集合:所有的SQL语句,解决如何处理数据。
  3. 完整性的约束:表内数据约束(字段与字段),表与表之间的约束(外键)。

关系是一个描述两个集合的元素如何互相联系或意义对应的数学概念。

因此,关系模型是建立在数学基础上的。然而,关系只是一个带有一些特殊属性的表,一个关系模型把数据组织到表中,而且仅在表中。客户、数据库设计者、数据库系统管理员和用户都以同样的方式从表中查看数据。那么表就是关系模型的近义词

2、非关系型数据库

NoSQL(NoSQL = Not Only SQL ),意思是“不仅仅是 SQL”,是非关系型数据库的总称。

除了主流的关系型数据库外的数据库,都认为是非关系型。

主流的 NoSQL 数据库有 Redis、MongBD、Hbase、CouhDB 等。

以实际案例来讲,分析一个教学系统,讲师负责教学,教学生,在教室教学生。

1.找出系统中所存在的实体。讲师表,学生表,班级表。
2.找出实体中应该存在的数据信息。
讲师:姓名、性别、年龄、工龄。
学生:姓名、性别、学号、专业、年龄。
班级表:班级名称、教室编号。

在这里插入图片描述
班级表
在这里插入图片描述
维护内部、实体与实体之间的联系。实体内部联系:每个学生都有姓名、性别、学号、学科等信息,学生表中的第二行的所有字段都是描述这个学生(内部联系),第二列只放性别(内部约束)。

关系型数据库的特点之一:有的表中对应的某个字段没有值(数据),
但是系统依然要分配相应的空间,那么在没有数据时空	间也是已经分配好的,所以关系型数据库比较浪费空间。

实体与实体(表与表)之间必然要有联系,每个学生肯定属于某个班级,每个班级有一定多个学生(一对多),这样就可以在学生表中增加一个班级字段来指向班级,且必须能够唯一地找到一个班级信息,从而让学生实体与班级实体之间建立关联关系(实体与实体之间的关系),如下表所示
在这里插入图片描述

2.数据类型

Mysql的三大数据类型:
1、数值类型
2、字符串类型
3、日期和时间类型

整数类型数据
整数类型又称数值型数据,数值型数据类型主要用来存储数字。不同的数据类型提供不同的取值范围,可以存储的值范围越大,所需的存储空间也会越大。

    MySQL 主要提供的整数类型有 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,
    其属性字段可以添加 AUTO_INCREMENT 自增约束条件。

在这里插入图片描述
例如: TINYINT 需要 1 个字节(8bit)来存储,那么 TINYINT 无符号数的最大值为 28-1,即 255;TINYINT 有符号数的最大值为 27-1,即 127。

小数类型数据

MySQL中使用浮点数和定点数来表示小数。浮点类型有单精度浮点数(FLOAT)和双精度浮点数(DOUBLE);
定点类型只有一种,就是 DECIMAL。

浮点类型和定点类型都可以用(M, D)来表示,其中 M 称为精度,表示总共的位数;D 称为标度,表示小数的位数。浮点数类型的取值范围为 M(1~255)和 D(1~30,且不能大于 M-2),分别表示显示宽度和小数位数。M 和 D 在 FLOAT 和DOUBLE 中是可选的,FLOAT 和 DOUBLE 类型将被保存为硬件所支持的最大精度。DECIMAL 的默认 D 值为 0、M 值为 10。

在这里插入图片描述

字符串型数据

字符串类型用来存储字符串数据,还能存储图片和声音的二进制数据。字符串可以区分或者不区分大小写的串比较,还可以进行正则表达式的匹配查找。MySQL中的字符串类型有 CHAR、VARCHAR、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT、ENUM、SET 等。
在这里插入图片描述
VARCHAR 和 TEXT 类型是变长类型,其存储需求取决于列值的实际长度( L),而不是取决于类型的最大可能尺寸。例如,一个 VARCHAR(10) 列能保存一个最大长度为 10 个字符的字符串,实际的存储需要字符串的长度 L 加上一个字节以记录字符串的长度。对于字符 “abcd”,L 是 4,而存储要求 5 个字节。

①.char 类型是固定长度,varchar类型是可变长度,char类型可能会浪费一些存储空间,varchar类型则是按实际长度存储,比较节省空间

②.char类型数据的检索速度要比varchar类型快。其中,char(n)是固定长度,如char(4)不管有几个字节,都将占用4个字节;
varchar是存入的的“实际字符数+1”个字节(n<=255)或“实际字符数+2”个字节(n>255),所以varchar(4),实际存入3个字符将占用4个字节。对于存储的字符串长度较小,但在速度上有要求时,可以使用char类型,否则使用varchar类型。

③varchar类型可以指定长度n,text类型则不能指定;存储varchar类型数据占用“实际字符+1”个字节(n<=255)或“实际字符数+2”个字节(n>255),存储text类型数据占用“实际字符数+2”个字节,且text创建索引要指定前多少个字符。当报错或查询text字段的值时,不删除尾部空格。

④.enum类型和set类型的值都是以字符串形式出现的,但在数据库中存储的是数值。enum类型只能取单值,他的数据列表是个枚举的集合,它的合法取值列表最允许有65 535个成员,因此,在需要从多个值中选取一个时,可以使用enum类型。如男或女。

时间和日期型数据

MySQL中有多处表示日期的数据类型:YEAR、TIME、DATE、DTAETIME、IMESTAMP。当只记录年信息的时候,可以只使用 YEAR 类型。每一个类型都有合法的取值范围,当指定不合法的值时,系统将“零”值插入数据库中。(时间相关的数据可以加引号’ ',也可以不加)
在这里插入图片描述

mysql对于不同种类的日期和时间有很多数据类型,

如year和time。如果只需要存储年份,使用year类型即可;
如果只需要记录时间,使用time类型即可,
如果需要同事存储日期和时间,就可以用datatime或timestamp类型。存储范围较大的日期最好使用datetime类型。

timestamp类型也有datetime类型不具备的属性,默认情况下,当插入一条记录但没有给timestamp类型字段指定具体的值时,
MYSQl会把timestamp字段设置为当前时间。因此,当需要再插入记录的同时插入当前时间,使用timestamp类型更方便。

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

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

相关文章

精准获客、优化体验,Xinstall数据自动分析全搞定

在移动互联网时代&#xff0c;App已经成为了我们生活中不可或缺的一部分。然而&#xff0c;对于App开发者来说&#xff0c;如何有效地评估渠道效果、精准获客以及优化用户体验&#xff0c;一直是一个令人头疼的问题。幸运的是&#xff0c;Xinstall作为一款一站式App全渠道统计服…

组合逻辑电路(一)(加法器)

目录 组合逻辑电路的特点及功能描述 采用SSI的组合逻辑电路的分析与设计 采用SSI的组合逻辑电路的分析 采用SII的组合逻辑电路的设计 例 例 例 常用的MSI组合逻辑电路 半加器 全加器 加法器 串行进位加法器 例 例 超前进位加法器 组合逻辑电路的特点及功能描述 小规模集成…

洗地机怎么选?家用洗地机推荐!海尔/希亦/美的/小米洗地机哪个牌子更值得买

近年来&#xff0c;智能清洁产品也是一大热门品类&#xff0c;尤其是对于城市上班族来说&#xff0c;购买一款智能清洁产品&#xff0c;既能够让家里保持干净&#xff0c;而且清洁起来也省时省力&#xff0c;可谓是一举两得。而洗地机凭借易用性、实用性以及便利性等优势&#…

STM32 | Proteus 8.6安装步骤(图文并茂)

01 Proteus 8.6 简介 Proteus 8.6 是一款功能强大的电子设计自动化软件,广泛用于电路设计、仿真和PCB布局。它为电子工程师和学生提供了一个全面的工具集,用于设计和验证各种电路和电子设备。Proteus 8.6 包括了以下几个主要特性: 1. 电路设计和仿真:Proteus 8.6 提供了一…

SSM框架,SSM框架的整合

SSM整合的介绍 微观&#xff1a;将Spring SpringMVC Mybatis框架应用到项目中 SpringMVC框架负责控制层Spring 框架负责整体和业务层的声明式事务管理MyBatis框架负责数据库访问层 宏观&#xff1a;Spring接管一切&#xff08;将框架核心组件交给Spring进行IoC管理&#xff09…

C++_程序流程结构_跳转语句_break

break 作用 用于跳出选择结构或循环结构 break使用的时机 出现在switch条件语句中&#xff0c;作用是终止case并跳出switch出现在循环语句中&#xff0c;作用是跳出当前的循环语句出现在嵌套循环中&#xff0c;跳出最近的内层循环语句 示例1 示例2 示例3

Java单元测试实战

简介 在开发中&#xff0c;发现很多人并不理解什么是单元测试&#xff0c;容易和集成测试混淆&#xff0c;所以专门写一章来讲解&#xff0c;再拓展一下如果获得代码测试覆盖率。我们通常可以将测试分为两大类&#xff0c;一种是集成测试&#xff0c;一种是单元测试。 集成测…

5G与智慧文旅的融合发展:推动旅游业转型升级与可持续发展

随着5G技术的飞速发展和广泛应用&#xff0c;其与智慧文旅的融合发展正成为推动旅游业转型升级与可持续发展的重要力量。5G技术以其高速率、低时延、大连接的特性&#xff0c;为智慧文旅注入了新的活力&#xff0c;助力旅游业实现更高效、更智能、更绿色的发展。本文将深入探讨…

Bert Encoder和Transformer Encoder有什么不同

前言&#xff1a;本篇文章主要从代码实现角度研究 Bert Encoder和Transformer Encoder 有什么不同&#xff1f;应该可以帮助你&#xff1a; 深入了解Bert Encoder 的结构实现深入了解Transformer Encoder的结构实现 本篇文章不涉及对注意力机制实现的代码研究。 注&#xff1a;…

快来查看!你的简历亮点在哪里?还有精美模板等你来下载!

一、个人简历写作指南 编写个人简历是展示自己专业技能、工作经历和教育背景的重要方式。以下是一些个人简历写作的指南&#xff0c;希望对你有所帮助&#xff1a; 1. 简明扼要 简洁清晰&#xff1a;简历内容应该简明扼要&#xff0c;突出重点信息&#xff0c;避免冗长。易读性…

J8 - Inception v1算法

目录 理论知识Inception卷积计算 模型结构模型实现inception 结构GoogLeNet模型打印模型结构 模型效果总结与心得体会 理论知识 GoogLeNet首次出现就在2014年的ILSVRC比赛中获得冠军&#xff0c;最初的版本为InceptionV1。共有22层深&#xff0c;参数量5M。 可以达到同时期VGG…

FreeROTS day2

总结DMA空闲中断接收数据的使用方法 首先要要选择串口然后配置串口的参数&#xff0c;配置MDA通道选择接受数据&#xff0c;配置空闲中断&#xff0c;定义一个数据接收的容器&#xff0c;启动MDA传输当串口收到数据时MDA将数据传输到容器中,MDA会一直检测是否有数据当有数据并…

Node 旧淘宝源 HTTPS 过期处理

今天拉取老项目更新依赖&#xff0c;出现 urlshttps%3A%2F%2Fregistry.npm.taobao.org%2Fegg-logger%2Fdownload%2Fegg-logger-2.6.1.tgz: certificate has expired 类似报错。即使删除 node_modules 重新安装&#xff0c;问题依然无法解决。 一、问题演示 二、原因分析 1、淘…

泰克P6139B TektronixP6139B无源探头

特征&#xff1a; 500 MHz 探头带宽 探头尖端的大输入阻抗 10 MOhm&#xff0c;8 pF 补偿范围&#xff1a;8 pF 至 18 pF 电缆长度&#xff1a;1.3M 10X 衰减系数 300 V CAT II 输入电压 用于探测小几何电路元件的紧凑型探头 用于增强被测设备可见性的小型探头主体 可更换的探…

leetcode 3.6

Leetcode hot 100 一.矩阵1.旋转图像 二.链表1. 相交链表2.反转链表3.回文链表4.环形链表5.环形链表 II 一.矩阵 1.旋转图像 旋转图像 观察规律可得&#xff1a; matrix[i][j] 最终会被交换到 matrix [j][n−i−1]位置&#xff0c;最初思路是直接上三角交换&#xff0c;但是会…

CTP-API开发系列之五:SimNow环境介绍

CTP-API开发系列之五&#xff1a;SimNow环境介绍 CTP-API开发系列之五&#xff1a;SimNow环境介绍SimNow模拟测试环境第一套第二套登录关键字段可视化终端常见问题 CTP-API开发系列之五&#xff1a;SimNow环境介绍 如果你要研发一套国内期货程序化交易系统&#xff0c;从模拟测…

AI嵌入式CanMV-K230项目(1)-简介

文章目录 前言一、嘉楠的产品体系二、开发板介绍三、应用领域总结 前言 前一些列文章我们介绍了K210的使用方法&#xff0c;近期嘉楠科技发布了最新一版的K230芯片&#xff0c;下面我们来了解下这款芯片&#xff0c;后续我们将介绍该款芯片开发板的使用方法。 一、嘉楠的产品体…

ant-desgin charts双轴图DualAxes,柱状图无法立即显示,并且只有在调整页面大小(放大或缩小)后才开始显示

摘要 双轴图表中&#xff0c;柱状图无法立即显示&#xff0c;并且只有在调整页面大小&#xff08;放大或缩小&#xff09;后才开始显示 官方示例代码 在直接复制&#xff0c;替换为个人数据时&#xff0c;出现柱状图无法显示问题 const config {data: [data, data],xFiel…

Cobalt Strike 4.9.1(已更新,文章图片没换)

Cobalt Strike 4.9.1 1. 工具介绍1.1. 工具添加1.2. 工具获取 2. 工具使用2.1. 添加权限并运行2.2. 连接服务端2.3. 连接成功 3. 安全性自查 1. 工具介绍 CS 是Cobalt Strike的简称&#xff0c;是一款渗透测试神器&#xff0c;常被业界人称为CS神器。Cobalt Strike已经不再使用…

类和对象周边知识

再谈构造函数 前几期我们把六个默认成员函数一一说明后&#xff0c;构造函数还有一些周边知识。 初始化列表 我们在没有了解初始化列表的时候一般都是使用构造函数初始化或者在声明哪里给予缺省值&#xff0c;那么为什么好药存在初始化列表呢&#xff1f;是因为①.有些值必须…