mysql数据类型整理

mysql 数据类型的概念

定义数据类型的本质上是定义列 类似于描述列

数据分类的意义

分配合适的存储空间

采用不同的操作方法

对应不同的需求

整数类型

正负0 造成 负数多一个

tinyint 1byte 0-255 -128 ~ 127

smallint 2b 0~65535

mediumt 3b

int 4b

bigint 8b

带小数的类型

float 4b 0,(3.4)

double 8b

decimal M>D M+2

M<D D+2

decimal 最大支持 (65,30) 默认为(10,0)

M 整数位

D 小数位

日期和时间类型

类型 格式 存储需求 范围

YEAR(M) YYYY/YY 1b 1901/1979 2155/2069

TIME HH:MM:SS 3b -838:59:59 838:59:59

DATE YYYY-MM-DD 3b 1000-01-01 9999-12-31

DATETIME YYYY-MM-DD HH:MM:SS 8b 1000-01-01 00:00:00 9999-12-31 23:59:59

TIMESTMP YYYY-MM-DD HH:MM:SS 4b 1970-01-01 00:00:00 2038-01-19 03:14:07 UTC

use db2

create table t_year(

col1 year(4),

col2 year(2)

);

inster into t_year values (2014),(14)

select * from t_year

当用单引号 把0括上 默认从 2000年开始

inster into t_time values (‘10:10:10‘);

(‘2 10:10‘) TIME 就变成了 (58:10:00);

字符串类型

文本字符串类型和二进制字符串类型

不仅可以存储字符串,还可以存储其它数据

字符串可以区分或不区分大小比较

支持进行模式匹配查找

类型 大小范围 用途 存储要求

char(M)定长字符串 0-255b 定长字符串 Mbytes  1<=M<=255

varchar(M) 0-65535b 变长字符串 L+1 bytes L<=M 且 1<=M<=255

tinybolb 0-255

tinytext 0-255

blob 0-65535

text 0-65535

mediumblob 0-16777215

mediumtext 0-16777215

logngblob 0-4294067295

longtext 0-4294067295

enum 1-2

set 1-8

show variables like ‘sql_mode‘;

text 类型

长的非二进制字符串

例如:文章、评论

可以把text类型理解为varchar 加长增强版

text 类型不区分大小写  匹配查询的时候无法匹配大小写

enum类型

枚举型  不区分大小写

create table t1 (sex enum (‘F‘,‘M‘,‘UN‘));

set类型

可以多选

create table t2(s1 set(‘a‘,‘b‘,‘c‘));

desc t1  查看表结构

二进制类型

no character set

以bytes为单位存储,文本是用 字符 存储的

字符串类型的选择

不同的数据引擎,选择倾向不一样

myisam  中 char  效率高于 varchar

innodb 中 char  效率基本等于 varchar  但是varchar 可变长度的优势显示出来了

memory  中 car varchar 效率类似,

不同的用户选择倾向不同

char 适合短的字符,并且经常变更的内容

varchar 与上条相反。

浮点数和定点数的选择

精度要求不同,选择大不同

相比较而言,定点数的计算代价要昂贵的多

decimal 跟钱有关的事情, 对数据精度要求高的采用

大数据类型的选择

能不用尽量不用

text 和 blob有很多替代选择

如果存在经常的删除和更新

建议定期使用 optimize table 进行碎片整理

建议 调用 文件地址存进去

日期类型的选择

timestamp扎用空间少,但是注意他的特性,有时区限制,根据市区的选择会编号

总结

定义数据类型就是定义列

数据 字符串 整数、浮点 定点 日期 二进制 enum set boleen

不同引擎 不同表现选择不同

需求选择

时间: 2024-08-25 11:33:50

mysql数据类型整理的相关文章

(转)mysql数据类型

1.整型 MySQL数据类型 含义(有符号) tinyint(m) 1个字节  范围(-128~127) smallint(m) 2个字节  范围(-32768~32767) mediumint(m) 3个字节  范围(-8388608~8388607) int(m) 4个字节  范围(-2147483648~2147483647) bigint(m) 8个字节  范围(+-9.22*10的18次方) 取值范围如果加了unsigned,则最大值翻倍,如tinyint unsigned的取值范围为

MySQL 数据类型(转)

