一、数字类型 整数 TINYINT:1字节 SMALLINT:2字节 MEDIUMINT:3字节 INT:4字节 BIGINT:8字节 取值范围:对于有符号数符号占一位,后面7位用二进制表示法。例如INT型为-32768~32767.无符号数符号不占位,为0-65535。
使用方法:使用无符号数时,加上UNSIGNED。 例如:
CREATE TABLE wdnmd( int_1 INT, int_2 INT UNSIGNED );可以在后面加上显示宽度,在数据类型表达的范围之内,如果小于宽度则会被空格填充,大于宽度也不会影响结果。
int_1 INT(4), int_2 INT(3) UNSIGNED,加上ZEROFILL可以在小于宽度时在前面填充0。比如宽度为3,2->002。
CREATE TABLE wdnmd( int_1 INT, int_2 INT(3) ZEROFILL );浮点数类型 FLOAT:4字节 精度:6~7位 DOUBLE:8字节 精度:15位
CREATE TABLE wdnmd(f1 FLOAT,f2 FLOAT); INSERT INTO wdnmd VALUES(111111,1.11111); INSERT INTO wdnmd VALUES(1111111,1.111111); INSERT INTO wdnmd VALUES(1111114,1111115); INSERT INTO wdnmd VALUES(11111149,11111159);结果: f1 f2 111111 1.11111 1111110 1.11111 1111110 1111120 11111100 11111200
整数部分和小数部分加起来达到7位时,第7位四舍五入。
定点数 DECIMAL
INSERT INTO TABLE wdnmd(d1 DECIMAL(n,m),d2 DECIMAL(x,y));n,m和x,y指定了两数的整数和小数部分。使用方法同上。
二、时间日期
类型取值范围日期格式零YEAR1901~2155YYYY0000DATE1000-01-01~9999-12-3YYYY-MM-DD0000-00-00TIME-838:59:59~838:59:59HH:MM:SS00:00:00DATETIME1000-01-01 00;00:00~9999-12-31 23:59::59YYYY-MM-DD HH:MM:SS0000-00-00 00:00:00TIMESTAMP1970-01-01 00:00:01~2038-01-01 03:14:07YYYY-MM-DD HH:MM:SS0000-00-00 00:00:00DATE:CURRENT_DATE或NOW()为当前日期 TIME:CURRENT_TIME或NOW()当前系统时间 DATETIME:NOW()当前系统日期和时间
三、字符串类型
数据类型说明CHAR定长字符串VARCHAR可变长字符串TEXT文本数据ENUM枚举SET字符串对象BINARY定长二进制VARBINARY可变长二进制BLOB二进制大对象1.CHAR与VARCHAR 区别:前者空间固定,后者会随现实字符串变化。 2.TEXT 当CHAR与VARCHAR保持数据时,会自动去除末尾的空格,而TEXT会保留空格。 当查询CHAR,VARCHAR,TEXT时末尾空格会被忽略。 CHAR,VARCHAR,TEXT,ENUM,SET不区分大小写,‘A’=‘a’。 3.ENUM
ENUM('1','2','3','4'.....)一次只能取出一个值。 4.SET 用于保存字符串定义同ENUM,最多保存64个值 5.BINARY 定长二进制数据,小于宽度时会在后面补齐空格。
