文档详情

32.数据类型PHP最新版.pptx

发布:2017-05-22约3.75千字共26页下载文档
文本预览下载声明
数据类型 常用数据类型 我们都使用过Excel,其中每一列的数据是可以设置类型的 我们使用数据库,首先就需要建表,而建表最重要的是定义每个字段的类型。 MySQL中常用的字段类型,大致可分为下面几类 整型类:BIGINT、INT、MEDIUMINT、SMALLINT、TINYINT 浮点型:FLOAT、DOUBLE 定点型:DECIMAL 字符类:CHAR、VARCHAR、TEXT 日期时间类:DATE、DATETIME、TIMESTAMP 其他类型:ENUM、SET、BIT、BLOB 整型 整型有5种表示方式,不同类型的整型所占的字节数不同,因此表示的数值范围也不同 因此,通常我们使用INT来保存各种id编号,SMALLINT来保存数量,TINYINT来保存boolean值 类型 存储 最小值 最大值 (字节数) (有符号/无符号) (有符号/无符号) TINYINT 1 -128 127 0 255 SMALLINT 2 -32768 32767 0 65535 MEDIUMINT 3 -8388608 8388607 0INT 4 -2147483648 2147483647 0 4294967295 BIGINT 8 -9.22337E+18 9.22337E+18 0 1.84467E+19 显示长度 我们在使用整型类型时通常还会在类型名后加上一个数字,譬如INT(11) M的长度为显示长度,如果是INT(11),插入1,实际上是以11个字符的长度[ 1]来表示,因此,显示长度可以超出最大值的位数,但是插入11111111111到INT(11)就会报错 类型 M的默认值 BIGINT(M) 20 INT(M) 11 MEDIUMINT(M) 9 SMALLINT(M) 6 TINYINT(M) 4 练习 请为cv表增加一个id字段,用来保存简历的编号 要求使用合理的整型类型 id字段必须放在所有列的最前面 浮点型 FLOAT和DOUBLE主要用来保存小数,单精度和双精度的区别(4字节存储和8字节存储的区别),我们可以定义FLOAT (M,D)、DOUBLE(M,D) ,M为数字的全长,D为小数点后长度(因此M必须大于等于D),通常M称为精度,D称为标度,因此: 假设FLOAT(2,2),那么我们只能输入小数; FLOAT(3,2)时,输入1,保存为1.00…… FLOAT(4,2)时,输入12.4875,按保留2位进行四舍五入,得到12.49 如果M和D被省略,根据硬件实际允许的精度限制来保存值。 浮点数 创建数据表 CREATE TABLE floattest (   a FLOAT;   b FLOAT; ); 插入数据 INSERT INTO floattest VALUES (5, 3.2); 执行减法运算 SELECT a - b FROM floattest; 还是精度问题 前面计算的结果是:1.7999999523162842 即使将表结果改成DOUBLE还是无法解决问题,只是结果更近似:1.7999999999999998 我们之前介绍过,浮点数在计算机中是无法精确存储的,所以使用FLOAT或者DOUBLE,也会有同样的问题 当然,位数越多,精度越高,但是仍然只是一个近似值 FORMAT 与PHP中的number_format一样,我们在MySQL中可以对返回的结果指定位数 SELECT FORMAT(col_name, n) FROM tbl_name; 因此前面的查询可以改为 SELECT FORMAT(a - b, 1) FROM floattest; 定点数 FLOAT和DOUBLE容易产生误差,通常,如果系统对精度的要求非常的高,我们可以使用DECIMAL(M,D) 如果不指定精度,直接使用DECIMAL类型,则系统默认是DECIMAL(10,0) DECIMAL之所以精度比FLOAT和DOUBLE高,是因为它在计算机中并不是转换为二进制存储的,而是以字符串的形式保存 练习 请为cv表增加weight(体重)height(身高)两个字段 要求能够保存小数 请设置合理的精度的小数类型 字符类型-CHAR CHAR(M) 是用来保存固定字符长度的字符串,譬如身份证号、手机号之类。 注意:M既可以表示一个英文字母,也可以表示一个汉字,所以我们特指的是字符数,不是字节数 字符类型-VARCHAR VARCHAR(M) 是用来保存可变长度的字符串,M是最大字符数,实际保存的字符长度以实际存储的文本长度为准,因此,VARCHAR多用来保存短字符串,譬如姓名、地址等。 字符类型-TEXT TEXT最大可以保存65535(2的16次方-1)个字符,我们可以将大段的
显示全部
相似文档