二级mysql怎么考 mysql二级考试基础操作题怎么操作( 二 )


MySQL 以一个可选的显示宽度指示器的形式对 SQL 标准进行扩展,这样当从数据库检索一个值时,可以把这个值加长到指定的长度 。例如 , 指定一个字段的类型为 INT(6),就可以保证所包含数字少于 6 个的值从数据库中检索出来时能够自动地用空格填充 。需要注意的是,使用一个宽度指示器不会影响字段的大小和它可以存储的值的范围 。
万一我们需要对一个字段存储一个超出许可范围的数字,MySQL 会根据允许范围最接近它的一端截短后再进行存储 。还有一个比较特别的地方是,MySQL 会在不合规定的值插入表前自动修改为 0 。
UNSIGNED 修饰符规定字段只保存正值 。因为不需要保存数字的正、负符号,可以在储时节约一个“位”的空间 。从而增大这个字段可以存储的值的范围 。
ZEROFILL 修饰符规定 0(不是空格)可以用来真补输出的值 。使用这个修饰符可以阻止 MySQL 数据库存储负值 。
FLOAT、DOUBLE 和 DECIMAL 类型
MySQL 支持的三个浮点类型是 FLOAT、DOUBLE 和 DECIMAL 类型 。FLOAT 数值类型用于表示单精度浮点数值,而 DOUBLE 数值类型用于表示双精度浮点数值 。
与整数一样,这些类型也带有附加参数:一个显示宽度指示器和一个小数点指示器 。比如语句 FLOAT(7,3) 规定显示的值不会超过 7 位数字,小数点后面带有 3 位数字 。
对于小数点后面的位数超过允许范围的值,MySQL 会自动将它四舍五入为最接近它的值,再插入它 。
DECIMAL 数据类型用于精度要求非常高的计算中,这种类型允许指定数值的精度和计数方法作为选择参数 。精度在这里指为这个值保存的有效数字的总个数,而计数方法表示 小数点后数字的位数 。比如语句 DECIMAL(7,3) 规定了存储的值不会超过 7 位数字,并且小数点后不超过 3 位 。
忽略 DECIMAL 数据类型的精度和计数方法修饰符将会使 MySQL 数据库把所有标识为这个数据类型的字段精度设置为 10,计算方法设置为 0 。
UNSIGNED 和 ZEROFILL 修饰符也可以被 FLOAT、DOUBLE 和 DECIMAL 数据类型使用 。并且效果与 INT 数据类型相同 。
字符串类型
MySQL 提供了 8 个基本的字符串类型,可以存储的范围从简单的一个字符到巨大的文本块或二进制字符串数据 。
类型 大小 用途
CHAR 0-255字节 定长字符串
VARCHAR 0-255字节 变长字符串
TINYBLOB 0-255字节 不超过 255 个字符的二进制字符串
TINYTEXT 0-255字节 短文本字符串
BLOB 0-65 535字节 二进制形式的长文本数据
【二级mysql怎么考 mysql二级考试基础操作题怎么操作】 TEXT 0-65 535字节 长文本数据
MEDIUMBLOB 0-16 777 215字节 二进制形式的中等长度文本数据
MEDIUMTEXT 0-16 777 215字节 中等长度文本数据
LOGNGBLOB 0-4 294 967 295字节 二进制形式的极大文本数据
LONGTEXT 0-4 294 967 295字节 极大文本数据
CHAR 和 VARCHAR 类型
CHAR 类型用于定长字符串 , 并且必须在圆括号内用一个大小修饰符来定义 。这个大小修饰符的范围从 0-255 。比指定长度大的值将被截短,而比指定长度小的值将会用空格作填补 。
CHAR 类型可以使用 BINARY 修饰符 。当用于比较运算时 , 这个修饰符使 CHAR 以二进制方式参于运算 , 而不是以传统的区分大小写的方式 。
CHAR 类型的一个变体是 VARCHAR 类型 。它是一种可变长度的字符串类型,并且也必须带有一个范围在 0-255 之间的指示器 。CHAR 和 VARCHGAR 不同之处在于 MuSQL 数据库处理这个指示器的方式:CHAR 把这个大小视为值的大?。怀ざ炔蛔愕那榭鱿戮陀每崭癫棺?。而 VARCHAR 类型把它视为最大值并且只使用存储字符串实际需要的长度(增加一个额外字节来存储字符串本身的长度)来存储值 。所以短于指示器长度的 VARCHAR 类型不会被空格填补,但长于指示器的值仍然会被截短 。

推荐阅读