多语言展示
当前在线:805今日阅读:176今日分享:34

PHP38-mysql数据类型(3)

今天小编继续带领大家来学习php,今天带领大家来继续学习mysql中支持的数据类型,今天小编主要带领大家学习数据类型中的字符串数据类型、文本数据类型、还有一些其他的数据类型。
工具/原料
1

电脑一台

2

wampserver/zendstudio

方法/步骤
1

【char】字符串类型,当只是指定【char】不指定字符个数时,默认为【char(1)】,【char(n)】n表示字符的个数,如下图:

2

【char】字符串类型,如果在建表的时候不指定字符集就会默认为英文字符集,英文字符集状态下不能存储汉字,所以要想存储汉字我们需要在建表的时候指定字符集,在建表的末尾加【default charset=utf8】,另外需要注意的是【char(n)】里的n指的是字符个数,无论存英文字母还是汉字,都是n个英文字母或者n个汉字,如下图:

3

【char(n)】中n的最大值是255,所有无论是英文字母还是汉字都是可以存储25个,这个和字符集没有关系,无论是英文字符集还是汉字字符集都是可以存储255个英文字母或者255个汉字,如下图:

4

【varchar(n)】同【char(n)】一样,后面的n都表示的字符的个数,也就是说无论是英文还是汉字都是同样的个数,【varchar】同【char】的区别是【char】是固定存储,而【varchar】是可变的,意思就是如果【char(8)】和【varchar(8)】都只存一个字符'a',那么【char(8)】就还是占8个字符,而【varchar(8)】只占用了1个字符,所有【varcahr】还是比较省空间的,如下图:

5

【varchar(n)】中n的最大值理论值应该为65535,但是在实际中最大值为65532,实际上这个n的值和【char(n)】中的n不一样,【varchar(n)】中的n和字符集有关,当字符集为英文字符集时,n最大值为65532,当字符集为中文utf8时,一个汉字占3个字符,所以n最大值为65532/3=21844,如下图:

6

存少量字符串的时候我们一般都可以使用【char】或者【varchar】进行存储,但是当存储大量的字符串的时候,我们可以使用【text】这种数据类型,还包括【tinytext】/【text】/【mediumtext】/【longtext】这些,平时使用较多的还是【text】,如下图:

7

我们还可以使用【binary】或者【varbinary】存储二进制字节字符串,如下图:

8

可以使用【tinyblob】/【blob】/【mediumblob】/【longblob】存储二进制字节字符串,如下图:

9

【enum】数据类型,在使用【enum】数据类型之后,这列就只能存储【enum】中规定的值,如下图:

10

【set】数据类型,类似于【enum】数据类型,但是和【enum】数据类型不同 的是使用【enum】数据类型之后,该字段只能存储【enum】规定的值中之一,而使用【set】数据类型的字段,可以存储【set】规定的值的多个,如下图:

注意事项
1

个人观点,仅供参考。

2

感谢阅读。

推荐信息