黄毅然的数据库学习(二)

数据类型

一、数字类型
整数
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~2155YYYY0000
DATE1000-01-01~9999-12-3YYYY-MM-DD0000-00-00
TIME-838:59:59~838:59:59HH:MM:SS00:00:00
DATETIME1000-01-01 00;00:00~9999-12-31 23:59::59YYYY-MM-DD HH:MM:SS0000-00-00 00:00:00
TIMESTAMP1970-01-01 00:00:01~2038-01-01 03:14:07YYYY-MM-DD HH:MM:SS0000-00-00 00:00:00

DATE: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
定长二进制数据,小于宽度时会在后面补齐空格。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值