Home  >  Article  >  Database  >  mysql开发常用的几条sql查询语句

mysql开发常用的几条sql查询语句

WBOY
WBOYOriginal
2016-06-07 17:52:101178browse

mysql开发常用的几条sql查询语句 有需要的朋友可参考一上。

1.计算年龄

如果你有一个人的生日而需要计算这个人的年龄,将下列语句中@dateofbirth替换为生日即可

 代码如下 复制代码

SELECT DATE_FORMAT (FROM_DAYS (TO_DAYS (now ()) - TO_DAYS (@dateofbirth)), '%Y') + 0;

2.计算两个日期的差值

计算两个日期的分,秒,小时和天数的差值,如果dt1和dt2的的格式是‘yyyy-mm-dd hh:mm:ss’,那么两个日期之间的秒数差值就是

 代码如下 复制代码

UNIX_TIMESTAMP ( dt2 ) - UNIX_TIMESTAMP ( dt1 )

3.显示出现了N次的栏目的值

 代码如下 复制代码

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

4.计算两个日期之间的工作日

计算两个日期之间的工作日的最简单方法是是一个含有d日期栏目和另一个标定了在已知年份中所有日期是否为休息日的栏目的日历表,然后下面的查询就是找到在Start和Stop两个日期之间所有的工作日

 代码如下 复制代码

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 ;

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn