介绍数据库中常用字段类型
类别 | 数据类型 |
---|---|
数值类型 | • bit(M) 位类型。M指定位数,默认值1,范围1-64• bool/ boolean 使用0或1表示真或假• tinyint [UNSIGNED] 带符号的范围是-128到127。无符号0到255。默认是有符号【占1个字节】• smallint [UNSIGNED] 带符号是 负的 2的15次方 到 2的15次方-1 ,无符号 2的16方 -1【占2个字节】• int [UNSIGNED] 带符号是 负的 2的31次方 到 2的31次方-1 ,无符号 2的32方 -1 【占4个字节】• bigint [UNSIGNED] 带符号是 负的 2的63次方 到 2的63次方-1 ,无符号 2的64方 -1【占8个字节】• float [(M,D)] [UNSIGNED] M指定显示长度,d指定小数位数 浮点型,含字节数为4,32bit,数值范围为-3.4E38~3.4E38(7个有效位)【占4个字节】• double [(M,D)] [UNSIGNED] 双精度实型,含字节数为8,64bit数值范围-1.7E308~1.7E308(15个有效位)【占8个字节】• decimal(M,D) :数字型,128bit,不存在精度损失,常用于银行帐目计算。(28个有效位)【如果M>D,为M+2否则为D+2个字节】 |
文本、二进制类型 | • char (size) char(20) 固定长度字符串 最大255VARCHAR(size)• varchar (20) 可变长度字符串 最大65532 【在mysql5.0中最大21844• blob / longblob 二进制数据 • text/ longtext 大文本,不支持全文索引,不支持默认值,建议使用varchar |
时间日期 | • date 日期类型(YYYY-MM-DD),时间范围:[‘1000-01-01’到’9999-12-31’],占4个字节 • datetime (YYYY-MM-DD HH: MM:SS),时间范围:[ ‘1000-01-01 00:00:00’到’9999-12-31 23:59:59’],占8个字节• TimeStamp表示时间戳,它可用于自动记录insert、update操作的时间,时间范围:[ ‘1970-01-01 00:00:00’到’2037-12-31 23:59:59’],占4个字节 |
String类型 | • enum 类型:ENUM是一个字符串对象,其值来自表创建时在列规定中显式枚举的一列值。在某些情况下,ENUM值也可以为空字符串(”)或NULL: • set 类型:SET是一个字符串对象,可以有零或多个值,其值来自表创建时规定的允许的一列值。指定包括多个SET成员的SET列值时各成员之间用逗号(‘,’)间隔开。这样SET成员值本身不能包含逗号。SET最多可以有64个不同的成员 可以使用FIND_IN_SET()函数或LIKE操作符搜索SET值 |
标识符的字符:
使用任意字符,数字,符号,甚至是中文。但是一些特殊的组合,例如纯数字组合,特殊符号,包括mysql是内部关键字 应该使用标识符 限定符来包裹。
限定符: 反引号 “ 。