开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 1645|回复: 2
打印 上一主题 下一主题
收起左侧

[Mysql] 一些有用的MySQL语句

[复制链接]

跳转到指定楼层
发表于 2013-2-4 12:49:46 | 只看该作者 回帖奖励 |正序浏览 |阅读模式   广东省汕尾市
今天给大家介绍六条比较有用的MySQL的SQL语句,可能很多人都通过PHP来实现这些功能。
1. 计算年数
你想通过生日来计算这个人有几岁了。
  • SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(now()) - TO_DAYS(@dateofbirth)), '%Y') + 0;
2. 两个时间的差 取得两个 datetime 值的差。
假设 dt1 和 dt2 是 datetime 类型,其格式为 ‘yyyy-mm-dd hh:mm:ss’,那么它们之间所差的秒数为:
  • UNIX_TIMESTAMP( dt2 ) - UNIX_TIMESTAMP( dt1 )
除以60就是所差的分钟数,除以3600就是所差的小时数,再除以24就是所差的天数。
3. 显示某一列出现过N次的值
  • SELECT id FROM tbl GROUP BY id HAVING COUNT(*) = N;
4. 计算两个日子间的工作日 所谓工作日就是除出周六周日和节假日。
  • SELECT COUNT(*) FROM calendar WHERE d BETWEEN Start AND Stop AND DAYOFWEEK(d) NOT IN(1,7) AND holiday=0;
5. 查找表中的主键

    SELECT k.column_name FROM information_schema.table_constraints t
  •   
    JOIN information_schema.key_column_usage k USING (constraint_name,table_schema,table_name)
  •   
  • WHERE t.constraint_type='PRIMARY KEY' AND t.table_schema='db' AND t.table_name=tbl'
6. 查看你的数库有多大

    SELECT
  •   
    table_schema AS 'Db Name',
  •   
    Round( Sum( data_length + index_length ) / 1024 / 1024, 3 ) AS 'Db Size (MB)',
  •   
    Round( Sum( data_free ) / 1024 / 1024, 3 ) AS 'Free Space (MB)'
  •   
  • FROM information_schema.tables GROUP BY table_schema ;
希望对你有帮助。
结帖率:44% (7/16)
沙发
发表于 2013-2-14 19:13:34 | 只看该作者   河北省廊坊市
看看 学习啊   
回复 支持 反对

使用道具 举报

结帖率:37% (7/19)
楼主
发表于 2013-2-12 10:31:55 | 只看该作者   北京市北京市
沙发被删了那我还是沙发
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:[email protected]
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表