mysql数据类型
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql数据类型,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3170字,纯文字阅读大概需要5分钟。
内容图文
![mysql数据类型](/upload/InfoBanner/zyjiaocheng/891/1e4755fb6bd0486a83f247dc1660651d.jpg)
分类 |
类型名称 |
说明 |
整数类型 |
tinyInt |
很小的整数 1 |
smallint |
小的整数 2 |
|
mediumint |
中等大小的整数 3 |
|
int(integer) |
普通大小的整数 4 |
|
小数类型 |
float |
单精度浮点数 |
double |
双精度浮点数 |
|
decimal(m,d) |
压缩严格的定点数 |
|
日期类型 |
year |
YYYY 1901~2155 |
time |
HH:MM:SS -838:59:59~838:59:59 |
|
date |
YYYY-MM-DD 1000-01-01~9999-12-3 |
|
datetime |
YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00~ 9999-12-31 23:59:59 |
|
timestamp |
YYYY-MM-DD HH:MM:SS 1970~01~01 00:00:01 UTC~2038-01-19 03:14:07UTC |
|
文本、二进制类型 |
CHAR(M) |
M为0~255之间的整数 |
VARCHAR(M) |
M为0~65535之间的整数 |
|
TINYBLOB |
允许0~255字节 |
|
BLOB |
允许长度0~65535字节 二进制 |
|
MEDIUMBLOB |
允许长度0~167772150字节 |
|
LONGBLOB |
允许长度0~4294967295字节 |
|
TINYTEXT |
允许长度0~255字节 |
|
TEXT |
允许长度0~65535字节 一本书 |
|
MEDIUMTEXT |
允许长度0~167772150字节 |
|
LONGTEXT |
允许长度0~4294967295字节 |
|
VARBINARY(M) |
允许长度0~M个字节的变长字节字符串 |
|
BINARY(M) |
允许长度0~M个字节的定长字节字符串 |
#一、整型
特点:
① 如果不设置无符号还是有符号,默认是有符号,如果想设置无符号,需要添加unsigned关键字
② 如果插入的数值超出了整型的范围,会报out of range异常,并且插入临界值
③ 如果不设置长度,会有默认的长度
长度代表了显示的最大宽度,如果不够会用0在左边填充,但必须搭配zerofill使用!
#1.如何设置无符号和有符号
DROP TABLE IF EXISTS tab_int;
CREATE TABLE tab_int(
?? ?t1 INT(7) ZEROFILL,
?? ?t2 INT(7) ZEROFILL?
);
DESC tab_int;
INSERT INTO tab_int VALUES(-123456);
INSERT INTO tab_int VALUES(-123456,-123456);
INSERT INTO tab_int VALUES(2147483648,4294967296);
INSERT INTO tab_int VALUES(123,123);
SELECT * FROM tab_int;
#二、小数
分类:
1.浮点型
float(M,D)
double(M,D)
2.定点型
dec(M,D)
decimal(M,D)特点:
①
M:整数部位+小数部位
D:小数部位
如果超过范围,则插入临界值0②
M和D都可以省略
如果是decimal,则M默认为10,D默认为0
如果是float和double,则会根据插入的数值的精度来决定精度③定点型的精确度较高,如果要求插入数值的精度较高如货币运算等则考虑使用
#测试M和D
DROP TABLE tab_float;
CREATE TABLE tab_float(
?? ?f1 FLOAT,
?? ?f2 DOUBLE,
?? ?f3 DECIMAL
);
SELECT * FROM tab_float;
DESC tab_float;
INSERT INTO tab_float VALUES(123.4523,123.4523,123.4523);
INSERT INTO tab_float VALUES(123.456,123.456,123.456);
INSERT INTO tab_float VALUES(123.4,123.4,123.4);
INSERT INTO tab_float VALUES(1523.4,1523.4,1523.4);
所选择的类型越简单越好,能保存数值的类型越小越好
#三、字符型
较短的文本:
char
varchar其他:
binary和varbinary用于保存较短的二进制
enum用于保存枚举
set用于保存集合
较长的文本:
text
blob(较大的二进制)特点:
M的意思
特点
空间的耗费
效率
char(M)
最大的字符数
可以省略,默认为1 ,固定长度的字符
耗费
高
varchar(M)
最大的字符数
不可以省略,可变长度的字符
比较节省
低
CREATE TABLE tab_char(
c1 ENUM('a','b','c')
);
INSERT INTO tab_char VALUES('a');
INSERT INTO tab_char VALUES('b');
INSERT INTO tab_char VALUES('c');
INSERT INTO tab_char VALUES('m');
INSERT INTO tab_char VALUES('A');
SELECT * FROM tab_set;
CREATE TABLE tab_set(
s1 SET('a','b','c','d')
);
INSERT INTO tab_set VALUES('a');
INSERT INTO tab_set VALUES('A,B');
INSERT INTO tab_set VALUES('a,c,d');
#四、日期型
分类:
date只保存日期
time 只保存时间
year只保存年
datetime保存日期+时间
timestamp保存日期+时间
CREATE TABLE tab_date(
?? ?t1 DATETIME,
?? ?t2 TIMESTAMP
);
INSERT INTO tab_date VALUES(NOW(),NOW());
SELECT * FROM tab_date;
SHOW VARIABLES LIKE 'time_zone';
SET time_zone='+9:00';
内容总结
以上是互联网集市为您收集整理的mysql数据类型全部内容,希望文章能够帮你解决mysql数据类型所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。