02-mysql基础-数据类型

「MySQL」- 数据类型 & 基础操作 目录 前言 数据库操作 显示数据库 创建数据库 选中数据库 删除数据库 常用数据类型 数据表操作 创建数据表 查看数据表结构 修改数据表 1. 删除字段 2. 添加字段 3. 修改字段类型及名称 查看数据表 删除数据表 前言 MySQL是一个客户端 - 服务器结构的程序 ,(本体是服务器(负责存储和管理数据)), 客户端通过 SQL 语句配合网络与服务器进行交互 客户端:主动发起请求的一方 服务器:被动接受请求的一方 MySQL 是一个关. 阅读详情

02-Mysql数据类型

数据完整性
  • 一个数据库就是一个完整的业务单元,可以包含多张表,数据被存储在表中
  • 在表中为了更加准确的存储数据,保证数据的正确有效,可以在创建表的时候,为表添加一些强制性的验证,包括数据字段的类型、约束。
数据类型
  • 使用数据类型的原则:够用就行,尽量使用取值范围小的,而不用大的。这样可以更多的节省存储空间
  • 常用的数据类型如下:
    • 整数:int,bit
    • 小数:decimal
    • 字符串:varchar,char
    • 日期时间: date, time, datetime
    • 枚举类型(enum)
  • 特别说明的类型如下:
    • ecimal表示浮点数,如decimal(5,2)表示共存5位数,小数占2位
    • char表示固定长度的字符串,如char(3),如果填充’ab’时会补一个空格为’ab ‘
    • varchar表示可变长度的字符串,如varchar(3),填充’ab’时就会存储’ab’
    • 字符串text表示存储大文本,当字符大于4000时推荐使用
    • 对于图片、音频、视频等文件,不存储在数据库中,而是上传到某个服务器上,然后在表中存储这个文件的保存路径
约束
  • 主键primary key:物理上存储的顺序

  • 非空not null:此字段不允许填写空值

  • 惟一unique:此字段的值不允许重复

  • 默认default:当不填写此值时会使用默认值,如果填写时以填写为准

  • 外键foreign key:对关系字段进行约束,当为关系字段填写值时,会到关联的表中查询此值是否存在,如果存在则填写成功,如果不存在则填写失败并抛出异常

  • 说明:虽然外键约束可以保证数据的有效性,但是在进行数据的crud(增加、修改、删除、查询)时,都会降低数据库的性能,所以不推荐使用,那么数据的有效性怎么保证呢?答:可以在逻辑层进行控制

    ​

1、数据类型
  • 整型(int)
  • 浮点型(float和double)
  • 定点数(decimal)
  • 字符串(char、varchar、text)
  • 二进制数据(Blob)
  • 日期和时间类型
2、整数
Mysql整数类型含义
tinyint(m)1个字节 范围(-128-127)
smallint(m)2个字节 范围(-32768-32767)
mediumint(m)3个字节 范围(-8388608-8388607)
int(m)4个字节 范围(-2147483648-2147483647)
bigint(m)8个字节 范围(+-9.22*10的18次方)

m代表的是最大的显示宽度,整数类型中,int用的最多。

3、浮点型(float和double)
Mysql数据类型含义
float(m,d)单精度浮点型 8位精度(4字节) m总个数,d小数位
double(m,d)双精度浮点型 16位精度(8字节) m总个数,d小数位
4、定点数

浮点型在数据库中存放的是近似值,而定点类型在数据库存放的是精确值。

decimal(m,d),参数m是定点类型数字的最大个数(精度),范围是0-65。d小数点右侧数字的个数,范围0-30,但不得超过m,对定点数的就算能精确到65位数字。

5、字符串
Mysql数据类型含义
char(n)固定长度,最多255个字符
varchar(n)固定长度,最多65535个字符
tinytext可变长度,最多255个字符
text可变长度,最多65535个字符
mediumtext可变长度,最多2的24次方-1个字符
longtext可变长度,最多2的32次方-1个字符

