Mysql数据库之数据类型


Mysql数据类型大致分为:数字、字符串、时间三种类型

1.数字类型

(1)bit[M]:二进制位,m表示二进制位的长度(1-64),默认m=1

(2)tinyint[(m)]:小整数,范围:

              有符号:-128~127    signed

              无符号:0~255    unsigned

  注:Mysql中无布尔值,使用tinyint(1)构造

(3)int[(m)]:整数,范围:

          有符号:-2147483648~214783647

          无符号:0~4294967295

  注:整数类型中的m仅用于显示,对存储范围无限制。例如:int(5),当插入数据2时,select时数据显示为:00002

(4)bigint[(m)]:大整数,范围:

            有符号:-9223372036854775808 ~ 9223372036854775807

            无符号:0 ~ 18446744073709551615

(5)decimal[m[,d]]:准确的小数值(也就是说这个小数值是准确的,不是近似值),其中m表示:小数点前面位数+小数点后面位数;d表示:小数点后面的位数

(6)FLOAT[(m,d)]:单精度浮点数(是一个非精确的小数值),m是数字总个数,d是小数点后面的位数

(7)DOUBLE[(m,d)]:双精度浮点数(非精确小数值),m是数字总位数,d是小数点后面的位数

  注:对于FLOAT和DOUBLE来说数值越大,越不准确。

 

2.字符换类型

(1)char(m) :char数据类型用于表示固定长度的字符串,最多包含255个字符,其中m表示字符串的长度

(2)varchar(m):varchar数据类型表示变长的字符串类型,最多包含255个字符,其中m表示该字符串所允许保存的字符串的最大长度,只要长度小于该最大值的字符串都可以被保存在该数据类型中。

注:虽然varchar使用起来较为灵活,但是从整个系统的性能角度来说,char数据类型的处理速度更快,有时甚至可以超出varchar处理速度的50%。因此,用户在设计数据库时应当综合考虑各方面的因素,以求达到最佳的平衡

(3)text:text数据类型用于保存变长的大字符串,可以组多到65535 (2**16 − 1)个字符。

(4)mediumtext:和text用法一致,区别在于长度比text长,长度为16777215(2**24-1)个字符

(5)longtext:和text用法一致,区别在于长度比mediumtext更长,长度为:4294967295字符(4GB)

 

3.时间和其他

(1)enum:枚举类型

  用法例子如下:sex ENUM('男','女','保密')

(2)set:集合类型

  用法:创建一个表,里面包含了一个set类型

      create table myset(

             id int primary key auto_increment,

             col set('a','b','c','d')

              );

      set的使用

      insert into myset(col) values ('a,b'),('b,d'),('a,d'),('a,b,c,d')

      set集合可以将col中设置的a,b,c,d任意组合,而enum类型只能选择里面的其中一个。

(3)DATE:YYYY-MM-DD(2019-05-25)

(4)TIME:HH:MM:SS(888:59:59)

(5)YEAR:YYYY(2019)

(6)DATETIME:YYYY-MM-DD HH:MM:SS(2019-12-31 23:59:59)


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM