欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

6条常用的MySQL查询_MySQL

程序员文章站 2022-04-29 20:53:42
...
bitsCN.com

6条常用的MySQL查询

使用结构化查询语言,以制定正确的,有效的数据库的问题和命令查询建筑艺术是一门艺术。在SELECT查询中,你可以使用JOIN,WHERE和HAVING子句范围的结果以特定的行和列,GROUP BY将结果行分析总结,和UNION组合多个查询的结果。INSERT,DELETE和UPDATE命令可以参考的连接。INSERT ... SELECT的查询结果插入到另一个表中。删除和更新范围内的WHERE子句。

1、在多大的年龄

知道出生日期,需要计算这个人多少岁。假设你的出生日期是1986/05/25:

SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW()) - TO_DAYS(19860525)), '%Y') + 0;

2、两个日期之间的差异

在几秒钟,几分钟,几小时或几天的查找两个日期时间值之间的差异。如果dt1和dt2是datetime值的形式为“YYYY-MM-DD HH:MM:SS',dt1和dt2之间的秒数

UNIX_TIMESTAMP(1358498312) - UNIX_TIMESTAMP(517378271);

UNIX_TIMESTAMP( dt2 ) - UNIX_TIMESTAMP( dt1 )

要得到的分钟数除以60,除以3600,和天数的小时数,除以3600 * 24。

3、显示列的值发生N次

SELECT id

FROM tbl

GROUP BY id

HAVING COUNT(*) = N;

4、计算两个日期之间的数量

最简单的任意两个日期之间的数个工作日的支持是D列日和节假日布尔填充的所有的日子在所有可能相关的年度日历表。那么下面的查询会包容的营业天数日期间启动和停止:

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 ;

bitsCN.com