Heim  >  Artikel  >  Datenbank  >  说说一些有用的MySQL语句

说说一些有用的MySQL语句

WBOY
WBOYOriginal
2016-06-07 16:11:39971Durchsuche

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

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

1. 计算年数

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

<ol class="dp-sql"><li class="alt"><span><span class="keyword">SELECT</span><span> DATE_FORMAT(FROM_DAYS(TO_DAYS(now()) - TO_DAYS(@dateofbirth)), </span><span class="string">'%Y'</span><span>) + 0; </span></span></li></ol>

2. 两个时间的差 取得两个 datetime 值的差。

假设 dt1 和 dt2 是 datetime 类型,其格式为 ‘yyyy-mm-dd hh:mm:ss’,那么它们之间所差的秒数为:

<ol class="dp-sql"><li class="alt"><span><span>UNIX_TIMESTAMP( dt2 ) - UNIX_TIMESTAMP( dt1 ) </span></span></li></ol>

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

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

<ol class="dp-sql"><li class="alt"><span><span class="keyword">SELECT</span><span> id </span><span class="keyword">FROM</span><span> tbl </span><span class="keyword">GROUP</span><span> </span><span class="keyword">BY</span><span> id </span><span class="keyword">HAVING</span><span> </span><span class="func">COUNT</span><span>(*) = N; </span></span></li></ol>

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

<ol class="dp-sql"><li class="alt"><span><span class="keyword">SELECT</span><span> </span><span class="func">COUNT</span><span>(*) </span><span class="keyword">FROM</span><span> calendar </span><span class="keyword">WHERE</span><span> d </span><span class="op">BETWEEN</span><span> Start </span><span class="op">AND</span><span> Stop </span><span class="op">AND</span><span> DAYOFWEEK(d) </span><span class="op">NOT</span><span> </span><span class="op">IN</span><span>(1,7) </span><span class="op">AND</span><span> holiday=0; </span></span></li></ol>

5. 查找表中的主键

<ol class="dp-sql">
<li class="alt"><span><span class="keyword">SELECT</span><span> k.column_name </span><span class="keyword">FROM</span><span> information_schema.table_constraints t </span></span></li>
<li><span>  </span></li>
<li class="alt"><span><span class="op">JOIN</span><span> information_schema.key_column_usage k USING (constraint_name,table_schema,table_name) </span></span></li>
<li><span>  </span></li>
<li class="alt"><span><span class="keyword">WHERE</span><span> t.constraint_type=</span><span class="string">'PRIMARY KEY'</span><span> </span><span class="op">AND</span><span> t.table_schema=</span><span class="string">'db'</span><span> </span><span class="op">AND</span><span> t.table_name=tbl' </span></span></li>
</ol>

6. 查看你的数库有多大

<ol class="dp-sql">
<li class="alt"><span><span class="keyword">SELECT</span><span> </span></span></li>
<li><span>  </span></li>
<li class="alt"><span>table_schema <span class="keyword">AS</span><span> </span><span class="string">'Db Name'</span><span>, </span></span></li>
<li><span>  </span></li>
<li class="alt"><span>Round( <span class="func">Sum</span><span>( data_length + index_length ) / 1024 / 1024, 3 ) </span><span class="keyword">AS</span><span> </span><span class="string">'Db Size (MB)'</span><span>, </span></span></li>
<li><span>  </span></li>
<li class="alt"><span>Round( <span class="func">Sum</span><span>( data_free ) / 1024 / 1024, 3 ) </span><span class="keyword">AS</span><span> </span><span class="string">'Free Space (MB)'</span><span> </span></span></li>
<li><span>  </span></li>
<li class="alt"><span><span class="keyword">FROM</span><span> information_schema.tables </span><span class="keyword">GROUP</span><span> </span><span class="keyword">BY</span><span> table_schema ; </span></span></li>
</ol>

希望对你有帮助。

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


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn