1.数据所占字节与其数据类型相关,与显示位数无关。int(4)与int(11)所占字节一样。
2.浮点型数字加减计算精度会丢失。整数永远可以用二进制精度表示,小数不一定。由于机器存储位有限,除不尽的部分,就被丢弃了。
3.一些函数
length('abcd中国'); --8
char_length('abcd中国');--6 字符个数
rand();0-1随机小数
round(4.5);5 四舍五入
date_add(now(),interval 10 day);--10天后日期
date_add(now(),interval -10 day);--10天前日期
date_add(now(),interval -10 week);--10周前日期
date_add(now(),INTERVAL 10 minute);返回10分钟后
datediff(‘2012-02-28’,‘2012-02-20’);--8 两个日期之间相差天数
TIMESTAMPDIFF(HOUR,‘2013-3-28 14:30:30’,NOW()); -- 返回两个对象之间小时差
select DATE_FORMAT(NOW(),'Y年%m月%d日');
DATE_FORMAT(NOW(),'%Y年%m月%d日 %H:%i:%s'); 2013年03月28日 11:10:10
FROM_UNIXTIME(1376555100) ; 将时间戳转换为 2013-08-15 16:25:00
UNIX_TIMESTAMP('1982-12-03 10:20:30'); -- 407730030
UNIX_TIMESTAMP(); -- 1387960432
FROM_UNIXTIME(1387960432,'%Y-%m-%d %T');-- 2013-12-25 16:33:52
FROM_UNIXTIME(407730030,'%Y-%m-%d %H:%i:%s');-- 1982-12-03 10:20:30
concat(2,2,‘a’); -- 结果是22a 字符连接函数
concat_ws(‘,’,2,3,4,5); -- 结果是2,3,4,5字符串,根据指定的分隔符
REPEAT(‘abc’,2); -- 产生abcabc 字符串
SPACE(60); -- 产生60个空格的字符串
upper(‘a’)//A 转换大写
lower(‘A’)//a 转换大写
left(‘中国人’,2) //中国,左侧取两个字符
right(str,length) 这三个截取函数对中文支持较好,无需特殊处理
mid(‘中国人’,2,2) //国人计算位置从1开始
ifnull(null,'ok'); 返回ok
ifnull('abc','ok');返回abc
if(1=2,1,2);返回2
if(1=1,1,2);返回1 这两个函数可以嵌套使用
sha1('abc');返回40位密文字符串
md5('abc'); 返回32位密文字符串
password('abc'); 返回41位密文字符串
uuid();返回36位唯一随机字符串
format(1000,2); 格式化数字 1,000.00
INET_ATON(‘119.75.218.77’) ;ip转换为数字 2001459789 address-->number
INET_NTOA(2001459789);数字转换为ip ip转换为数字后,其划段和统计比较方便
4.update member set pid=0 where pid in (select id from member where pid=1)
不允许update的子查询里有被查询的那个表 也就是 update 表a 的时候,不能在后面select from a
共同学习,写下你的评论
评论加载中...
作者其他优质文章