字符串类数据列类型
mysql数据类型——字符串char(m)和varchar(m)

mysql数据类型——字符串char(m)和varchar(m)char(m) 定长字符串类型 ⾮ Unicode 字符varchar(m) 变长字符串类型 ⾮ Unicode 数据说明:M为最⼤可存储字节数汉⼦占两个字节,通过指定m,来限制存储的最⼤字符数长度,char(20)和varchar(20)将最多只能存储20个字符,超过的字符将会被截掉。
m必须⼩于该类型允许的最⼤字符数。
⼀ char(m)类型Char(m) 最⼤字节数255定长类型 m可取0-255 它的右边填充空格以达到指定长度,当检索到char值时,尾部的空格被删除掉 (性别密码) CHAR 类型⽤于定长字符串,并且必须在圆括号内⽤⼀个⼤⼩修饰符来定义。
这个⼤⼩修饰符的范围从 0-255。
注意:⽐指定长度⼤的值将被截短,⽽⽐指定长度⼩的值将会⽤空格作填补。
所以char类型存储的字符串末尾不能有空格,varchar不受此限制。
⼆ varchar(m)类型Varchar(m) 最⼤字节65535可变长度 m取0-65535 只保存需要字符数,另加⼀个字节来声明长度(⽤户名⽂章标题) VARCHAR 类型只使⽤存储字符串实际需要的长度(增加⼀个额外字节来存储字符串本⾝的长度)来存储值。
⽐指定长度⼤的值将被截短。
变化⼀-> MySQL 数据库的varchar类型在4.1以下的版本中的最⼤长度限制为255,其数据范围可以是0~255或1~255(根据不同版本数据库来定)。
在 MySQL5.0以上的版本中,varchar数据类型的长度⽀持到了65535,也就是说可以存放65532个字节的数据,起始位和结束位占去了3个字节, 也就是说,在4.1或以下版本中需要使⽤固定的TEXT或BLOB格式存放的数据可以使⽤可变长的varchar来存放,这样就能有效的减少数据库⽂件的⼤⼩。
变化⼆——>MySQL 数据库的varchar类型在4.1以下的版本中,nvarchar(存储的是Unicode数据类型的字符)不管是⼀个字符还是⼀个汉字,都存为2个字节,⼀般⽤作中⽂或者其他语⾔输⼊,这样不容易乱码 ; varchar: 汉字是2个字节,其他字符存为1个字节,varchar适合输⼊英⽂和数字。
五,字符串类型和列表类型详解

五,字符串类型和列表类型详解⼀、字符串类型 str类型,包含在' '," ",''' '''内的字符(' '," ",''' '''还可⽤于注释,''' '''可换⾏)。
str()可将其他类型转化为字符串类型 取值:按索引取值,str[索引]为正向取,str[-索引]为反向取。
只能取,不能赋值 切⽚:按索引切⽚。
str[起点:终点:⽅向+步长] 顾头不顾尾。
步长不加默认为1 长度:len(str)字符串字符数 in/not in:判断⼀段字符在不在字符串中 str.strip(' '):去掉字符串两边的字符,若不加则默认去除空格 str.split('|',1):以括号内字符为分割点,将字符串分割为多个存⼊列表。
逗号后的数字指从左往右分割⼏次. str.rsplit('|',2):从右往左分割两次 for 循环遍历字符串 lower:全部转化为⼩写 upper:全部转化为⼤写 startswith:判断⼀个字符串是否以⼀段字符为起始,返回布尔值 endswith:判断⼀个字符串是否以⼀段字符为结束,返回布尔值 format:类似于格式化输出'my name is %s ,my age is %s'%('papa',18) 'my name is {name},my age is {age}'.format(name='papa',age='18') 'my name is {},my age is {}'.format('papa','18') 'my name is {0},my age is {1}'.format('papa','18') join:split的反向操作,将⼀个列表以某个分割符拼接为⼀段字符串.msg='|'.join(li) replace:将字符串中的某段字符替换为另⼀段字符.msg.replace('a','b') isdigit:判断⼀段字符是否为纯数字,如果为纯数字,则返回True,反之则返回False find,rfind,index,rindex,count: find与index都是查找字符串内是否有某⼀段字符,可以加查找范围,rfind为从右往左查找,如msg.rfind('aa',0,5) find与index的区别:find找不到则返回None,index找不到则报错 count为计算字符串中⼀段字符出现的次数 center,rjust,ljust,zfill: 'papa'.center(50,'*'),将字符串放在⾃定义个数的个字符中间,原字符也算⼊个数之中 rjust,同理,将字符串放在右边 ljust,同理,将字符串放在左边 zfill,同理,将字符串放在多个0后⾯ expandtabs:'a\tb'.expandtabs(10),制表符\t转为多个空格 captalize,swapcase,title: captalize:字符串⾸字母变⼤写 swapcase:字符串⼤⼩写互换 title:空格后每⼀个单词⾸字母⼤写 isnumeric,isdecimal,isdigit: 与isdigit同理,isnumeric可判断中⽂与罗马数字,以及⼆进制 isdecimal只能判断数字字符 isdigit可判断⼆进制与数字字符 isalpha:判断字符中是否全部为字母与中⽂字符 isalnum:判断是否包含的全部为字母或数字 总结: 存⼀个值 有序 不可变⼆、列表类型 list [ ]内⽤逗号隔开多个元素,元素可以是任意类型 切⽚,与字符串⽤法相同,顾头不顾尾. 长度len(),与字符串⽤法相同 in 与 not in :与字符串⽤法相同 增加 list.append(新元素):追加 list.insert(索引,新元素):前往指定索引插⼊新元素 删除 del list[索引]:直接删除 res=list.remove(元素): 删除元素,返回None res=list.pop(索引):默认从末尾开始删,返回删除的值 for循环与字符串同理 lIst.count:计算⼀个元素的出现次数 list.index:查找,与字符串同理 list.clear:清空列表 list.extend(items):遍历items,将items⼀个个添加到list中 list.reverse:将列表反序 nums.sort(reverse=True):将数字列表中的数字从⼤到⼩排列,reverse=False则反之 总结: 存多个值 有序 可变。
Mysql数据类型(字段)介绍

