Mysql中万能的varchar字段

很久以前,就见过一个架构师设计数据库时所有字段都使用varchar类型,当时以为方便存储和迁移,今天自己在设计字段的时候想起了这件事情,就验证了一下,mysql中的varchar类型,差不多能算是个万能类型。

例如:

  1.需要设计一个datetime字段类型,方便以后按时间检索,这时可以使用varchar类型替代,经过验证mysql中,varchar类型可以满足datetime类型的检索,如下:


CREATE TABLE c_test(
id INT PRIMARY KEY,
NAME VARCHAR(200),
TIME VARCHAR(200)
);
INSERT INTO c_test VALUES(‘3‘,‘wuliang‘,‘2014-06-11‘);
SELECT * FROM c_test ORDER BY TIME DESC;
SELECT * FROM c_test WHERE TIME > ‘2014-06-09‘;
SELECT * FROM c_test WHERE TIME BETWEEN ‘2014-06-09‘ AND ‘2014-06-11‘;

其他类型正在验证测试中,有时间也会测试一下其他数据库,Oracle,Pro..,DB2,MS
SQL

时间: 2024-10-13 02:00:34

Mysql中万能的varchar字段的相关文章

MySQL中char和varchar有啥区别?优缺点是啥?

在mysql教程中char与varchar的区别呢,都是用来存储字符串的,只是他们的保存方式不一样罢了,char有固定的长度,而varchar属于可变长的字符类型. char与varchar的区别 char (13)长度固定, 如'www.jb51.net' 存储需要空间 12个字符: varchar(13) 可变长 如'www.jb51.net' 需要存储空间 13字符:从上面可以看得出来char 长度是固定的,不管你存储的数据是多少他都会都固定的长度.而varchar则处可变长度但他要在总长

mysql中char与varchar的区别分析

原文网址:http://www.jb51.net/article/23575.htm mysql中char与varchar的区别分析 作者: 字体:[增加 减小] 类型:转载 在mysql教程中char与varchar的区别呢,都是用来存储字符串的,只是他们的保存方式不一样罢了,char有固定的长度,而varchar属于可变长的字符类型. char与varchar的区别 char (13)长度固定, 如'www.jb51.net' 存储需要空间 12个字符 varchar(13) 可变长 如'w

浅谈SQL Server、MySQL中char,varchar,nchar,nvarchar区别

最近一次的面试中,被面试官问到varchar和nvarchar的区别,脑海里记得是定长和可变长度的区别,但却没能说出来.后来,在网上找了下网友总结的区别.在这里做个备忘录: 一,SQL Server中char,varchar,nchar,nvarchar的区别(援引:https://www.cnblogs.com/limeiky/p/5313312.html) 1,定义: char:    固定长度,存储ANSI字符,不足的补英文半角空格. nchar:   固定长度,存储Unicode字符,不

MySQL中int类型的字段使用like查询方法

方法参考自: http://stackoverflow.com/questions/8422455/performing-a-like-comparison-on-an-int-field 也就是使用CAST转换指定字段,然后进行比较.具体样例代码如下: SELECT ProductID, ProductName FROM Products WHERE CAST(ProductID as CHAR) LIKE '%15%' 但是这样做的话,MySQL不能使用对应int字段索引,而且like本身就

MySQL中char与varchar数据类型选择原则

很多地方在分析char与varchar数据类型选择原则上,往往忽略了存储引擎.事实上,我们应当根据选定的存储引擎,确定如何选择合适的数据类型. char与varchar比较 值 char(3) 实际存储字符长度 varchar(3) 实际存储字符长度 " ' ' 3 " 1 'ab' 'ab ' 3 'ab' 3 'abc' 'abc' 3 'abc' 4 'abcdefg' 'abc' 3 'abc' 4 总结:从上表可以看出,char属于定长的. char属于定长类型,varcha

在 MySQL 中查找含有目标字段的表

要查询数据库中哪些表含有目标字段,可以使用语句: SELECT TABLE_SCHEMA,TABLE_NAME FROM information_schema.`COLUMNS` WHERE COLUMN_NAME='字段名字' 参考:MySQL中,一个字段在多张表都存在,怎么用sql语句一次性查询这些表呢

mysql中char,varchar与text类型的区别和选用

关于char,varchar与text平时没有太在意,一般来说,可能现在大家都是用varchar.但是当要存储的内容比较大时,究竟是选择varchar还是text呢?不知道...... text . char.varchar  是数据在数据库中的存放策略问题,为了,合理应用存储空间,是数据库服务器数据类型划分的方式.对于应用程序,把它们和string对应就可以了. 于是去查阅了一些资料,顺便将这三种类型做个比较: (1)char:  char不用多说了,它是定长格式的,但是长度范围是0~255.

MySQL中采用类型varchar(20)和varchar(255)对性能上的影响

1.MySQL建立索引时如果没有限制索引的大小,索引长度会默认采用的该字段的长度,也就是说varchar(20)和varchar(255)对应的索引长度分别为20*3(utf-8)(+2+1),255*3(utf-8)(+2+1),其中"+2"用来存储长度信息,"+1"用来标记是否为空,加载索引信息时用varchar(255)类型会占用更多的内存: (备注:当字段定义为非空的时候,是否为空的标记将不占用字节) 例如,测试sql(InnoDB引擎)如下: CREATE

MySQl中的char varchar text

char 查询速度:char最快 最大长度:255个字符,utf-8编码的话,占用255 * 3个字节 占用空间:n 其他: 在获取数据出来之后,一定要记得trim空格,因为不足char(n)的长度,会自动填充空格 因为定长的char不容易产生碎片,所以char比varchar在空间上也更有效率 varchar 查询速度:varchar次之 最大长度:65535个字节 占用空间:实际空间 + 1,会使用1-3个字节来存储长度,如果整体长度在0-255bytes之间,长度使用1个字节表示,如果长度