[分享]mysql一点经验_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 1973 | 回复: 0   主题: [分享]mysql一点经验        下一篇 
DJYang
注册用户
等级:列兵
经验:91
发帖:67
精华:0
注册:2011-8-8
状态:离线
发送短消息息给DJYang 加好友    发送短消息息给DJYang 发消息
发表于: IP:您无权察看 2014-11-28 10:09:38 | [全部帖] [楼主帖] 楼主

这边分享一些些mysql的经验,欢迎交流学习切磋啊。

1、时间操作

表名:table

字段:birth(格式1989-05-13 )

根据年纪计算岁数

SELECT birth, CURDATE(), (YEAR(CURDATE())-YEAR(birth)) - (RIGHT(CURDATE(),5)


选5月出生的记录

SELECT name, birth FROM pet WHERE MONTH(birth) = 5


选当前月的下一个月,月数

SELECT MONTH(DATE_ADD(CURDATE(),INTERVAL 1 MONTH));


日期函数

SELECT NOW();//'1997-12-15 23:50:26'
SELECT NOW() + 0;//19971215235026


2、通配符‘_’

查找5个字符的记录

SELECT * FROM pet WHERE name LIKE '_____';


3、正则

显示字段name以B字符开头的记录(不区分大小写)

SELECT * FROM pet WHERE name REGEXP '^b';


显示字段name以B字符开头的记录(区分大小写,二进制匹配)

SELECT * FROM pet WHERE name REGEXP BINARY '^b';


显示字段name以fy字符结尾的记录

SELECT * FROM pet WHERE name REGEXP 'fy$';


显示字段name带有w字符的记录(REGEXP 'w'相当于like '%w%')

SELECT * FROM pet WHERE name REGEXP 'w';


显示字段name只包括5位字符的记录

SELECT * FROM pet WHERE name REGEXP '^.....$';
SELECT * FROM pet WHERE name REGEXP '^.{5}$';


count统计记录同时匹配species, sex两字段(两字段值一样时,count才工作)GROUP的记录

SELECT species, sex, COUNT(*) FROM pet GROUP BY species, sex;


4、数据库

显示数据库

SELECT DATABASE();


显示数据表

SHOW TABLES;


显示数据表结构

DESCRIBE TABLES;


5、MAX函数

显示GROUP BY article中字段price的最大值记录

SELECT article, MAX(price) AS price FROM shop GROUP BY article


6、变量

SELECT @a:=1000;//变量是以@开头的字符,赋值符号是:=
SELECT @a+9;//结果是1009 


7、MYSQL里面DATETIME列,写现在时间,与时间加法(分钟)的例子

" INSERT INTO cs (starttime,endtime) VALUES ( NOW() , DATE_ADD( NOW(), INTERVAL 120 MINUTE) ) "




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论