MySql数据库的列类型(字段类型)MySQL数据库的表是一个二维表,由一个或多个数据列构成。
每个数据列都有它的特定类型,该类型决定了MySQL如何看待该列数据,我们可以把整型数值存放到字符类型的列中,MySQL则会把它看成字符串来处理。
MySQL中的列类型有三种:数值类、字符串类和日期/时间类。
从大类来看列类型和数值类型一样,都是只有三种。
但每种列类型都还可细分。
下面对各种列类型进行详细介绍。
数值类的数据列类型数值型的列类型包括整型和浮点型两大类。
TINYINT:1字节非常小的正整数,带符号:-128~127,不带符号:0~255SMALLINT:2字节小整数,带符号:-32768~32767,不带符号:0~65535MEDIUMINT:3字节中等大小的整数,带符号:-8388608~8388607,不带符号:0~16777215INT:4字节标准整数,带符号:-2147483648~2147483647,不带符号:0~4294967295BIGINT:8字节大整数,带符号:-9223372036854775808~9233372036854775807,不带符号:0~18446744073709551615FLOAT:4字节单精度浮点数,最小非零值:+-1.175494351E-38,最大非零值:+-3.402823466E+38 DOUBLE:8字节双精度浮点数,最小非零值:+-2.2250738585072014E-308,最大非零值:+-1.7976931348623157E+308DECIMAL:M+2字节以字符串形式表示的浮点数,它的取值范围可变,由M和D的值决定。
整型数据列类型MySQL有五种整型数据列类型,即TINYINT,SMALLINT,MEDIUMINT,INT和BIGINT。
它们之间的区别是取值范围不同,存储空间也各不相同。
在整型数据列后加上UNSIGNED属性可以禁止负数,取值从0开始。
stata 数据类型

stata 数据类型Stata数据类型Stata是一种广泛应用于社会科学和经济学研究中的统计分析软件,它支持多种数据类型,用于存储和分析不同类型的数据。
本文将介绍Stata中常见的数据类型及其应用。
一、数值型数据类型1. byte:字节型数据,取值范围为-128至127。
适用于存储二进制数据或有限的分类变量。
2. int:整型数据,取值范围为-32,768至32,767。
适用于存储整数型数据。
3. long:长整型数据,取值范围为-2,147,483,648至2,147,483,647。
适用于存储较大范围的整数型数据。
4. float:单精度浮点型数据,取值范围为-3.40E38至3.40E38。
适用于存储小数位数较少的浮点型数据。
5. double:双精度浮点型数据,取值范围为-1.80E308至1.80E308。
适用于存储小数位数较多的浮点型数据。
二、字符串型数据类型1. str#:字符串型数据,其中#表示字符串的最大长度。
适用于存储文本或字符型数据。
2. strL:长字符串型数据,可存储最长可达2GB的字符串。
适用于存储较长的文本信息。
三、日期和时间型数据类型1. date:日期型数据,格式为yyyy-mm-dd。
适用于存储日期信息。
2. time:时间型数据,格式为hh:mm:ss。
适用于存储时间信息。
3. datetime:日期时间型数据,格式为yyyy-mm-dd hh:mm:ss。
适用于存储日期和时间信息。
四、分类型数据类型1. category:分类型数据,取值范围为1至32,767。
适用于存储分类变量。
五、缺失值数据类型1. .:缺失值数据类型,表示缺失值。
在Stata中,缺失值用"."表示。
六、其他数据类型1. boolean:布尔型数据,取值为0或1。
适用于存储逻辑型数据。
2. long string:长字符串型数据,可存储最长可达2GB的字符串。
与strL相似,但存储方式不同。
查询数据库表字段类型

查询数据库表字段类型在进行数据库表设计时,不仅需要确定表的结构和字段名,还需要确定每个字段的数据类型。
数据库字段类型定义了字段可以存储的数据的特定类型,进而限制了将要存储在该字段中的数据的格式和范围。
不同的数据库系统支持不同的字段类型,但是大部分数据库系统都提供了一些常见的基本字段类型和一些更特定的字段类型。
常见的基本字段类型包括:1.字符串类型(String):用于存储字符串或文本数据。
常见的字符串类型包括:- CHAR:固定长度的字符串,最多可以存储255个字符。
- VARCHAR:可变长度的字符串,可以存储最大长度为指定值的字符。
- TEXT:可变长度的字符串,可以存储更大量的字符,一般限制为最长不超过65535个字符。
2.数值类型(Numeric):用于存储数值数据。
常见的数值类型包括:- INT或INTEGER:用于存储整数值,一般占用4个字节。
- FLOAT或REAL:用于存储浮点数值,一般占用4个字节。
- DOUBLE:用于存储双精度浮点数值,一般占用8个字节。
- DECIMAL或NUMERIC:用于存储精确数值,指定精度和小数位数。
3.日期和时间类型(Date and Time):用于存储日期和时间数据。
常见的日期和时间类型包括:- DATE:用于存储日期,格式为YYYY-MM-DD。
- TIME:用于存储时间,格式为HH:MM:SS。
- DATETIME或TIMESTAMP:用于存储日期和时间,格式为YYYY-MM-DD HH:MM:SS。
4.布尔类型(Boolean):用于存储布尔值,表示真或假。
除了上述基本字段类型之外,一些数据库系统还提供了更特定的字段类型,以满足特定的数据存储需求。
例如:1.枚举类型(Enum):用于存储具有限值集合的数据,可以在定义时指定可用的枚举值。
2.集合类型(Set):用于存储多个值的集合,可以在定义时指定可用的集合值。
3.二进制类型(Binary):用于存储二进制数据,如图片、音频或视频。
python语言的基本数据类型

python语言的基本数据类型
Python语言是一种高级编程语言,具有简洁、优雅、易读、易学等特点。
在Python中,基本数据类型包括数字、字符串、布尔型、列表、元组和字典等。
下面我们来了解一下这些基本数据类型的详细内容。
1.数字类型
数字类型包括整型和浮点型。
整型就是整数,可以进行基本的数学运算,如加减乘除、求余数等。
浮点型则指带小数点的数字,同样可以进行基本的数学运算。
Python还支持复数类型,包括实部和虚部。
2.字符串类型
字符串类型就是一串字符,可以用单引号或双引号括起来。
字符串可以进行基本的字符串操作,如拼接、复制、截取等,还支持格式化输出、正则表达式、编码解码等高级操作。
3.布尔类型
布尔类型只有两个值,即True和False。
在Python中,可以使用布尔类型进行逻辑运算,如与、或、非等。
4.列表类型
列表类型是一种有序的集合,可以包含任意类型的元素。
列表可以进行基本的增删改查操作,如添加元素、删除元素、更新元素等。
5.元组类型
元组类型也是一种有序的集合,但是它不可修改。
元组一旦创建
就无法添加、删除或更新元素。
元组通常用于存储不可变的数据,如坐标、颜色等。
6.字典类型
字典类型是一种键值对的集合,可以用键来访问值。
字典可以进行基本的增删改查操作,如添加键值对、删除键值对、更新键值对等。
以上就是Python语言的基本数据类型的详细内容。
在实际开发中,我们需要根据具体的需求选择合适的数据类型,以便更好地完成任务。
数据库技术中的数据字段类型选择(六)

