欢迎来到258分享网,纯净的网络源码分享基地!

258资源分享网

全部作品
全部作品
网站源码
微信源码
素材特效
源码插件
视频教程
建站学院
热门搜索: 织梦  农业种植  农业  安全设置  官方
258资源分享 > 建站学院 > MYSQL教程 > 08、MySQL—字符串型

推荐下载

HTML5响应式自适应网咯设计

2020-05-12   浏览:738

高端HTML5响应式企业通用网

2020-05-06   浏览:519

html5响应式外贸网站英文版

2020-05-08   浏览:509

HTML5自适应律师工作室类网

2020-04-04   浏览:502

HTML5影视传媒文化公司类网

2020-05-12   浏览:497

08、MySQL—字符串型

发布时间:2021-05-07  

字符串型 1、Char

定长字符:指定长度之后,系统一定会分配指定的空间用于存储数据

基本语法:

char(L),L代表字符数(中文与英文字母一样),L长度为0到255

 
2、Varchar

变长字符:指定长度之后,系统会根据实际存储的数据来计算长度,分配合适的长度(数据没有超出长度)

基本语法:

Varchar(L),L代表字符数,L的长度理论值位0到65535

 

因为varchar要记录数据长度(系统根据数据长度自动分配空间),所以每个varchar数据产生后,系统都会在数据后面增加1-2个字节的额外开销:是用来保存数据所占用的空间长度

如果数据本身小于127个字符:额外开销一个字节;如果大于127个,就开销两个字节

(1) Char和varchar数据存储对比(utf8,一个字符都会占用3个字节)

存储数据

 

Char(2)

 

Varchar(2)

 

Char所占字节

 

Varchar所占字节

 

A

 

A

 

A

 

2 * 3 = 6

 

1 * 3 + 1 = 4

 

AB

 

AB

 

AB

 

2 * 3 = 6

 

2 * 3 + 1 = 7

 

(2) Char和varchar的区别

1、  char一定会使用指定的空间,varchar是根据数据来定空间

2、  char的数据查询效率比varchar高:varchar是需要通过后面的记录数来计算

说明:

如果确定数据一定是占指定长度,那么使用char类型;

如果不确定数据到底有多少,那么使用varchar类型;

如果数据长度超过255个字符,不论是否固定长度,都会使用text,不再使用char和varchar

3、Text

文本类型:本质上mysql提供了两种文本类型

Text:存储普通的字符文本

Blob:存储二进制文本(图片,文件),一般都不会使用blob来存储文件本身,通常是使用一个链接来指向对应的文件本身。

(1) Text:系统中提供的四种text

(2) Tinytext:系统使用一个字节来保存,实际能够存储的数据为:2 ^ 8 + 1

(3) Text:使用两个字节保存,实际存储为:2 ^ 16 + 2

(4) Mediumtext:使用三个字节保存,实际存储为:2 ^ 24 + 3

(5) Longtext:使用四个字节保存,实际存储为:2 ^ 32 + 4

注意:

(1) 在选择对应的存储文本的时候,不用刻意去选择text类型,系统会自动根据存储的数据长度来选择合适的文本类型。

(2) 在选择字符存储的时候,如果数据超过255个字符,那么一定选择text存储

4、Enum

枚举类型:在数据插入之前,先设定几个项,这几个项就是可能最终出现的数据结果。

如果确定某个字段的数据只有那么几个值:如性别,男、女、保密,系统就可以在设定字段的时候规定当前字段只能存放固定的几个值:那么就使用枚举 

基本语法:

enum(数据值1,数据值2…)

 

系统提供了1到2个字节来存储枚举数据:通过计算enum列举的具体值来选择实际的存储空间:如果数据值列表在255个以内,那么一个字节就够,如果超过255但是小于65535,那么系统采用两个字节保存。

① 创建表

08、MySQL—字符串型

② 插入数据:合法数据,字段对应的值必须是设定表的时候所确定的值

08、MySQL—字符串型

③ 错误数据:enum有规范数据的功能,能够保证插入的数据必须是设定的范围,其他类型都不可以

08、MySQL—字符串型

④ 枚举enum的存储原理:实际上字段上所存储的值并不是真正的字符串,而是字符串对应的下标:当系统设定枚举类型的时候,会给枚举中每个元素定义一个下标,这个下标规则从1开始

Enum(1=>‘男’,2=>’女’,3=>’保密’)

特性:在mysql中系统是自动进行类型转换的:如果数据碰到“+、-、*、/”系统就会自动将数据转换成 数值,而普通字符串转换成数值为0

范例:查看enum元素的值

Select 字段名 + 0 from 表名;

 

08、MySQL—字符串型

⑤ 既然实际enum字段存储的结果是数值:那么在进行数据插入的时候,就可以使用对应的数值来进行。

08、MySQL—字符串型

枚举的意义:

(1) 规范数据本身,限定只能插入规定的数据项

(2) 节省存储空间

5、Set

本文标签

:备案管家服务帮您把复杂流程变简单,解决您在进行网站备案过程中遇到的效率低下和成功率不高的问题。个人300/2个域名,企业500/5个域名,qq1650004.