创建新表的时候可以通过增加ENGINE关键字设置新建表的存储引擎。也可以通过ALTER TABLE语句,将一个已经存在的表修改成其他的存储引擎。 一. MyISAM(P134) MyISAM不支持事务,不支持外键,其优势是访问速度块,对事务完整性没有要求或者以SELECT、INSERT为主的应用基本上都可以使用这个引擎来创建表。 每个MyISAM在磁盘上存储为3个文件,其文件名都和表名相同,但拓展名分别为:.frm(存储表定义); .MYD(MYData,存储数据); ....
CHAR是固定长度的字符类型,而VARCHAR属于可变长度的字符类型。它们的区别是CHAR会需要处理行尾空格,但由于是固定长度所以处理速度比VARCHAR快得多。在MySQL中,不同引擎对CHAR和VARCHAR的使用原则有所不同。 MyISAM:建议使用固定长度的数据列代替可变长度的数据列。 MEMORY:目前都使用固定长度的数据行存储,因此无论使用CHAR或VARCHAR列都没有关系,两者都是作为CHAR类型处理。 InnoDB:建议使用VARCHAR类型,对于InnoDB数据...
整型(int tinyint) tinyint 默认创建的是有符号的1、控制多大多小是由类型来进行控制的,并不是后面Int(2)来控制的,他的意思不是只要两位。(代表零填充)int(M): M indicates the maximum display width for integer types2、设置整型的位数如果超出了设定的值取最大的值3、在使用整型的时候可以忽略括号中的值 tinyint 从 0 到 255 的整型数据。存储大小为 1 字节。 smallint 从 -2^15 (-32,768) 到 2^15 – 1 (32,767) 的...
1. 越小越好,越简单越好 一般情况下,应该尽量使用可以正确存储数据的最小最简单的数据类型。因为它们占用更小的磁盘,内存和CPU缓存,处理时需要的CPU周期也更少。但同时,在确定选择时也务必注意不要低估需要存储的值的范围,否则会给后期带来麻烦。 2. 尽量避免NULL NULL是列的默认属性,但通常情况下最好指定列为NOT NULL,除非真的需要存储NULL。因为含有NULL的列使得索引、索引统计和值比较都更加复杂,而且当可为NULL的列被...
本文的内容依旧是讨论mysql字段类型为时间戳timestamp的问题,在遇到了之前的那个问题之后,今天测试人员又给我提了一个bug,是在前端页面提交会议表单的时候,选择了一个会议时间(2059年的时间),报了一个错,服务器直接炸掉了,抛出定制的错误信息,然后我瞢逼了一圈,感觉代码没有写错,数据库中的字段类型也都是正确的,然后看看抛出的异常信息,是mysql数据库抛出的异常,提示时间格式有问题,但是看了看,也没有什么问题。 自...
最近有个python项目需要更新mysql时间,类型是datetime,参考了网上的建议,将时间转为字符串再写入数据库。def toMysqlDateTime(): dt=datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") return dt本文出自 “hehe” 博客,请务必保留此出处http://476946.blog.51cto.com/466946/1945225python datetime 写入mysql datetime类型标签:mysql datetime python datetime 本文系统来源:http://476946.blog.51cto.com/...
bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。 int 从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int 的 SQL-92 同义字为 integer。 smallint 从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据。存储大小为 2 个字节。 tinyint 从 0 到 255 的整型数据。存储...
2. MySQL中的存储引擎MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。 MyISAM:拥有较高的插入,查询速度,但不支持事务,不支持外键。 InnoDB:支持事务,支持外键,支持行级锁定,性能较低。InnoDB 存储引擎提供了具有提交、回滚和崩溃...
一、找回表结构。假设表结构没有丢失直接到下一步 a、先创建一个数据库。这个数据库必须是没有表和不论什么操作的。 b、创建一个表结构。和要恢复的表名是一样的。表里的字段无所谓。一定要是innodb引擎的。CREATE TABLE `test`( `testID`bigint(20)) ENGINE=InnoDB DEFAULT CHARSET=utf8; c、关闭mysql, service mysqld stop。 d、用须要恢复的frm文件覆盖刚新建的frm文件; e、改动my.ini 里 ...
下表显示了将各种字符串值保存到CHAR(4)和VARCHAR(4)列后的结果,说明了CHAR和VARCHAR之间的差别。 CHAR和VARCHAR的对比值 CHAR(4) 存储需求 VARCHAR(4) 存储需求‘‘ ‘ ‘ 4个字节 ‘‘ 1个字节‘ab‘ ‘ab ‘ 4个字节 ‘ab‘ 3个字节‘abcd‘ ‘abcd‘ 4个字节 ‘abcd‘ 5个字节‘abcdefgh‘ ‘abcd‘ 4个字节 ‘abcd‘ mysql如何选择合适的数据类型1:CHAR与VARCHAR标签:数据 size 固定 tab ack nbsp sty...
一,数据类型 各日期类型的开始时间到结束时间: 1、YEAR:1970至2069 2、TIME:-838:59:59至838:59:59 3、DATE:1000-1-1至9999-12-31 4、DATETIME: 1000-1-1 00:00:00至9999-12-31 23:59:59 5、TIMESTAMP存储范围:1970-1-1 00:00:00到2037-12-31 23:59:59 字符型 1、CHAR(M):定长类型,比如CHAR(5),如果我们只赋值abc,那么系统会自动在后面补两个空格0——255 2、VARCHAR(M):变长类型,L+1个字节,其中L<=M且0<=M0——65535...
MySQL Types to Java Types for ResultSet.getObject()MySQL Type Name Return value ofGetColumnClassName Returned as Java ClassBIT(1) (new in MySQL-5.0) BIT java.lang.BooleanBIT( > 1) (new in MySQL-5.0) BIT byte[]TINYINT TINYINT java.lang.Boolean if the configuration property tinyInt1isBit is set to true (the default) and the storage size is 1, or java.lang.Integer ifnot.BOOL, BOOLEAN TINYINT See TINY...
int 整型 int 数据类型可以存储从- 231(-2147483648)到231 (2147483 647)之间的整数。存储到数据库的几乎所有数值型的数据都可以用这种数据类型。这种数据类型在数据库里占用4个字节smallint 整型 smallint 数据类型可以存储从- 215(-32768)到215(32767)之间的整数。这种数据类型对存储一些常限定在特定范围内的数值型数据非常有用。这种数据类型在数据库里占用2 字节空间tinyint 整型 tinyint 数据类型能存储从0到255 之间的整数。...
当你的系统体量到达一定程度时,就知道这里的性能差异了。 一、选择优化的数据类型 // 更小的通常越好 尽量选择使用可以正确存储数据的最小数据类型。更小的数据类型通常更快, 因为它们占用更少的磁盘、内存和 CPU 缓存,并且处理时需要的 CPU 周期也更少; // 简单最好 整型比字符型要好,两个例子,应该使用 MySQL 内建的类型来存储日期而不是字符串; 使用整形存储 IP 地址。因为字符的校...
TINYTEXT 256 bytes TEXT 65,535 bytes ~64kbMEDIUMTEXT 16,777,215 bytes ~16MBLONGTEXT 4,294,967,295 bytes ~4GB http://blog.sina.com.cn/s/blog_71f8aa010100vusp.html MySQL多Text字段报8126错误(解决过程) Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. You have to change some columns to TEXT or BLOBs 如果增大schedule_remark字段的内容,就会报上...