数据库技术中的数据字段类型选择在数据库设计和开发中,选择正确的数据字段类型是至关重要的。
数据字段类型不仅直接影响数据的存储方式和效率,还关系到数据的准确性和一致性。
在本文中,我们将探讨数据库技术中的数据字段类型选择,并给出一些建议。
一、字符型字段类型选择字符型字段类型是数据库中最常见的字段类型之一。
在选择字符型字段类型时,需要考虑存储的最大长度和字符集。
一般常见的字符型字段类型有CHAR、VARCHAR和TEXT等。
1. CHAR类型:CHAR类型是一种固定长度的字符类型,长度上限一般为255个字符。
由于其固定长度的特性,使用CHAR类型可以提高查询效率。
但是,在存储数据时,如果字符长度小于字段定义的长度,系统会自动填充空格,因此这会带来一些空间浪费。
2. VARCHAR类型:VARCHAR类型是一种可变长度的字符类型,长度上限一般为65535个字符。
与CHAR类型相比,VARCHAR类型可以更节省空间,因为它只存储实际需要的字符。
但是,VARCHAR类型在查询时会降低一些效率。
3. TEXT类型:TEXT类型是一种可变长度的大文本类型,它的长度上限一般为65535个字符。
与VARCHAR类型相比,TEXT类型可以存储更大的文本数据。
然而,由于其大文本的特点,查询效率相对较低。
在选择字符型字段类型时,需要根据具体应用场景来选择。
如果字段的长度是固定的,建议使用CHAR类型;如果字段的长度不确定,但是数据量不大,建议使用VARCHAR类型;如果字段的长度不确定,并且数据量较大,建议使用TEXT类型。
二、数值型字段类型选择数值型字段类型用于存储各种数值类型的数据,如整数、小数等。
在选择数值型字段类型时,需要考虑数据的精度和范围。
常见的数值型字段类型有INT、FLOAT和DECIMAL等。
1. INT类型:INT类型是一种整数类型,它可以存储不超过的整数。
在存储整数时,INT类型占用的存储空间较小,查询效率较高。
MySQL中常见的数据类型及其用途

MySQL中常见的数据类型及其用途MySQL是一种常用的关系型数据库管理系统,被广泛应用于Web开发和其他领域。
在MySQL中,数据类型是数据表中各列的属性之一,它定义了数据的存储格式、占用空间和操作行为。
不同的数据类型适用于不同的数据存储需求和数据操作操作。
本文将介绍MySQL中常见的数据类型及其用途。
1. 整型数据类型整型数据类型用于存储整数值,常见的有以下几种:- TINYINT:存储范围为-128到127的整数。
通常用于存储布尔值,0表示假,1表示真。
- SMALLINT:存储范围为-32768到32767的整数。
适用于存储较小的整数值。
- MEDIUMINT:存储范围为-8388608到8388607的整数。
适用于存储中等大小的整数值。
- INT:存储范围为-2147483648到2147483647的整数。
适用于存储一般大小的整数值。
- BIGINT:存储范围为-9223372036854775808到9223372036854775807的整数。
适用于存储较大的整数值。
整型数据类型用于存储整数,经常用于记录索引、主键或表示计数值。
2. 浮点型数据类型浮点型数据类型用于存储浮点数值,即带有小数点的数值。
常见的有以下几种:- FLOAT:单精度浮点数,占用4字节。
通常用于存储较小范围的浮点数。
- DOUBLE:双精度浮点数,占用8字节。
适用于存储较大范围的浮点数。
浮点型数据类型用于存储需要保留小数位的数值,如货币金额、科学计数法表示的数值等。
3. 定点型数据类型定点型数据类型用于存储固定精度的数值,适用于需要精确计算的场景。
常见的有以下几种:- DECIMAL:用于存储固定精度的十进制数值。
可以指定精度和小数位数。
定点型数据类型适用于要求高精度计算的场景,如财务计算、精确测量等。
4. 字符串型数据类型字符串型数据类型用于存储文本数据,常见的有以下几种:- CHAR:固定长度字符串,最多可以存储255个字符。
python基本数据类型及运算应用的实验内容和原理

python基本数据类型及运算应用的实验内容和原理文章标题:探索Python基本数据类型及运算应用的实验内容和原理一、引言在计算机编程领域中,Python作为一种高级通用编程语言,其简洁灵活、易学易用的特点备受程序员喜爱。
在Python中,基本数据类型及其相关的运算应用是编程的基础,对初学者来说尤为重要。
本文将带您探索Python基本数据类型及运算应用的实验内容和原理。
二、Python基本数据类型概述1. 整数类型:在Python中,整数类型(int)可以表示正整数、负整数和零。
2. 浮点数类型:浮点数(float)用于表示小数,包括带小数点的数值。
3. 字符串类型:字符串(str)是由字符组成的有序集合,可以用单引号或双引号表示。
4. 列表类型:列表(list)是一种有序的集合,可以容纳任意数量、任意类型的对象。
三、Python基本数据类型的实验内容与应用1. 整数类型实验内容和应用2. 浮点数类型实验内容和应用3. 字符串类型实验内容和应用4. 列表类型实验内容和应用四、Python基本数据类型的运算原理探究1. 整数类型的运算原理2. 浮点数类型的运算原理3. 字符串类型的运算原理4. 列表类型的运算原理五、总结与回顾通过本文的共享,我们深入探讨了Python基本数据类型及运算应用的实验内容和原理。
无论是整数类型、浮点数类型、字符串类型还是列表类型,都有其独特的特点和运算规则。
在编程实践中,我们需要灵活运用这些基本数据类型和运算符号,才能更好地实现自己的编程目标。
六、个人观点与理解在学习和实践Python编程过程中,我深切体会到基本数据类型的重要性。
只有对整数、浮点数、字符串和列表等基本类型有深入的理解,才能在编程时游刃有余,提高编程效率。
对于运算应用的理解和掌握,可以帮助我们更好地处理程序中的逻辑和算法,实现更加复杂、精妙的功能。
七、参考资料1. Python官方文档:2. 《Python编程:从入门到实践》3. 《Python基础教程》在本文中,我们以序号标注的形式,详细探讨了Python基本数据类型及运算应用的实验内容和原理。
简述序列类型的定义及通用操作方法。

