基础数据类型
我写的数据类型,只是所有数据类型的一部分,但是也是我们最常用的一部分,求实用,希望大佬们看见不要太难受
- 整数类型
这里我介绍最常用的两种整型数据:TINYINT 和 INT
TINYINT :有符号值:-128~127 无符号值:0~255 可代表布尔类型TINYINT(1)代表turn,0代表false
INT:有符号值:-2147683648~2147683648 无符号值:0~4294967295
首先,让我们先创建一张整型表,既然提到了有无符号,我就把约束性条件加上
CREATE TABLE int_table(
id INT UNSIGNED,
age INT,
card INT
);
约束性条件UNSIGNED代表无符号的,即上例id是没有正负号概念的,就是一个纯粹的值,当然约束性条件是可加可不加的,具体为什么可以去查查资料。
所以,创建成功后我们看看表结构
这样我们就完成了对整数表的创建,如果要TINYINT类型是主要是注意到他0和1的应用和它的范围
还有一种和整型相关的约束性条件,可以当做了解
CREATE TABLE 表名(
num1 INT(3) ZEROFILL,
num2 INT,
num3 INT
);
–上例ZOREFILL作用是不够现实长度自动补零,num1加上ZEROFILL,显示长度为3,如果设num1值为1,则数据库中显示的将会是001,以此类推(没有设置显示长度,会有默认显示长度)
- 浮点类型
常用的浮点类型数据有:FLOAT , DOUBLE , DECIMAL
创建浮点类型表,例:
CREATE TABLE 表名(
num1 FLOAT(6,2),
num1 DOUBLE(6,2),
num1 DECIMAL(6,2),
);
–显示长度(6,2)即6位,可带两位小数,如:3.1415926,设值超过这个范围的话就会出现WARNINGS,真正存进去的就只有3.14,然后让我们试一下:
CREATE TABLE f_table(
num1 FLOAT(6,2),
num2 DOUBLE(6,2),
num3 DECIMAL(6,2)
);
结果就是
为了好显示浮点类型的性质,我往其中插入数字,看看结果:
结果就是
存进去的只有小数点后两位,对数据类型的格式进行设置来约束输出的格式
- ENUM(value1,value2,…):枚举类型
想要对枚举类型的数据进行操作只能对ENUM()括号内枚举出来的值进行操作,每一个value都有一个序号,也可以对序号进行操作(从1开始)例:
CREATE TABLE IF NOT EXISTS test(
sex ENUM(“男”,“女”,“保密”)
);
我对sex字段定义成了枚举类型,枚举的类型有男、女、保密,如果我们要对sex添加数据也只能选这三个值进行插入
例如:
我插入一个为性别 ‘男’ 的值
OK,显示插入成功,但如果我插入没有被枚举的值就会出现
他就会告诉你没有这个值的枚举数据
- SET(“VALUE1”,“VALUE2”,“VALUE3”,…):集合类型,
SET集合类型最多可以存储64个值,存储方式以二进制存储
让我们举个例子:
我用SET集合类型存储了四个值,如图,注意一定要用括号,且以字符的类型进行列举参数
我插入个ABC,安装BAC的顺序来插入,我们来看看结果
查询表的结果则是:
因为数据库中他会按照列举的顺序排列,即显示ABC;
如果我们插入没有被列举的参数时,就会报错
- 日期类型TIME
TIME类型:输入形式(天数 小时:分钟:秒) 显示形式(小时:分钟:秒),TIME类型会自动把天数转换为小时数,从左到右遍历
例;
INSERT test VALUES(‘1 12:12:12’); //1天12小时12分钟12秒
SELECT *FROM test;//显示形式就会变成:36:12:12
DATE:存储范围(1000:01:01~9999:12:31)
例:
CREATE TABLE IF NOT EXISTS test(
date DATE
);
INSERT test VALUES(‘2012-6-7’);或INSERT test VALUES(‘20120607’);
显示就会为 2012-06-07
其他不做演示;
- 结束
数据类型很重要,对我们引用是起到关键性作用的,所以多了解一下,我这写的只是常用的
我现在体会到了学习的痛苦,不过好歹也学了一遍,一些基本的类型以上都列举出来了,包含了一些不太常见的类型,但是真正接触到数据库,只会觉得知道的少了,如果有错希望包含,现在可是12点了,敲了一天代码,所以还是多学点吧。
下一篇博客再见!!