引语:mysql作为数据库的一大主力军,到处存在于我们各种系统中,相信大家都不陌生!但是,你知道你能用不代表你知道细节,那我们就来盘点盘点其中一些我们平时不太注意的地方,一来为了有趣,二来为了不让自己踩坑. 声明:要想知道细节,那就去阅读源码,我实在没那本事,只能从片面上来说一些事! 1. 不区分大小写(字段名) mysql的查询字段名不区分大小写,但是查询的内容是要区分大小写的,所以能用下划线命名的就不要用大小写来区分命名了,如: SELECT uid,v_state FROM all_use…
之前小编在工作中遇到一些处理数据的问题,例如完成日期格式化,获取几天后的时间,生成指定格式的编码等问题,这时候小编经常会写一大堆逻辑代码来进行处理,还自己感觉自己很流弊的样子,后来却发现同事遇到相同的问题并没有写一大堆逻辑代码,好奇心下促使我偷偷的看了下同事的代码,才明白他们很喜欢使用sql中的函数直接处理了,大大减少了代码量,于是小编决定加强这方面的知识,多积累多看,把比较实用的一些sql函数列举出来,望指点一下. NO1: datediff函数 datediff函数返回两个日期之间的天数 语…
我相信很多人在mysql中查询时都遇到过mysql不区分字母大小写的情况:如以下例子: 1.SELECT * FROM `user` WHERE userpass = 'Z20'; 结果为: 2.SELECT * FROM `user` WHERE userpass = 'z20'; 结果为: 因此,MySQL默认是不会对字段的值区分大小写的.所以我们就要用到binary关键字来强制区分大小写. binary使用时只需在查询的条件前面加上它就可以.看例子: 3.SELECT * FROM `us…
在后端开发中经常会碰到涉及数据库的场景,不知道屏幕前的你有这样的疑惑没有,每每在遇到时间.日期字段总是让人头疼,分不清到底是选date还是datetime,亦或是timestamp,真是抓耳挠腮啊,怎么办呐,大都翻看之前的表结构,把之前的时间.日期类型抄过来,草草了事.以至于在后面的开发中总是为时间.日期类型做特殊处理,过后便不再理会这事了,今天就把这事一次性说明白.这里的环境是mysql 一.引言 在mysql中表示日期和时间的数据类型,大体上有下面几种, 序号 名称 描述 定义方式 格式 范…
mysql中You can't specify target table <tbl> for update in FROM clause错误的意思是说,不能先select出同一表中的某些值,再update这个表(在同一语句中). 如下l: 需要将select出的结果再通过中间表select一遍,就可以规避了错误. 如下: PS:这个问题只出现于mysql,sql service 和 oracle 不会出现此问题.…
mysql中的in语句是把外表和内表作hash 连接,而exists语句是对外表作loop循环,每次loop循环再对内表进行查询.一直大家都认为exists比in语句的效率要高,这种说法其实是不准确的.这个是要区分环境的. 如果查询的两个表大小相当,那么用in和exists差别不大.  如果两个表中一个较小,一个是大表,则子查询表大的用exists,子查询表小的用in:  例如:表A(小表),表B(大表)   1: select * from A where cc in (select cc f…
MySQL中利用外键实现级联删除.更新 MySQL支持外键的存储引擎只有InnoDB,在创建外键的时候,要求父表必须有对应的索引,子表在创建外键的时候也会自动创建对应的索引.在创建索引的时候,可以指定在删除.更新父表时,对子表进行的相应操作,包括RESTRICT.NO ACTION.SET NULL和CASCADE.其中RESTRICT和NO ACTION相同,是指在子表有关联记录的情况下父表不能更新:CASCADE表示父表在更新或者删除时,更新或者删除子表对应记录:SET NULL则是表示父表…
SELECT GROUP_CONCAT(md.data1) FROM DATA md,contacts cc WHERE md.conskey=cc.id AND md.mimetype_id= 5 AND md.user_id=17: 利用函数:group_concat(),实现一个ID对应多个名称时,原本为多行数据,把名称合并成一行,如|1 | 10,20,20| 本文通过实例介绍了MySQL中的group_concat函数的使用方法,比如select group_concat(name)…
原文:http://www.cnblogs.com/kissdodog/p/4168721.html MySQL数据库提供了很多函数包括: 数学函数: 字符串函数: 日期和时间函数: 条件判断函数: 系统信息函数: 加密函数: 格式化函数: 一.数学函数 数学函数主要用于处理数字,包括整型.浮点数等. 函数 作用 ABS(x) 返回x的绝对值 SELECT ABS(-1) -- 返回1 CEIL(x),CEILING(x) 返回大于或等于x的最小整数 SELECT CEIL(1.5) -- 返回…
数据导入从sql server 到mysql (将数据以文本格式从sqlserver中导出,注意编码格式,再将文本文件导入mysql中): 1.若从slqserver中导出的表中不包含中文采用: bcp mytest.dbo.test out D:\temp\aa.txt -c -t"\t" –T bcp "select * from mytest.dbo.test" queryout D:\yucbtemp\aa.tx t -c -t"\t"…