- char和varchar:
- char(n)若存入字符数小于n,则以空格补于其后,查询之后再将空格去掉,所以char类型存储的字符串末尾不能有空格,varchar不限于此。
- char(n)固定长度,char(4)不管是存入几个字符,都将占用4个字节,varchar是存入的实际字符+1个字节(n<=255)或2个字节(n>255),所以varchar(4)存入3个字符将占用4个字节。
- char类型的字符串检索的速度要比varchar的快。
- varchar和text:
- varchar可指定n,text不能指定,内部存储varchar是存入的实际字符数+1个字节(n<=255)或2个字节(n>255),text是实际字符数+2个字节
- text类型不能有默认值
- varchar就可以直接创建索引,text创建索引指定前多少个字符,varchar查询速度快于text,在都创建索引的情况下,text的索引似乎不起作用。

6、二进制数据
  • BLOB和TEXT存储方式不同,TEXT以文本方式存储,英文存储区分大小写,而BLOB是以二进制的方式存储,不区分大小写。
  • BLOB存储的数据只能整体读出
  • TEXT可以指定字符集,BLOB不用指定字符集。
7、日期和时间类型
MySql数据类型含义
date日期 ‘2017-6-1’
time时间‘21:18:30’
datetime日期时间‘2017-6-1 21:18:30’
timestamp自动存储记录修改时间

注意:若定义一个字段为timestamp,这个字段里的时间数据会随其他字段修改的时候字段刷新,所以这个数据类型的字段可以存放这条记录最后被修改的时间。

8、数据类型的属性
Mysql关键字含义
NULL数据列可包含NULL值
NOT NULL数据列不允许包含NULL值
DEFAULT默认值
PRIMARY KEY主键
AUTO_INCREMENT自动递增,适用于整数类型
UNSIGNED无符号
CHARACTER SET name指定一个字符集
Python基础语法与最佳实践【python基础篇】 本文全面介绍了Python基础语法与最佳实践,涵盖变量与数据类型、控制流、函数、模块与包等核心概念。通过实际代码示例展示了条件语句、循环结构、函数定义及模块导入的基本用法。在最佳实践部分,重点讲解了PEP 8代码风格规范、异常处理技巧、列表推导式、上下文管理器、文档字符串编写以及enumerate和zip的高效使用。这些内容既适合Python初学者掌握基础语法,也能帮助有经验的开发者编写更规范、高效、可维护的代码。文章强调遵循Python官方推荐实践,通过合理运用语言特性提升代码质量。 阅读详情

相关推荐

深入浅出:用状态机搞定FPGA MIG控制器与DDR3的读写时序(附Verilog源码分析)

本文深入解析了如何利用状态机精准控制FPGA MIG控制器与DDR3的读写时序,涵盖Verilog源码实现、关键时序控制点及实战优化技巧。通过状态机设计、跨时钟域处理和带宽优化等方法,有效提升DDR3访问效率,适用于高性能计算和AI加速器等场景。

weixin_26899659的博客 408

你不一定了解MySQL中的Decimal数据类型

MySQL中Decimal数据类型大家经常使用到,但是,你真的了解这种数据类型吗?

u014282578的博客 2万+

告别Root!用Python脚本一键解密Android微信EnMicroMsg.db数据库(附完整源码)

本文详细介绍了如何在非Root环境下使用Python脚本一键解密Android微信EnMicroMsg.db数据库。通过ADB调试接口和SQLCipher技术,实现自动化提取和解密微信聊天记录数据库,无需Root权限,适合数据分析师和普通用户安全备份数据。

weixin_29266007的博客 333

SqlServer中decimal(numeric )、float 和 real 数据类型的区别

decimal 数据类型最多可存储 38 个数字,所有数字都能够放到小数点的右边。decimal 数据类型存储了一个准确(精确)的数字表达法;不存储值的近似值。 定义 decimal 的列、变量和参数的两种特性如下: ·          p   小数点左边和右边数字之和,不包括小数点。如 123.45,则 p=5,s=2。 指定精度或对象能够控制的数字个数。 ·          s...

David 1313

FAST-LIO2实战:如何在无人机上部署并实现厘米级定位(附ROS配置全流程)