MySQL 数据类型 在 MySQL 中,有三种主要的类型:文本.数字和日期/时间类型. Text 类型: 数据类型 描述 备注 CHAR(size) 保存固定长度的字符串(可包含字母.数字以及特殊字符).在括号中指定字符串的长度.最多 255 个字符.   VARCHAR(size) 保存可变长度的字符串(可包含字母.数字以及特殊字符).在括号中指定字符串的最大长度.最多 255 个字符. 注释:如果值的长度大于 255,则被转换为 TEXT 类型.   TINYTEXT 存放最大长度为 25

跟王老师学MySQL:MySQL数据类型之小数类型

跟王老师学MySQL:MySQL数据类型之小数类型 主讲教师:王少华   QQ群号:483773664 学习内容 小数类型有哪些以及它们的取值范围 定义语法中的M和D的含义 定点型和浮点型的区别 一.简介 MySQL中使用浮点数类型和定点数类型来表示小数. 浮点数类型包括单精度浮点数(FLOAT型)和双精度浮点数(DOUBLE型). 定点数类型就是DECIMAL型. 二.字节数.取值范围 三.定义语法 1 类据类型 (M,D) M:精度,数据的总长度 D:标度,小数点后的长度 注: 小数点不占长

跟王老师学MySQL:MySQL数据类型之字符类型

跟王老师学MySQL:MySQL数据类型之字符类型 主讲教师:王少华   QQ群号:483773664 学习内容: 字符串类型的种类及其特点 char和varchar的异同 字符串类型是在数据库中存储字符串的数据类型. 字符串类型包括 CHAR. VARCHAR BLOB TEXT 一.char和varchar (一)定义语法 1 字符串类型 (M) 注: 字符串类型:char或varchar M:指定了该字符串最大长度 (二)二者不同之处 char类型长度是固定的,即在创建表时就指定了,其长度

跟王老师学MySQL:MySQL数据类型之日期与时间类型

跟王老师学MySQL:MySQL数据类型之日期与时间类型 主讲教师:王少华   QQ群号:483773664 学习内容 YEAR类型的特点及使用 TIME类型的特点及使用 DATE类型的特点及使用 DATETIME类型的特点及使用 TIMESTAMP类型的特点及使用 MySQL表示日期和时间的数据类型有以下几种: 1.YEAR类型 2.TIME类型 3.DATE类型 4.DATETIME类型 5.TIMESTAMP类型 一.Year类型 (一)简介 year使用一个字符串来表示年份 MySQL中

跟王老师学MySQL:MySQL数据类型常见问题及解答

跟王老师学MySQL:MySQL数据类型常见问题及解答 主讲教师:王少华   QQ群号:483773664 学习内容 整数类型和浮点类型的异同 浮点数类型和定点数类型的异同 char和varchar类型的异同 时间和日期类型的异同 text和blob的异同 存储路径字符串的注意事项 mysql如何存储boolean类型 null的处理 在MySQL中创建表时,需要考虑为字段选择哪种数据类型是最合适的.选择了合适的数据类型,会提高数据库的效率. 一.整数类型和浮点类型 整数类型和浮点类型最大区别是

跟王老师学MySQL:MySQL数据类型之整数类型

跟王老师学MySQL:MySQL数据类型之整数类型 主讲教师:王少华   QQ群号:483773664 MySQL的数据类型包括整数类型.浮点数类型.定点数类型.日期和时间类型.字符串类型和二进制数据类型. 学习目标 整型包括哪些类型以及它们的取值范围 以tinyint为例,讲解了定义整型的三个属性 一.简介 整数类型是数据库中最基本的数据类型. 标准SQL中支持INTEGER和SMALLINT这两类整数类型. MySQL数据库除了支持这两种类型以外,还扩展支持了TINYINT.MEDIUMIN

MySQL入门很简单: 2 MySQL数据类型

2. MySQL数据类型 2.1 整数类型 后面的是默认显示宽度: tinyint(4) smallint(6) mediumint(9) int(11) bigint(20) 2.2 浮点型和定点数类型 MySQL可以指定浮点数和定点数的精度:    数据类型(M,D)  M:数据总长度, D:小数点后的长度

21分钟 MySQL 入门教程 &amp;&amp; mysql数据类型

转自:http://www.cnblogs.com/mr-wid/archive/2013/05/09/3068229.html#c1 http://www.cnblogs.com/zbseoag/archive/2013/03/19/2970004.html 21分钟 MySQL 入门教程 目录 一.MySQL的相关概念介绍 二.Windows下MySQL的配置 配置步骤 MySQL服务的启动.停止与卸载 三.MySQL脚本的基本组成 四.MySQL中的数据类型 五.使用MySQL数据库 登录