1.MySQL——列类型介绍
Mysql常用数据类型
分类
1. 数据类型说明
- BIT(M):位类型。M指定位数,默认值1,范围1-64
- TINYINT[UNSIGNED]占1个字节:带符号的范围是-128到127。无符号0到255。默认是有符号
- SMALLINT [UNSIGNED]2个字节:带符号是负的 2^15 到 2^15-1 ,无符号 0 到 2^16-1
- MEDIUMINT[UNSIGNED] 3个字节:带符号是负的 2^23 到 2^23-1 ,无符号 0 到 2^24 -1 数值类型
- INT [UNSIGNED]4个字节:带符号是负的 2^31 到 2^31-1 ,无符号 0 到 2^32-1
- BIGINT[UNSIGNED] 8个字节:带符号是负的 2^63 到 2^63-1 ,无符号 0 到 2^64 -1 占用空间4个字节
- FLOAT[UNSIGNED]:表示比float精度更大的小数,占用空间8个字节 DOUBLE [UNSIGNED]:表示比double精度更大的小数,占用空间16个字节
- DECIMAL(M,D)[UNSIGNED]定点数M指定长度,D表示小数点的位数,
2. 文本、二进制类型
- CHAR(size) char(20) 固定长度字符串最大255 VARCHAR(size)
- varchar(20) 可变长度字符串 0~65535[即: 2^16-1〕
- BLOB LONGBLOB 二进制数据 BLOB0
2^16-1 LONGBLOB 02^32-1- TEXT LONGTEXT 文本 Text 0
2^16 LONGTEXT02^32
3. 时间日期
DATE/DATETIME/TimeStamp 日期类型(YYYY-MM-DD)(YYYY-MM-DD
HH:MM:SS), TimeStamp表示时间戳,它可用于自动记录insert、 update操作的时间
第一步
#演示整型#使用tinyint演示范围-128~127CREATETABLE`t3`(
id TINYINT)CHARACTERSET utf8 COLLATE utf8_bin ENGINEINNODB;INSERTINTO t3 VALUES(-129);#添加语句
error
sql 错误代码: 1264 Out of range value for column 'id' at row 1
-129越界了
第二步
#演示整型#使用tinyint演示范围-128~127CREATETABLE`t3`(
id TINYINT)CHARACTERSET utf8 COLLATE utf8_bin ENGINEINNODB;INSERTINTO t3 VALUES(-128);#添加语句SELECT*FROM t3
-128干近去了
第三步
#演示整型#使用tinyint演示范围-128~127CREATETABLE`t3`(
id TINYINT)CHARACTERSET utf8 COLLATE utf8_bin ENGINEINNODB;#使用tinyint(unsigned)演示范围0~255CREATETABLE`t4`(
id TINYINTUNSIGNED)CHARACTERSET utf8 COLLATE utf8_bin ENGINEINNODB;INSERTINTO t3 VALUES(-128);#添加语句INSERTINTO t4 VALUES(-1);#添加语句INSERTINTO t4 VALUES(0);#添加语句INSERTINTO t4 VALUES(255);#添加语句SELECT*FROM t3
SELECT*FROM t4
在t4中,插入-1越界
0和255成功插入
2.MySQL——bit类型
数值型(bit)的使用
- 基本使用 mysql> create table t02 (num bit(8)); mysql> insert into t02 (1, 3); mysql> insert into t02 values(2, 65);
- 细节说明 bit.sql bit 字段显示时,按照位的方式显示. 查询的时候仍然可以用使用添加的数值 如果一个值只有 0, 1 可以考虑使用 bit(1),可以节约空间 位类型。M指定位数,默认值1,范围1-64 使用不多.
演示bit类型
#演示bit类型使用#说明#1. bit(m) m 在 1-64#2.添加数据范围按照你给的位数来确定,比如m = 8 表示一个字节 0~255#3.显示按照bit#4.查询时,仍然可以按照数来查询CREATETABLE t06 (num BIT(8));INSERTINTO t06 VALUES(1);INSERTINTO t06 VALUES(255);SELECT*FROM t06;SELECT*FROM t06 WHERE num =1;
演示结果
版权归原作者 Demo龙 所有, 如有侵权,请联系我们删除。