本文详细介绍了如何在无人机上部署FAST-LIO2激光雷达惯性里程计系统,以实现厘米级精确定位。内容涵盖从硬件选型(如激光雷达与机载计算机)、软件环境配置(ROS Noetic)、传感器标定,到FAST-LIO2参数调优、与PX4飞控集成以及实际飞行测试的全流程。重点解决了实时定位中的外参标定、数据同步等关键问题,为无人机在无GPS或复杂光照环境下提供稳定可靠的定位解决方案。

weixin_29062865的博客 251

内存优化--LOGBACK导致内存告警

一.故事背景 由于开辟新市场需要,开发了新的项部署在海外平台,其中最消耗内存的功能是消费kafka消息(最开始预计一天有1千万的量),部署完之后运行一段时间发现出现内存告警问题。 二.分析问题 出现内存告警,(新项目是低配置机器 2C4G * 2台)第一个念头是去查看堆空间设置的情况,看到jvm启动命令中堆空间都是直接指定大小,说明问题不是出在堆空间 -Xmx3g -Xms3g 先不管这些,去查看总的内存使用情况,发现总的内存空间使用将近有92% = 3.68G,那么这多出来使用的0.6

qq_33199919的博客 6052

DECIMAL(20,2)指的意思

DECIMAL(20,2)  总共能存20位数字,末尾2位是小数(小数点不算在长度内)

weixin_42043101的博客 2万+

别再死记硬背了!用51单片机的AD/DA和PWM,亲手做个简易示波器信号发生器

本文详细介绍了如何利用51单片机的PWM和AD/DA功能制作简易示波器信号发生器。通过PWM模拟DAC输出波形,结合XPT2046 ADC进行信号测量,实现方波、三角波和正弦波的生成与显示。项目不仅成本低廉,还能帮助电子爱好者深入理解51单片机的核心功能,是理论与实践结合的绝佳案例。

weixin_28675839的博客 265

Sql中的decimal(a,b)

decimal(a,b)a指定指定小数点左边和右边可以存储的十进制数字的最大个数,最大精度38。b指定小数点右边可以存储的十进制数字的最大个数。小数位数必须是从 0 到 a之间的值。默认小数位数是 0。 转载于:https://www.cnblogs.com/zhengyunjia/archive/2009/11/05/1596671.html...

weixin_34021089的博客 929

镜像电流源与比例电流源:原理、应用与性能优化

本文深入解析了镜像电流源与比例电流源的工作原理、核心应用与性能优化方法。镜像电流源利用匹配晶体管实现电流复制,是集成电路的基础;比例电流源通过发射极电阻实现电流缩放,应用更灵活。文章重点探讨了其作为有源负载提升放大器增益的关键应用,并分析了静态误差、输出阻抗和最小工作电压三大性能指标,最后介绍了威尔逊电流镜等进阶优化技术及实战设计要点。

dd012的博客 568

cs188Inference in Bayes Nets(贝叶斯网络的推理)

cs188Inference in Bayes Nets贝叶斯网络的推理Question1(3 points):Bayes Net StructureQuestion2(1 points):Bayes Net ProbabilitiesQuestion 3(5 points):Join FactorsQuestion4(4 points):EliminateQuestion5(4 points):NormalizeQuestion 6(4 points):Variable EliminationQuesti

weixin_46582817的博客 1674

python decimal 精确计算

