草庐IT

varchars

全部标签

sql - mysql 中的 varchar(100) 声明使用了多少实际存储空间?

如果我有一个表,其中的一个字段被声明为接受varchar(100),然后我实际上插入了“hello”这个词,mysql服务器将使用多少实际存储空间?即使声明了varchar(100),插入NULL也会导致没有存储空间被使用吗?无论答案是什么,它在不同的数据库实现中是否一致? 最佳答案 IfIhaveatablewithafieldwhichisdeclaredasacceptingvarchar(100)andthenIactuallyinserttheword"hello"howmuchrealstoragewillbeusedo

sql - 声明和使用 MySQL varchar 变量

我正在尝试对MySQL5.0中的变量进行一些简单的操作,但我不能完全让它工作。我已经看到许多(非常!)不同的DECLARE/SET语法,我不确定为什么......无论如何我可能会混淆它们/选择错误的/混合它们。这是一个失败的最小片段:DECLAREFOOvarchar(7);DECLAREoldFOOvarchar(7);SETFOO='138';SEToldFOO=CONCAT('0',FOO);updatemypermitssetperson=FOOwhereperson=oldFOO;我也试过用BEGIN...END包装它;并作为一个程序。在这种情况下,MySQLWorkbenc

mysql - 如何将 varchar 设置为无限长?

在MySQL数据库中,如何将varchar设置为无限长,以便存储长网页?如果不是,那么最大尺寸是多少?我知道文本类型可以存储更大的字符串。使用我必须处理的测试数据类型有什么限制吗? 最佳答案 在MySQL5.0.3之前,VARCHAR最多可以存储255个字符,在5.0.3及更高版本中可以存储65,535个字符。要在Mysql数据库中存储大数据,你可以使用文本、中文本、长文本TEXTcanstore65,535characters(approx64KB)MEDIUMTEXT=16,777,215characters(approx16M

mySQL 将 varchar 转换为日期

我需要将1/9/2011的varchar值转换为mySQL中的日期,我只需要月份和年份。这样我就可以使用PERIOD_DIFF函数(所以我需要将上面的内容转换为201101)。我尝试了各种使用STR_TO_DATE函数的方法:SELECTSTR_TO_DATE(CYOApp_oilChangedDate,'%m/%Y')FROMCYO_AppInfo但我得到了奇怪的结果...(例如:2009-01-00)我做错了什么? 最佳答案 selectdate_format(str_to_date('31/12/2010','%d/%m/%Y

mysql - Varchar 到数字的转换以进行排序

我有一个按column排序的查询:select*frommytableorderbycolumnasc—sorttablecolumn类型为varchar,所以输出为:110100111213如果我希望它们按数值排序,我应该如何排序,所以输出是:110111213100 最佳答案 用途:orderbycast(columnasunsigned)asc 关于mysql-Varchar到数字的转换以进行排序,我们在StackOverflow上找到一个类似的问题:

php - MySql Tinytext vs Varchar vs Char

构建一个有可能受到点击量和流量重创的系统。这是一个典型的Apache/PHP/MySql设置。之前已经构建了大量系统,但从来没有遇到过我必须就这种规模的潜在可扩展性做出决定的情况。我有很多关于构建这种规模的系统的问题,但是对于这个特定的问题,我正在尝试决定使用什么作为数据类型。这是100英尺的View:我们有一个表(除其他外)有一个description字段。我们已决定将其限制为255个字符。它可搜索(即:显示所有描述包含...的条目)。问题:此表可能在某个时候有数百万个条目(我们认为)。我还没有想出搜索的策略(MySqlLIKE运算符可能很慢和/或我猜测这么大的#记录是个pig),但

MySQL - TEXT 与 CHAR 和 VARCHAR

阅读thisquestion,一个疑问突然出现在我的脑海中:char和varchar最多可以存储255个字符文本最多可存储65k个字符以字节为单位的字符大小是字符数以字节为单位的varchar大小是使用的字符数+1那么TEXT实际占用了多少字节呢?~65KB或使用的字符数+1? 最佳答案 TEXT是可变长度数据类型,最多可包含65,000个字符。LONGTEXT可用于超过4万亿个字符。回答你的问题:它是一个可变长度,它只会占用你存储的字符数。 关于MySQL-TEXT与CHAR和VARC

MySQL:为什么使用 VARCHAR(20) 而不是 VARCHAR(255)?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Aretheredisadvantagestousingagenericvarchar(255)foralltext-basedfields?在MYSQL中,您可以为VARCHAR字段类型选择长度。可能的值是1-255。但是,如果使用最大值的VARCHAR(255)而不是VARCHAR(20),它的优势是什么?据我所知,条目的大小仅取决于插入字符串的实际长度。大小(字节)=长度+1因此,如果您在VARCHAR(255)字段中有单词“Example”,它将有8个字节。如果将它放在VARCHAR(20)字段中,它

MySQL varchar 索引长度

我有一张这样的表:CREATETABLE`products`(`id`int(11)unsignedNOTNULLAUTO_INCREMENT,`name`varchar(512)NOTNULL,`description`text,PRIMARYKEY(`id`),)ENGINE=InnoDBAUTO_INCREMENT=38DEFAULTCHARSET=utf8;和一个这样的:CREATETABLE`product_variants`(`id`int(11)unsignedNOTNULLAUTO_INCREMENT,`product_id`int(11)unsignedNOTNULL

mysql order varchar 字段为整数

我的表中有一个varchar字段,我想对其进行排序。但我需要将此字段作为整数处理。意思是如果按文本排序,顺序是“19,2,20”,但我想得到正确的顺序“2,19,20”。谁能帮帮我? 最佳答案 不知何故,我无法使用CAST运行查询。我总是得到ErrorCode:1064near"DECIMAL"(或我选择的其他数字类型)。所以,我找到了另一种将varchar排序为数字的方法:SELECT*FROMmytableORDERBYABS(mycol)有点简单,适用于我的情况。 关于mysqlo