视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
说说一些有用的MySQL语句
2020-11-09 14:12:27 责编:小采
文档


今天给大家介绍六条比较有用的MySQL的SQL语句,可能很多人都通过PHP来实现这些功能。 1. 计算年数 你想通过生日来计算这个人有几岁了。 SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(now())-TO_DAYS(@dateofbirth)), '%Y' )+0; 2. 两个时间的差 取得两个 datetime

今天给大家介绍六条比较有用的MySQL的SQL语句,可能很多人都通过PHP来实现这些功能。

1. 计算年数

你想通过生日来计算这个人有几岁了。

  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’,那么它们之间所差的秒数为:

  1. UNIX_TIMESTAMP( dt2 ) - UNIX_TIMESTAMP( dt1 )

除以60就是所差的分钟数,除以3600就是所差的小时数,再除以24就是所差的天数。

3. 显示某一列出现过N次的值

  1. SELECT id FROM tbl GROUP BY id HAVING COUNT(*) = N;

4. 计算两个日子间的工作日 所谓工作日就是除出周六周日和节假日。

  1. SELECT COUNT(*) FROM calendar WHERE d BETWEEN Start AND Stop AND DAYOFWEEK(d) NOT IN(1,7) AND holiday=0;

5. 查找表中的主键

  1. SELECT k.column_name FROM information_schema.table_constraints t
  2. JOIN information_schema.key_column_usage k USING (constraint_name,table_schema,table_name)
  3. WHERE t.constraint_type='PRIMARY KEY' AND t.table_schema='db' AND t.table_name=tbl'

6. 查看你的数库有多大

  1. SELECT
  2. table_schema AS 'Db Name',
  3. Round( Sum( data_length + index_length ) / 1024 / 1024, 3 ) AS 'Db Size (MB)',
  4. Round( Sum( data_free ) / 1024 / 1024, 3 ) AS 'Free Space (MB)'
  5. FROM information_schema.tables GROUP BY table_schema ;

希望对你有帮助。

原文链接:http://www.cnblogs.com/mingxuan/archive/2011/10/09/six-usefull-mysql-statement.html

下载本文
显示全文
专题