经常使用的几个点1.可以传递给Decimal整型或者字符串参数,但不能是浮点数据,因为浮点数据本身就不准确。传入浮点数 5.55In [74]: Decimal(5.55)*100Out[74]: Decimal('554.9999999999999822364316060')传入字符串 ‘5.55’In [75]: Decimal('5.55')*100Out[75]: Decimal('555...

hllyzms的博客 6万+

量化 insider 爆料! 散户打板必亏?(打板必看!量化资金如何“隔日砸盘”收割散户)

量化开发 insider 爆料💥 散户追的涨停板📉,可能是机构故意做的陷阱!本文从技术视角拆解“涨停陷阱”,帮你看清市场真实逻辑🧠。

XiaoqiangClub的博客 459

02-010 MySQL_基础_数据类型

分类 数值型: 整形:tinyint(有符号-128-127无符号0-255,1字节)、smallint(2字节)、mediumint(3字节)、int/integer(4字节)、bigint(8字节) 小数:定点型、浮点型 字符型: 较短的字符型:char、 varchar 较长的字符型:text 、blob 日期型 选择原则:选择类型越简单越好,能保存数值的类型越小越好(节省空间)。 数值型 ...

weixin_40778497的博客 138

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Mysql基础02——数据类型和运算符

整数类型 id  INT(11) 数字 11 表示该数据类型指定的显示宽度,一般只显示11位数字的宽度 显示宽度与数据类型的取值范围无关。显示宽度只是指明MySQL最大可能显示的数字个数,数值位数小于指定的宽度时会由空格填充;如果插入大于显示宽度的指,只要该指不超过该类型整数的取值范围,数值依然可以插入,而且能够显示出来。如果不指定显示宽度,则系统为每一种类型指定默认的宽度。 根据...

PufferDong的博客 232

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Mysql数据库基础02-Mysql数据类型

Mysql数据类型可以分为4大类,分别是: 数值类型 字符串类型(文本类型) 二进制数据类型 日期类型 1. 数值类型 数值类型中又可以分为整型和小数类型 1.1 整型 类型 范围 bit(m) 位类型,范围根据m在[1-64]之间的取值来定;如m的值是8,取值范围在0-255 tinyint 1个字节 smallint 2个字节 mediumint 3个字节 int(常用) 4个字节 bigint 8个字节 1.2 小数类型 类型 范围 f

yuhuofei的草屋 162

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Mysql系列_基础_02_Mysql约束与数据类型

约束 主键约束 特点:唯一、非空 列级语法:<字段名> <数据类型> PRIMARY KEY [默认值] create table student( id int(20) primary key, name varchar(50) primary key, password varchar(30)); 表级语法:[CONSTRAINT <约束名>] PRIMARY KEY [字段名] create table student( id int(20),

二毛不在线 304

【MySQL基础】MySQL基本数据类型

MySQL基本数据类型超详细介绍

小杨的博客 6237

MySql基础:数据类型

说明:在mysql表中建立属性列都是 列名称在前 类型在后。

sjm18796129182的博客 5001

MySQL基础『数据类型』

MySQL中常用的数据类型介绍

北 海的博客 2839

【MySQL | 基础】数据类型

选择合适的数据类型不仅可以确保数据的准确性,还可以优化数据库的性能。因此,深入理解和熟悉SQL的数据类型是至关重要的。

翼同学 6573

MySQL数据类型

本文详细介绍了MySQL中的数据类型分类,包括数值类型、浮点类、字符串类、日期和时间类型以及enum和set类型。数值类型以tinyint为例,解释了其存储范围及使用场景,并展示了相关测试代码。浮点类介绍了float和decimal的语法及精度差异。字符串类对比了char和varchar的存储方式及适用场景。日期和时间类型包括date、datetime和timestamp,并提供了测试示例。最后,enum和set类型用于存储预定义的值,适合单选和多选数据,展示了其使用方法和查找技巧。通过这些数据类型的合理选

2302_80105876的博客 4270

[MySQL] MySQL中的数据类型

在MySQL中,数据类型用于定义表中列的数据的类型。在前面的几篇文章中,我们也会看到有很多的数据类型,例如:char、varchar、date、int等等。本篇文章会对常见的数据类型进行详细讲解。超级详细结合实例,希望会对你有所帮助。具体如下图:我们再来插入一些数据,具体如下图:通过上图可以看到,再插入数据时我们可以从set集合中一次选多个数据进行插入,也可一次只选一个数据。set集合设定只是提供了若干个选项的值,最终一个单元格中,设计可存储了其中任意多个值;

weixin_67596609的博客 2477

MySQL:数据类型&表的基础操作

数据类型&建表&查看表结构&删表

2401_83595513的博客 1493

MySQL基础数据类型

【代码】MySQL基础数据类型。

AZURE060606的博客 779

mysql 数据类型

选择合适的数据类型是很重要的。如要求存储精度较高时,应选择 DOUBLE类型。如果进行数值比较,最好使用 DECIMAL类型。 如果字符串是固定长度的,使用char,日期类型,就不适合字符串存储。TEXT 存储纯文本文件。BLOB主要存储图片、音频信息等

一路向前 2844
上一篇: 01-数据库的基本介绍
下一篇: 03-数据库和数据表的基本操作
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值