发表于: 2018-02-05 23:12:10

1 710


1.今天完成的事情:

学习MySQL数据类型相关内容

重做任务一4.创建出来报名贴的业务表

设计报名表

DOS创建表

2. 明天计划的事情:

完成MySQL任务5-11

简要了解索引后暂停MySQL的学习.并复习

3.遇到的问题:

      文本字符串ENUM SET类型 不太理解

                     解决方式:因为与任务相关度不大,简要了解后先放弃,后期慢慢学习


4.收获:

数据类型的学习

2.char varchar text的选择

数据的检索效率是:char > varchar > text

空间占用方面,就要具体情况具体分析了。

char:存储定长数据很方便,CHAR字段上的索引效率级高,必须在括号里定义长度,可以有默认值,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间(自动用空格填充),且在检索的时候后面的空格会隐藏掉,所以检索出来的数据需要记得用什么trim之类的函数去过滤空格。

varchar:存储变长数据,但存储效率没有CHAR高,必须在括号里定义长度,可以有默认值。保存数据的时候,不进行空格自动填充,而且如果数据存在空格时,当值保存和检索时尾部的空格仍会保留。另外,varchar类型的实际长度是它的值的实际长度+1,这一个字节用于保存实际使用了多大的长度。

text:存储可变长度的非Unicode数据,最大长度为2^31-1个字符。text列不能有默认值,存储或检索过程中,不存在大小写转换,后面如果指定长度,不会报错误,但是这个长度是不起作用的,意思就是你插入数据的时候,超过你指定的长度还是可以正常插入。




返回列表 返回列表
评论

    分享到