MySQL数据库常见的数据类型

MySQL数据库常见的数据类型

一、数值型:

一)整型
二)小数:
	①定点数
	②浮点数 

一)整型

类型名:tinyint、smallint、mediumint、int/integer、bigint
字节数: 1 2 3 4 8
特点:

①如果不设置有无符号,默认的为有符号
②若设置的值超出了范围,会先报一个异常,然后默认插入的值为临界值
③如果不设置长度,会有默认的长度
长度代表了显示的最大宽度,如果不够会使用0在左边填充,但必须搭配ZEROFILL使用

1.设置无符号和有符号(默认有符号,无符号关键字unsigned)

DROP TABLE IF EXISTS tab_int;
CREATE TABLE tab_int(
ti INT ,
t2 INT UNSIGNED
);
DESC tab_int;

INSERT INTO tab_int VALUES (-999);
INSERT INTO tab_int VALUES (-999 ,-99999) ;

SELECT * FROM tab_int;

二)小数(M为:整数部位和小数部位的个数 ; D为:小数部位)

1.浮点型:folat(M,D), double(M,D)
2.定点型:dec(M,D) / decimal(M,D)
特点:

①M,D都可以省略,若存储的数据超出范围,则存储的为临界值
②M,D都可以用省略,如果是的DECIMAL,则M默认为10,D默认为0
如果是FLOAT和DOUBLE,则会根据插入数值的精度来决定精度
③定点型的精度高一些,如果要求插入的数值精度较高就优先用定点型,如货币运算

USE books;
CREATE TABLE tab_float(
f1 FLOAT,
f2 DOUBLE,
f3 DECIMAL
);

二、字符型:char,varchar,text,blob
一)较短的文本:CHAR、VARCHAR

名称 写法 M的意思 特点 空间的耗费 效率
CHAR CHAR(M) 最大的字符数(M可省略,默认为1) 固定长度的字符 比较占用 高
VARCHAR VARCHAR(M) 最大的字符数(不可以省略) 可变长度的字符 比较节省 低
ENUM ENUM(字符1,字符2…) 枚举型,选择字符中的一个插入 比较节省 低
SET SET(字符1,字符2…) 用于保存集合

二)较长的文本:TEXT、BLOB(较长的二进制数据)
三、日期型:date,datetime,timestamp,time,year

DATE:只保存日期
TIME:只保存时间
YEAR:只保存年

DATETIME:;保存时间+年
TIMESTAMP:保存时间+年

特点:

名称 字节 范围 时区等的影响
DATETIME 8 1000——9999 不受
TIMESTAMP 4 1970-2038 受

CREATE TABLE tab_date(
t1 DATETIME,
ta TIMESTAMP
);

INSERT INTO tab_date VALUES(NOW(),NOW());

SELECT * FROM tab_date;

ALTER TABLE tab_date CHANGE COLUMN ta t2 TIMESTAMP;

SHOW VARIABLES LIKE ‘time_zone’;
SET time_zone=‘+9:00’;

原则:选择的类型越简单越好,能保存数值的类型越小越好,节省空间;

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值