简述序列类型的定义及通用操作方法。
序列是Python中最基本的数据类型之一。
它指的是一组按照特定顺序排列的元素的集合。
序列类型包含了字符串、列表、元组等。
1. 字符串:字符串是由字符组成的序列类型。
在Python中,字符串可以用单引号(')或双引号(")括起来。
例如:```pythonstr1 = 'Hello World'str2 = "Python"```常用的字符串操作方法有:- 访问字符串中的字符:可以通过索引来访问字符串中的某个字符。
例如:`str1[0]`将返回字符'H'。
- 字符串切片:可以通过切片操作来获取字符串的子串。
例如:`str1[1:5]`将返回字符串'ello'。
- 字符串长度:可以使用`len()`函数来获取字符串的长度。
例如:`len(str1)`将返回11。
- 字符串拼接:可以使用`+`运算符将两个字符串进行拼接。
例如:`str1 + str2`将返回字符串'Hello WorldPython'。
- 字符串重复:可以使用`*`运算符对字符串进行重复。
例如:`str1 * 3`将返回字符串'Hello WorldHello WorldHello World'。
- 判断某个子字符串是否在字符串中:可以使用`in`关键字来判断一个子字符串是否在字符串中。
例如:`'Hello' in str1`将返回`True`。
- 字符串格式化:可以使用字符串的`format()`方法来进行字符串的格式化输出。
例如:`'My name is {} and I am {} years old'.format('Tom', 20)`将返回字符串'My name is Tom and I am 20 years old'。
Python18-数据类型

Python18-数据类型数据类型什么是数据类型数据类型就是数据所属的种类⽣活中数据类型Python数据类型基本数据类型整数类型(int)、浮点数类型(float)、布尔类型(bool)只能存储⼀个数据,⽽且数据只能整体使⽤,不能使⽤其中⼀部分⽐如a=234,234是⼀个整体,是⼀个数,不能拆出2、3、4来使⽤序列数据类型--称为容器字符串类型(str)、列表(list)、元组(tuple)、集合(set)、字典(dict)可以存储多个元素/数据,既可以整体使⽤,也可以使⽤其中⼀部分⽐如a='欧阳奋强',可以整体使⽤a表⽰⼀个⼈的名字,也可以使⽤⼀部分⽐如欧阳,表⽰姓⽒序列:数据成员(数据中的每⼀个)有序号/下标注意:变量没有类型,关联的对象才有类型NoneNone 空# 占位:只希望有⼀个变量,但指向的对象还不能确定skill = None# 绑定数据skill = '乾坤⼤挪移'# 解除与对象的绑定关系name = None整数类型(int)整数类型包括:正整数、负整数、零number01 = -1number01 = 1number01 = 0字⾯值:⼗进制:5⼆进制:0b或者0B开头,后跟1或者0⼋进制:0o或者0O开头,后跟0~7⼗六进制:0x或者0X开头,后跟0~9,A~F,a~f# ⼗进制:0 1 2 3 .. 9 10 逢⼗进⼀# ⼆进制:0 1 10 11 100 101 111 逢⼆进⼀number02 = 0b10 # 0b或者0B表⽰⼆进制print(number02)# ⼋进制:0 1 2 3 ... 7 10 逢⼋进⼀number03 = 0o10 # 0o或者0O表⽰⼋进制数print(number03)# ⼗六进制:0 1 2 3 ...9 A(10) B C D E F(15) 10number04 = 0x10 # 0x或者0X表⽰⼗六进制print(number04)浮点数类型(float)⼩数类型⼜称为浮点数类型浮点数类型表⽰的是带⼩数点的数据,也称为实数是由整数和⼩数组成,中间使⽤⼩数点例如:n7 = 3.14n8 = 3.23E-3⼩数值表⽰⽅法:(1)⼀般形式 7.5678(2)科学计数法 2.13e3 4.45E-22.13e3 相当于 2.13 * 10的三次⽅4.45E-2 相当于 4.45 * 10的负⼆次⽅(3)特殊情况⼩数部分为0,可以不写例如: 19.0 相当于 19.整数部分为0,可以不写例如: 0.234 相当于 .234布尔类型(bool)布尔类型表⽰逻辑值⽤来表⽰真和假,是或否,成⽴或不成⽴,满⾜或不满⾜的类型布尔类型的值:True表⽰真(条件满⾜或成⽴)False表⽰假(条件不满⾜或不成⽴)例如: flg = True f1 = False布尔类型的本质是整数类型0表⽰假的情况,1(⾮0)表⽰真的情况命题:带有判断性质的陈述句转换为布尔类型:bool(数据)结果为False:bool(0) bool(0.0) bool(None)字符串(str)字符串是⼀个有序的字符集合,主要⽤于存储和表⽰⽂本字符串在Python中由单引号、双引号、三个单引号或者三个双引号括起来的⼀串字符定义:由⼀系列字符组成的不可变序列容器,存储的是字符的编码值字符串既能整体使⽤,也能使⽤部分数据相关概念:字节byte:计算机最⼩存储单位,等于8位bit字符:单个的数字,字母,⽂字与符号字符集(码表):存储字符与⼆进制序列的对应关系编码:将字符转换位对应的⼆进制序列的过程解码:将⼆进制序列转换位对应的字符的过程编码⽅式:ASCII编码:包含英⽂、数字等字符,每个字符1个字节GBK编码:兼容ASCII编码,包含21003个中⽂;英⽂1个字节,汉字2个字节unicode字符集:国际统⼀编码,旧字符集每个字符2个字节,新字符集4个字节UTF-8编码:Unicode的存储与传输⽅式,英⽂1个字节,中⽂3个字节相关函数:ord(字符串) :返回该字符串的Unicode码chr(整数):返回该整数对应的字符串字符串特点:只能被重新赋值,不能修改某个字符的值,字符串是不可变的字符串中每个字符都有唯⼀⼀个编号(下标/序号),从0开始,python会给字符串中的字符⾃动编号字符串中的每个字符称为元素/成员s='hello' # 01234⽐如,不允许/⽆法直接修改h为H不允许s[0]='H'允许s='Hello'例如:name = 'rose'address = "北京市朝阳区"sex = '''男'''email = """zhang@"""-----------------------------------str1 = 'Python是'最⽜'的语⾔之⼀'-- 错误str2 = 'Python是"最⽜"的语⾔之⼀'print(str2)str3 = "Python是"最⽜"的语⾔之⼀"-- 错误str4 = "Python是'最⽜'的语⾔之⼀"print(str4)⼝诀:单对双、双对单字符串编码# 字 -->数number = ord('天') # 返回该字符串的Unicode码print(number)# 数 -->字str01 = chr(97) # 返回该整数对应的字符串print(str01)字符串字⾯值name01 = "悟空"name02 = '悟空'# 三引号:可见即所得name03 = '''悟空'''name04 = """悟空"""message01 = "我是'齐天⼤圣'孙悟空."message02 = '我是"齐天⼤圣"孙悟空.'message03 = """我是'齐天⼤圣'"孙悟空"."""print(message01)print(message02)print(message03)使⽤字符串表⽰⽤户ID、昵称、所在地区城市等'E_bfutdvu'"因为有你""⼭西-太原"#打印出这些信息来print('E_bfutdvu')print("因为有你")print("⼭西-太原")获取字符串的个数:len()len('E_bfutdvu')print(len('E_bfutdvu'))print(len("因为有你"))print(len("因为有你"))print(len("因为有你 "))通过input()键盘输⼊给对⽅留⾔,获取留⾔总字数。
数据库字段类型选择原则与技巧

数据库字段类型选择原则与技巧在设计和创建数据库时,选择适当的字段类型是至关重要的。
字段类型会直接影响数据库的性能、存储和可扩展性。
本文将介绍一些常见的数据库字段类型,并提供选择原则和技巧,以帮助开发人员在设计数据库时做出明智的决策。
1. 字符串类型在数据库中存储文本数据通常需要选择适当的字符串类型。
最常见的字符串类型是CHAR、VARCHAR和TEXT。
- CHAR:固定长度的字符串类型。
当存储的数据的长度是固定的或者非常接近固定的时候,CHAR是一个不错的选择。
例如,存储国家或地区的代码时,通常是两个字符的固定长度。
- VARCHAR:可变长度的字符串类型。
VARCHAR通常用于存储长度不固定的文本数据。
它可以根据存储的数据自动调整长度。
对于存储用户输入的数据,如用户名、电子邮件地址等,使用VARCHAR更为合适。
- TEXT:用于存储大段文本数据的字符串类型。
当需要存储较大的文本数据时,TEXT是一个不错的选择。
然而,需要注意的是,TEXT类型会占用更多的存储空间和处理时间。
2. 数字类型在数据库中存储数值类型的数据时,需要根据数值的范围和精度选择适当的数据类型。
常见的数字类型有INT、BIGINT、FLOAT和DECIMAL。
- INT:用于存储整数类型的数据。
INT适用于存储整数数据,其范围通常从-2147483648到2147483647。
- BIGINT:用于存储较大整数类型的数据。
如果需要存储超过INT范围的整数数据,BIGINT则是一个较好的选择。
- FLOAT:用于存储浮点数类型的数据。
FLOAT适合存储具有小数部分的数值。
然而,需要注意的是,FLOAT类型在精度上有一定的限制。
- DECIMAL:用于存储高精度数值类型的数据。
DECIMAL可以存储更加精确的数值,具有更高的精度。
在需要计算金额和货币值等情况下,DECIMAL通常是更好的选择。
3. 日期和时间类型在数据库中存储日期和时间相关的数据时,需要选择合适的日期和时间类型。
6中基本数据类型

6种基本数据类型
在计算机编程中,通常有6种基本数据类型,分别是:
1. 布尔型(Boolean):只有两个值,true(真)和false(假),用于表示条件判断和逻辑运算结果。
2. 整型(Integer):表示整数类型的数据,包括有符号和无符号两种类型,常用的有int、short、long等。
3. 浮点型(Floating-point):表示带小数点的数,有单精度和双精度两种类型,常用的有float和double。
4. 字符型(Char):用来表示字符类型的数据,常用的是char类型,可以表示ASCII码和Unicode字符集中的字符。
5. 字符串型(String):表示一个或多个字符组成的字符串类型的数据,常用的有String类型。
6. 指针型(Pointer):存储变量地址值的数据类型,常用于数组、函数等的使用。
这些基本数据类型在计算机编程中经常使用,不同的类型有不同的数据范围、存储方式和操作规则。
在编程时,选择合适的数据类型可以提高程序的效率和可读性。
数据类型(列类型-时间日期类型和字符串类型)

数据类型(列类型-时间⽇期类型和字符串类型)时间⽇期类型Datetime:时间⽇期,格式是YYYY-mm-dd HH:ii:ss,表⽰的范围是从1000到9999年,有0值:0000-00-00 00:00:00Date:⽇期,就是datatime中的date部分Time:时间(段),指定的某个区间之间,负时间到正时间Timestamp:时间戳,并不是时间戳,只是从1970年开始的YYYY-mm-dd HH:ii:ss 格式与datetime完全⼀致Year:年份。
两种形式,year(2)和year(4):1901-2156创建时间⽇期表插⼊数据:时间可以是负数,⽽且可以使很⼤的负数,Timestamp字段:只要当前所在的记录被更新,该字段⼀定会⾃动更新成当前时间⽹站是以PHP为实现的主要操作对象:PHP中有⾮常强⼤的时间⽇期处理函数:date,只需要⼀个时间戳就可以转换成任意类型的时间:以PHP为主的时候,都是在数据库使⽤时间戳(整型)来存储时间字符串类型在SQL中,将字符串类型分成了6类:char,varchar,text,blob,enum和set定长字符串定长字符串:char ,磁盘(⼆维表)在定义结构的时候,就已经确定了最终数据的存储长度char(L):L代表length,可以存储的长度,单位为字符,最⼤长度值可以为255char(4):在UTF8环境下,需要4*3=12个字节变长字符串变长字符串:varchar,在分配空间的时候,按照最⼤的空间分配:但是实际上最终⽤了多少,是根据具体的数据来确定varhcar(L):L表⽰字符长度理论上长度是65536个字节,但是会多出⼀到两个字节来确定存储的实际长度:但是实际上如果长度超过了255,既不⽤定长也不⽤变长,使⽤⽂本字符串textvarchar(10) :的确存了10个汉字,utf8环境,10*3+1=31(bytes)存储了3个汉字:3*3+1=10(bytes)定长与变长的存储实际空间(UTF8)实际存储数据char(4)varchar(4)char占⽤字节varchar占⽤空间ABCDABCDABCD4*3=124*3+1=13AAA4*3=121*3+1=4ABCDE✘✘数据超过长度数据超过长度如何选择定长或者变长字符串呢?定长的磁盘空间⽐较浪费,但是效率⾼:如果数据基本上确定长度都⼀样,就使⽤定长,如⾝份证号,电话号码等变长的磁盘空间⽐较节省,但是效率低;如果数据不能确定长度(不同数据有变化),如姓名,地址等。
六种数据类型

六种数据类型数据类型的种类: 1.数字类型Number(int,float,bool,complex) 2.字符串类型str 3.列表类型list 4.元组类型tuple 5.集合类型set 6.字典类型dict1. 数字类型Number(int,float,bool,complex) 1.1 整型 int 1.2 浮点型 float 两种表⽰⽅法: (1)实⽤⼩数点表⽰floatvar = 4.88print(floatvar)print(type(floatvar)) (2)使⽤科学记数法floatvar = 6.7e4print(floatvar)print(type(floatvar)) 1.3 布尔型 bool 只有True(真)和False(假)两个值 1.4 复数类型 complexcomplex 实数 + 虚数例如,3 + 4j 3:实数 4j:虚数 j:如果有⼀个数,它的平⽅等于-1,那么这个数就是j,表⽰的是⾼精度的类型# 表达⽅式⼀complexvar = 56 - 3jcomplexvar = -3jprint(complexvar)print(type(complexvar))# 表达⽅式⼆# 语法:complex(实数, 虚数)complexvar = complex(56, -3)print(complexvar)print(type(complexvar))2. 字符串类型 str被引号引起来的就是字符串 2.1 转义字符 转义字符: \ + 某个字符 (1) 将有意义的字符变得⽆意义 (2) 将⽆意义的字符变得有意义 \n, \r\n :换⾏ \t :tab缩进(⽔平制表符)[⼀般来说,⼀个缩进是4个空格的距离] \r :将后⾯的字符直接拉到当前⾏⾏⾸# 将⽆意义的字符变得有意义strvar = "⽂哥是这个世界上,\n我认为最帅的男⼈"strvar = "⽂哥是这个世界上,\r\n我认为最帅的男⼈"strvar = "⽂哥是这个世界上,我认\t为最帅的男⼈"strvar = "⽂哥是这个世界上,\r我认为最帅的男⼈"strvar = "⽂哥是这个世界上,\n我认为\r最帅的男⼈"# 将有意义的字符变得⽆意义strvar = "⽂哥是这个世界上,浑⾝冒\"⾦光\"的男⼈"print(strvar)print(type(strvar))2.2 元字符strvar = r"E:\nython\tay2"print(strvar)2.3 格式化字符串 语法:"字符串" % (值1,值2,值3) %d:整型占位符 %f:浮点型占位符 %s:字符串占位符# %d 整型占位符strvar = "张三学习容易⾛神,买了%d个风油精,提神醒脑" % (5) print(strvar)# %2d 占两位原字符串默认居右strvar = "李四今天%d岁" % (3)print(strvar)strvar = "李四今天%2d岁" % (3)print(strvar)# %-2d 占两位原字符串默认居左strvar = "李四今天%-2d岁" % (3)print(strvar)# %f 浮点型占位符strvar = "王五⼀个⽉开了%f⼯资" % (9.9)print(strvar)# %.2f ⼩数点保留2位strvar = "王五⼀个⽉开了%.2f⼯资" % (9.9)print(strvar)# %f 存在四舍五⼊的情况strvar = "王五⼀个⽉开了%.1f⼯资" % (9.87654321)print(strvar)# %s 字符串占位符strvar = "%s" % ("python31的同学们都有祖安⼈民的特质")print(strvar)# 综合案例strvar = "%s看好了⼀辆车,特斯拉model x,买了%d辆,花了%.1f元" % ("赵六", 10, 9.9) print(strvar)# 可以全部使⽤%s占位符进⾏取代strvar = "%s看好了⼀辆车,特斯拉model x,买了%s辆,花了%s元" % ("赵六", 10, 9.9) print(strvar)3. 列表类型 list 特点:可获取,可修改,有序3.1 获取列表的值# 定义⼀个空列表listvar = []print(listvar, type(listvar))# 定义⼀个普通列表# 正向下标索引 0 1 2 3 4listvar = [100, 19.123, True, 1+12j, "马胜平"]# 逆向下标索引 -5 -4 -3 -2 -1print(listvar)# 获取列表当中的值res = listvar[2]res = listvar[-3]print(res)# 获取列表当中的最后⼀个值# python特有print(listvar[-1])# 通⽤写法'''len 获取容器类型数据的长度(元素的总个数)'''res = len(listvar)print(res)res = listvar[res - 1]print(res)# 简写print(listvar[len(listvar) - 1])3.2 修改列表的值# 修改列表⾥⾯的元素listvar[-3] = Falseprint(listvar)4. 元组类型 tuple特点:可获取,不可修改,有序4.1 获取元组中的元素# 定义⼀个普通元组# 正向下标索引 0 1 2 3tuplevar = ("明浩", "徐彦伟", "李志辉", "马春培")# 逆向下标索引 -4 -3 -2 -1# 1.获取元组当中的元素res = tuplevar[1]res = tuplevar[-1]print(res)4.2 元组元素不可修改4.3 判定元组的类型逗号才是区分是否是元组的标识符tuplevar = (123,)tuplevar = 123,print(tuplevar, type(tuplevar))5. 集合类型 set作⽤:集合之间的交差并补特点:⽆序,⾃动去重5.1 定义⼀个集合setvar = {'⾦城武', '喻⽂波', '王俊凯', '王⽂'}print(setvar, type(setvar))5.2 集合⽆序不能获取集合中的元素不能修改集合中的元素5.3 ⾃动去重setvar = {'⾦城武', '王俊凯', '喻⽂波', '王⽂', '王⽂', '王⽂', '王⽂'}print(setvar)5.4 定义⼀个空集合# setvar = {}setvar = set()print(setvar, type(setvar))6. 字典类型 dict6.1 获取字典的值# 定义⼀个空字典dictvar = {}print(dictvar, type(dictvar))# 定义⼀个普通字典dictvar = {"智多星": "吴⽤", "花和尚": "鲁智深", "浪⾥⽩条": "张顺", "回⾸掏": "⼤司马"} # 获取字典中的值res = dictvar["回⾸掏"]print(res)6.2 修改字典的值dictvar = {"智多星": "吴⽤", "花和尚": "鲁智深", "浪⾥⽩条": "张顺", "回⾸掏": "⼤司马"} dictvar['回⾸掏'] = '宋云杰'print(dictvar)6.7 字典的键和集合中的值对数据类型的要求字典的键和集合中的值数据类型的要求必须是如下⼏种:如下类型可以:不可变数据(可哈希的数据类型)Number(int, float, bool, complex), str, tuple不允许的类型:可变数据(不可哈希的数据类型)list, set, dict但凡提到哈希算法(hash),都是典型的⽆序特征⽬的:为了更加均匀的把数据分配到内存中,底层⽤的算法类似于取模python3.6版本之后,对字典做了优化,存储数据的时候⽤哈希算法但是在拿出数据的时候,重新按照定义字典时的顺序进⾏重新排序所以看起来有序,实际上⽆序。
MySQL中的数据类型以及存储空间占用

MySQL中的数据类型以及存储空间占用MySQL是一种广泛使用的关系型数据库管理系统,被众多网站和应用程序所采用。
在MySQL中,数据类型决定了每个字段可以存储哪种类型的数据。
不同的数据类型在存储空间占用和数据的存储方式上有所区别。
本文将探讨MySQL中常见的数据类型以及它们在存储空间方面的差异。
1. 数值类型1.1 整型整数类型是MySQL中最常用的数据类型之一。
MySQL提供了多种整数类型,包括TINYINT、SMALLINT、MEDIUMINT、INT和BIGINT,它们分别用于存储不同范围的整数。
这些整数类型在存储空间方面的差异如下:- TINYINT:占用1个字节(8位),可存储范围为-128到127或者0到255。
- SMALLINT:占用2个字节(16位),可存储范围为-32768到32767或者0到65535。
- MEDIUMINT:占用3个字节(24位),可存储范围为-8388608到8388607或者0到16777215。
- INT:占用4个字节(32位),可存储范围为-2147483648到2147483647或者0到4294967295。
- BIGINT:占用8个字节(64位),可存储范围为-9223372036854775808到9223372036854775807或者0到18446744073709551615。
根据存储需求和数据范围,选择合适的整数类型有助于提高性能和节约存储空间。
1.2 浮点型浮点类型用于存储小数。
MySQL提供了FLOAT和DOUBLE两种浮点类型。
它们在存储空间方面的差异如下:- FLOAT:占用4个字节(32位),可以存储大约7个有效数字。
- DOUBLE:占用8个字节(64位),可以存储大约15个有效数字。
FLOAT和DOUBLE类型适用于需要存储较大或较精确的浮点数的场景。
然而,由于浮点数的精度问题,对于需要精确计算的场景,应该使用十进制类型。
数据库学习

1.2. 列类型(column type)
MySQL数据库的表是一个二维表,由一个或多个数据列构成。每个数据列都有它的特定类型,该类型决定了MySQL如何看待该列数据,我们可以把整型数值存放到字符类型的列中,MySQL则会把它看成字符串来处理。MySQL中的列类型有三种:数值类、字符串类和日期/时间类。从大类来看列类型和数值类型一样,都是只有三种。但每种列类型都还可细分。下面对各种列类型进行详细介绍。
MySQL能识别字符串中的转义序列,转义序列用反斜杠(\)表示。下面是一个转义序列列表。
Table 1.1. 转义序列
转义序列 含义
\0 NUL(ASCII的0值)
\‘ 单引号
\" 双引号
\b 后退符
\n 换行符
\r 回车符
\t 制表符
\\ 反斜杠
\Z Ctrl+Z
ENUM(‘value1‘,‘value2‘,...) 65535个成员 1或2字节
SET(‘value1‘,‘value2‘,...) 64个成员 1,2,3,4或8字节
L+1、L+2是表示数据列是可变长度的,它占用的空间会根据数据行的增减面则改变。数据行的总长度取决于存放在这些数据列里的数据值的长度。L+1或L+2里多出来的字节是用来保存数据值的长度的。在对长度可变的数据进行处理时,MySQL要把数据内容和数据长度都保存起来。
1.3. 唯一编号
1.4. 字符集支持
1.4.1. MySQL4.1以前版本
1.4.2. MySQL4.1以后版本
1.4.3. 各级字符集的查询方法
1.4.4. Unicode支持
字符串类型

字符串类型
Char
char数据类型用来存储指定长度的定长非统一编码型的数据。
当定义一列为此类型时,你必须指定列长。
当你总能知道要存储的数据的长度时,此数据类型很有用。
例如,当你按邮政编码加4个字符格式来存储数据时,你知道总要用到10个字符。
此数据类型的列宽最大为8000个字符.
Varchar
varchar数据类型长度不超过8KB也就是说不超过8000个字节,同char类型一样,用来存储非统一编码型字符数据。
与char型不一样,此数据类型为变长。
当定义一列为该数据类型时,你要指定该列的最大长度。
它与char数据类型最大的区别是,存储的长度不是列长,而是数据的长度。
注意:其中文字符是占两个字节的。
Text
用来存储大量的非统一编码型字符数据。
这种数据类型最多可以有231-1或20亿个字符
Varchar(MAX)
在Microsoft SQLServer2005及以上的版本中出现使用的,最多2^30-1个字节的数据。
微软的说法是用这个数据类型来代替之前的text数据类型,有了大值数据类型之后,在对大值数据操作的时候要比以前灵活的多了。
比如:之前text是不能用‘like’的,有了varchar(max)
之后就没有这些问题了,因为varchar(max)在行为上和varchar(n)上相同,所以,可以用在varchar的都可以用在varchar(max)上。
dataframe columns 类型

一、概述在数据分析和数据处理的过程中,DataFrame是一种常用的数据结构。
在DataFrame中,列(columns)是数据的核心组成部分之一。
每一列可以包含不同类型的数据,如整数、浮点数、字符串等。
本文将对DataFrame中列的类型进行详细介绍,包括列的类型有哪些、如何查看列的类型、如何修改列的类型等内容。
二、列的类型有哪些在DataFrame中,列的类型主要包括以下几种:1. 整数类型(int):表示整数数据,如1, 2, 3等。
2. 浮点数类型(float):表示带有小数部分的数值,如1.0, 2.5,3.14等。
3. 字符串类型(object):表示文本数据,如'abc', '123'等。
4. 日期时间类型(datetime):表示日期和时间数据,如2022-01-01 12:00:00等。
5. 类别类型(category):表示有限数量的取值,如性莂(男、女)、学位等级(小学、初中、高中、大学)等。
6. 布尔类型(bool):表示True或False。
7. 其他类型:还可以有其他自定义的数据类型,如自定义对象、自定义结构等。
三、如何查看列的类型在Python的pandas库中,可以使用dtypes属性来查看DataFrame的列的类型。
例如:```pythonimport pandas as pddata = {'A': [1, 2, 3], 'B': [1.0, 2.5, 3.14], 'C': ['a', 'b', 'c']}df = pd.DataFrame(data)print(df.dtypes)```运行以上代码可以得到列的类型:```A int64B float64C objectdtype: object```从输出结果可以看出,列A的类型是int64,列B的类型是float64,列C的类型是object。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
字符串类数据列类型
字符串可以用来表示任何一种值,所以它是最基本的类型之一。
我们可以用字符串类型来存储图象或声音之类的二进制数据,也可存储用gzip压缩的数据。
下表介绍了各种字符串类型:Table 1.3. 字符串类数据列类型
类型长度占用存储空间CHAR[(M)]M字节M字节VARCHAR[(M)]M字节L+1字节TINYBLOD,TINYTEXT2^8-1字节L+1字节BLOB,TEXT2^16-1字节L+2MEDIUMBLOB,MEDIUMTEXT2^24-1字节L+3LONGBLOB,LONGTEXT2^32-1字节L+4ENUM('value1','value2',...)65535个成员1或2字节SET('value1','value2',...)64个成员1,2,3,4或8字节
L+1、L+2是表示数据列是可变长度的,它占用的空间会根据数据行的增减面则改变。
数据行的总长度取决于存放在这些数据列里的数据值的长度。
L+1或L+2里多出来的字节是用来保存数据值的长度的。
在对长度可变的数据进行处理时,MySQL要把数据内容和数据长度都保存起来。
如果把超出字符串长度的数据放到字符类数据列中,MySQL会自动进行截短处理。
ENUM和SET类型的数据列定义里有一个列表,列表里的元素就是该数据列的合法取值。
如果试图把一个没有在列表里的值放到数据列里,它会被转换为空字符串(“”)。
字符串类型的值被保存为一组连续的字节序列,并会根据它们容纳的是二进制字符串还是非二进制字符而被区别对待为字节或者字符:
二进制字符串被视为一个连续的字节序列,与字符集无关。
MySQL把BLOB数据列和带BINARY属性的CHAR和VARCHAR数据列里的数据当作二进制值。
非二进制字符串被视为一个连续排列的字符序列。
与字符集有关。
MySQL把TEXT列与不带BINARY属性的CHAR和VARCHAR数据列里的数据当作二进制值对待。
在MySQL4.1以后的版本中,不同的数据列可以使用不同的字符集。
在MySQL4.1版本以前,MySQL用服务器的字符集作为默认字符集。
非二进制字符串,即我们通常所说的字符串,是按字符在字符集中先后次序进行比较和排序的。
而二进制字符串因为与字符集无关,所以不以字符顺序排序,而是以字节的二进制值作为比较和排序的依据。
下面介绍两种字符串的比较方式:
二进制字符串的比较方式是一个字节一个字节进行的,比较的依据是两个字节的二进制值。
也就是说它是区分大小写的,因为同一个字母的大小写的数值编码是不一样的。
非二进制字符串的比较方式是一个字符一个字符进行的,比较的依据是两个字符在字符集中的先后顺序。
在大多数字符集中,同一个字母的大小写往往有着相同的先后顺序,所以它不区分大小写。
二进制字符串与字符集无关,所以无论按字符计算还是按字节计算,二进制字符串的长度都是一样的。
所以VARCHAR(20)并不表示它最多能容纳20个字符,而是表示它最多只能容纳可以用20个字节表示出来的字符。
对于单字节字符集,每个字符只占用一个字节,所以这两者的长度是一样的,但对于多字节字符集,它能容纳的字符个数肯定少于20个。
1.2.2.1. CHAR和VARCHAR
CHAR和VARCHAR是最常用的两种字符串类型,它们之间的区别是:
CHAR是固定长度的,每个值占用相同的字节,不够的位数MySQL会在它的右边用空格字符补足。
VARCHAR是一种可变长度的类型,每个值占用其刚好的字节数再加上一个用来记录其长度的字节即L+1字节。
CHAR(0)和VARCHAR(0)都是合法的。
VARCHAR(0)是从MySQL4.0.2版开始的。
它们的作用是作为占位符或用来表示各种on/off开关值。
如何选择CHAR和VARCHAR,这里给出两个原则:
如果数据都有相同的长度,选用VARCHAR会多占用空间,因为有一位用来存储其长度。
如果数据长短不一,选用VARCHAR能节省存储空间。
而CHAR不论字符长短都需占用相同的空间,即使是空值也不例外。
如果长度出入不大,而且是使用MyISAM或ISAM类型的表,则用CHAR会比VARCHAR好,因为MyISAM和ISAM类型的表对处理固定长度的行的效率高。
在一个数据表里,只要有一个数据列的长度是可变的,则所有数据列的长度将是可变的。
MySQL会进行自动地转换。
一个例外,CHAR长度小于4的不会进行自动转换,因为MySQL会认为这样做没必要,节省不了多少空间。
反而MySQL会把大量长度小的VARCHAR转换成CHAR,以减少空间占用量。
【。