mysql数据类型分析

CHAR, VARCHAR, TEXT

  • CHAR 定长字符串,占用空间大,速度快
  • VARCHAR 变长字符串,占用空间小,速度慢
  • CHAR后面的空格会被去掉,VARCHAR不会去掉
  • TEXT 不能有默认值
  • 数据检索的效率   CHAR > VARCHAR > TEXT

ENUM()

  • 枚举的每一个元素都有一个序号
  • 自动去掉元素后面的空格
  • 插入数据时value必须是枚举中的一个,除了NULL
  • 只能从列表中选取一个值

SET()

  • 可以从列表中选取多个值,多个值之间用逗号分隔
  • 以二进制数值保存在表中

YEAR:

  • 保存年份   1901-2155
  • 可以保存数值形式,也可以保存这符串形式
  • 当输入两位数字或两位字符串的时候会自动在前面加20或19
  • 当插入一个数字0时,保存为0000
  • 当插入一个字符串0时,保存为2000

TIME:

  • 由天数:小时:分钟:秒组成
  • INSERT tablename VALUES(‘1 12:12:12’); 存成 36:12:12
  • INSERT tablename VALUES(‘11:11’);  存成11:11:00
  • INSERT tablename VALUES(‘1234’);   存成00:12:34
  • INSERT tablename VALUES(‘12’);  存成00:00:12
  • INSERT tablename VALUES(‘0’);     存成00:00:00

DATE:

  • 1000-0101  ~ 9999-12-31
  • INSERT tablename VALUES(‘12-6-7’);    2012-06-07
  • INSERT tablename VALUES(‘12/6/7’);     2012-06-07
  • INSERT tablename VALUES(‘120607’);    2012-06-07
  • INSERT tablename VALUES(‘[email protected]/7’);    2012-06-07
  • 一般时间用整型保存时间戳

浮点类型:

  • 当插入数据小数位太多时,float, double 会自动四舍五入; DECIMAL会产生一个warning.
  • DECIMAL内部以字符串形式保存
  • 当数值以字符串形式插入时,float, double保存结果可能不对, 但DECIMAL不会错
  • 精度要求高时,应当使用DECIMAL
时间: 2024-10-12 04:27:12

mysql数据类型分析的相关文章

mysql数据类型分析总结

MySQL数据类型 数值值 数值是诸如48或193.62这样的值.MySQL支持说明为整数(无小数部分)或浮点数 (有小数部分)的值.整数可按十进制形式或十六进制形式表示. (字符)串值 串是诸如"Madison,Wisconsin"或"patientshowsimprovement"这样的值.既可用单引号也可用双引号将串值括起来. 序列说明 \0NUL(ASCII0) \n新行 \'单引号 \r回车 \"双引号 \t制表符 \b退格 \\反斜杠 日期和时

[转]分析MySQL数据类型的长度【mysql数据字段 中length和decimals的作用!熟悉mysql必看】

你看到的这个文章来自于http://www.cnblogs.com/ayanmw 转载自:http://blog.csdn.net/daydreamingboy/article/details/6310907 分析MySQL数据类型的长度 MySQL有几种数据类型可以限制类型的"长度",有CHAR(Length).VARCHAR(Length).TINYINT(Length).SMALLINT(Length).MEDIUMINT(Length).INT(Length).BIGINT(L

MySQL数据类型及sql模型

MySQL数据类型及sql模型 存储引擎,也被称为表类型: MyISAM表: 无事务,表锁     .frm: 表结构定义文件     .MYD: 表数据     .MYI: 索引 InnoDB表:事务,行锁     .frm: 表结构     .ibd: 表空间(数据和索引)     所有表共享一个表空间文件:     建议:每表一个独立的表空间文件:(修改配置文件在[mysqld]项下加入innodb_file_per_table = 1) MySQL:      在默认的mysql数据库中

Linux命令:MySQL系列之三--mysql数据类型及SQL结构化查询语句使用

MySQL 存储引擎,也被称为表类型:    MyISAM表:无事务处理功能,支持表锁 .frm:表结构定义文件 .MYD:表数据文件 .MYI:表索引文件 InnoDB表:支持事务处理功能,支持行锁 .frm:表结构定义文件 .ibd:表空间(包含数据和索引文件) MySQL常用的查询命令: SHOW ENGINES;  #查看数据库支持的引擎及状态. SHOW TABLE STATUS LIKE 'user' \G  #查看表user的属性信息,\G竖排显示 mysqld --help --

MyBatis JdbcType 与Oracle、MySql数据类型对应关系详解

1. Mybatis JdbcType与Oracle.MySql数据类型对应列表 Mybatis JdbcType Oracle MySql JdbcType ARRAY     JdbcType BIGINT   BIGINT JdbcType BINARY     JdbcType BIT   BIT JdbcType BLOB BLOB BLOB JdbcType BOOLEAN     JdbcType CHAR CHAR CHAR JdbcType CLOB CLOB CLOB–>修改

MySQL性能分析之explain

mysql性能分析之explain Explain命令在解决数据库性能上是第一推荐使用命令,大部分的性能问题可以通过此命令来简单的解决,Explain可以用来查看SQL语句的执行效 果,可以帮助选择更好的索引和优化查询语句,写出更好的优化语句. Explain语法:explain select … from … [where …] 例如:explain select * from news; 输出:+--+-----------+-----+----+-------------+---+----

(转)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:标度,小数点后的长度 注: 小数点不占长