赞
踩
上周工作任务量较大,周五下班的时候太累了,就直接关机回家了,今天把上周学到的都记录下。
首先,上周遇到的一个问题:查询mysql数据库中一个拥有65个字段的表的数据,而且还得将字段的注释查出来,当时看到这个头就大了,不知道如何下手,(不过我从没想过将65个字段全写在select后面一遍,这简直太惨绝人寰了) 后来得到了同事的帮助,教我使用information_schema(mysql的架构信息库),简单的一个sql就解决了这个问题,大致是这样的:
SELECT COLUMN_NAME AS '字段名',COLUMN_COMMENT AS '字段注释',DATA_TYPE AS '字段类型' FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA='database_name' AND TABLE_NAME='table_name' AND COLUMN_COMMENT !='' AND COLUMN_COMMENT != '未使用'
这样就解决了大量字段值的查询问题。使用mysql数据库也有两年了,从来没注意过information_schema这个库,看来以后对mysql学习的深入,这是一个好的途径。
还有一个让我小郁闷的,表中的字段设置了zerofill,印象里一直觉得select之后就自动去掉整数左边的0了,结果相反,百度了之后发现sql中有个 转换数据类型的cast方法,很是高兴,直接就用上了 select cast(field as int) ,查询时却出错了,又查看了其他网页结果,还是没有想明白,后来被同事指出:在cast数据类型时没有int 。后来认真百度了下,并做了记录,原来可用被转成的类型只有8种(有待考究): BINARY (二进制字符串);CHAR() (字符型,可带参数);DATE(日期);TIME(时间);DATETIME(日期时间型);DECIMAL(浮点型);SIGNED(有符号整数);UNSIGNED(无符号整数)。所以,我的查询改成这样就可以了 select cast(fields as unsigned)
参考地址:MySQL数字类型转换函数
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。