【深入研究mysql中的varchar和limit(容易被忽略的知识)_MySQL】教程文章相关的互联网学习教程文章

mysql – 在同一SELECT语句中组合两个varchar字段而不合并值【代码】

我的PHP文件中的SQL查询是SELECT start_time,end_time FROM data;这将返回两个不同列中的两个varchar字段.现在我想结合这些.所以我试过了Select start_time+' '+end_time as time from data;这会返回一些数值.所以我尝试过:Select cast(start_time+' '+end_time) as time from data;如果我表中的数据是start_time =早上8点end_time =上午9:30 我怎么能在上午8点到9点30分显示.解决方法: Select CONCAT(start_time, ' - ', end_tim...

PHP PDO / MySQL:如何自动查询以查找VARCHAR字段长度?

有没有办法使用PHP PDO查询MySQL数据库并找出一些VARCHAR字段的列宽?如果可能的话,我不想将它们硬编码到我的PHP文件中. (目的:确定要插入这些列的字符串的最大长度,或者与列中的现有数据进行比较.)解决方法:从INFORMATION_SCHEMA COLUMNS开始阅读

mysql – 我可以将VARCHAR默认值设置为NULL吗?【代码】

在mysql中,我尝试更改现有的表,如下所示:ALTER TABLE `etexts` CHANGE `etext` `etext` VARCHAR( 100 ) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT NULL我收到了回复:#1067 - Invalid default value for 'etext' 为什么?解决方法:这是矛盾的… NOT NULL,但是让它默认为NULL …删除DEFAULT NULL并将NOT NULL更改为NULL:ALTER TABLE `etexts` CHANGE `etext` `etext` VARCHAR( 100 ) CHARACTER SET...

在MySQL中将字符串存储为varchar的内存使用情况

我开始对MySQL的内存使用感兴趣.所以我在这看着这个: http://dev.mysql.com/doc/refman/5.0/en/storage-requirements.html 我很高兴看到节省内存的前景(例如)只需要一个签名的smallint,我在许多地方使用unsigned int.然后我读到了varchars …… “VARCHAR(M) – 如果列值需要0 – 255字节,则长度为1个字节” 什么?!现在在我看来,好像存储一个varchar会消耗这么多内存,我甚至不会对我的int与smallint感到兴奋,因为它被varchar字...

MySQL InnoDB VARCHAR性能与插入时的TEXT相比

使用MySQL 5 InnoDB应该在表格中使用varchar来预期会有很多插入吗?我打算存储最大长度为2000个字符的文本.解决方法:VARCHAR和TEXT以相同的方式存储在MySQL的InnoDB存储引擎中.没有性能差异. 有关详细说明,请参阅Blob Storage in Innodb. 这两种数据类型之间的唯一区别是VARCHAR可以有DEFAULT,而TEXT则不能.

mysql – 数据库设计:索引Varchar【代码】

我有一个表,其主键是一个整数,然后是一个用于按类型搜索的列,它是一个varchar.让我们说content_id和content_type.SELECT * FROM TABLE_A WHERE content_type='abc'varchar content_type的长度为255.我正在考虑为更快的SELECT查询建立索引.这会改善性能吗?即使它的长度为255,如果只使用5个字符而不是整个255,这会对性能产生影响吗?解决方法:content_type的索引应该使您的查询更快:select * from table_a where content_type = 'w...

使用带有MySQL链接服务器的openquery,宽varchar字段导致“不支持请求转换”错误【代码】

我正在尝试使用openquery将表从MySql迁移到MSSQL但我不断收到以下错误消息:OLE DB provider "MSDASQL" for linked server "MYSQL" returned message "Requested conversion is not supported.". Msg 7341, Level 16, State 2, Line 1 Cannot get the current row value of column "[MSDASQL].description" from OLE DB provider "MSDASQL" for linked server "MYSQL". 我正在尝试运行的SQL查询:insert into dbo.tickets (id, des...

php – 在MySQL中使用VARCHAR实现一切! (在小型或微型网站上)

我试着寻找这个,因为我觉得这是一个常见的初学者的问题,但我只能找到几乎可以回答它的东西. 我们有一个小型的PHP应用程序,最多由5个人使用(总计,有史以来),可能同时使用2个,因此可扩展性不是问题. 但是,我仍然喜欢以最佳实践方式做事,否则坏习惯会形成永久性的坏习惯,并且会溢出到你写的面对超过5人的代码中. 鉴于这种情况,我的问题是:是否有任何强有力的理由在MySQL中使用除VARCHAR(250)之外的任何东西来获得不断发展/变化的小型...

InnoDB MySQL 5.5中的TEXT vs VARCHAR.何时使用每一个

MySQL 5.5中InnoDB存储引擎中text和varchar之间的主要区别是什么? 如果我们讨论的变量文本字段不超过5000个字符,是否使用text或varchar(5000)?解决方法:根据innodb.com上的一篇论坛帖子From InnoDB’s perspective varchar, text and blob are laid out on the disk in exactly same way. If you are interested in the internal details, there is a difference in the way InnoDB passes the varchar and text values back to ...

mysql – 同时更新3列第2表所有字段varchar更新电话号码的帮助【代码】

UPDATE db2.customer e1 SET ( e1.userId, e1.Email Id, e1.Date of birth)=(SELECT ur.userId,ur.emailId,ur.dob FROM db1.user ur WHERE db1.user.mobileNo=db2.customer.mobile NO ) 数据库1和用户表mobileNo | userId |emailId | dob --------------------------------------------------------- 1111111111 | 1 | cve@gmail.com |30-12-2013 2222222222 | 2...

mysql – 如何对varchar列具有特殊字符的整数值进行排序【代码】

如何对具有特殊字符的整数值的varchar列进行排序我在数据库中有一个表,其中包含varchar类型的列,值类似于在这里我尝试使用下面的mysql查询SELECT * FROM table order by CONVERT(seq_no,signed integer) ASC我在这里得到这样的结果.1234566_16_26_1_16_1_2788_18_28_1_18_1_28_2_18_2_2但结果应如下所示.1234566_16_1_16_1_26_2788_18_1_18_1_28_28_2_18_2_2我尝试了这个查询,但没有得到确切的结果.SELECT * FROM table order by C...

是否可以在MySQL中增加varchar的最大大小而不进行转换?【代码】

我有一个包含大约2000万行的MyISAM表,需要增加varchar的最大大小.无论我如何表达ALTER TABLE查询,它都需要永远,因为MySQL将所有数据复制到临时表,重新索引它等等 – 它似乎认为数据需要转换.因为它已经是一个varchar,我以为它不需要做任何这个. 有没有办法强制MySQL增加varchar的最大长度而不经历这个非常缓慢和痛苦的过程?我理想地寻找可以完全使用SQL完成的东西,所以没有涉及复制.frm文件等的技巧.解决方法:一种选择是 >创建表的...

在超大型MYSQL表中查找varchar列的不同值【代码】

我想在超大型MYSQL表(10亿行)中找到varchar列的不同值.我有以下解决方案:1. select distinct(col_name) from mytable; 2. export this column to a text file incrementally(select col_name from mytable where myid>x and myid<x+n), then use linux sort sort myfile.txt | uniq -u第一种方式的问题(即使列被索引)是查询可能在很长一段时间内崩溃,然后你需要重新开始.我倾向于第二种方式,还有其他更快的方法吗?解决方法:> …...

varchar和int的mysql列顺序【代码】

参见英文答案 > Query speed based on order of columns 4个访问表时是否存在速度差异:INT,INT,INT,VARCHAR(255),VARCHAR(255),VARCHAR(255),VARCHAR(255),VARCHAR(255)ORINT,VARCHAR(255),VARCHAR(255),VARCHAR(255),VARCHAR(255),VARCHAR(255),INT,INT确实如此,将固定长度的列首先放得更快? 澄清:第一列INT是两者中的索引,自动递增.它的神话,但是innodb会有所作为吗?不幸的是,我没有已知...

mysql – varchar与mediumtext

我有一个网站,在mysql数据库中有大约1000个不同的字符串,用于显示我网站上的所有文本.字符串存储在数据库中的原因是因为我支持2种不同的语言,需要能够根据用户偏好(英文和中文)显示不同的语言 字符串的长度不同,其中250个字符串太长,无法容纳varchar内部. 我即将实现这个数据库,但我不确定是否构建一个包含varchars的表,它将适合750个字符串,然后使用另一个表使用mediumtext来存储剩余的250个更长的字符串. varchar和mediumtext之间...