分享6个有用的MySQL语句

   今天给大家介绍六条比较有用的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 ;

  希望对你有帮助。

时间: 2024-12-03 22:02:01

分享6个有用的MySQL语句的相关文章

6条比较有用的MySQL数据库操作的SQL语句小结

在MySQL数据库操作中,我们常常编写一些SQL语句来实现自己想要的功能.但是对于初学MySQL数据库的人来说这似乎又有一定的难度.本文我们总结了六条比较有用的SQL语句,初学者可以套用下面的格式,接下来就让我们一起来了解一下这部分内容. 1.计算年数 如果您想通过生日来计算这个人的年龄,可以用以下的语句来实现: SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(now()) - TO_DAYS(@dateofbirth)), '%Y') + 0; 2.两个时间的差 取得

六条比较有用的MySQL数据库操作的SQL语句小结_Mysql

在MySQL数据库操作中,我们常常编写一些SQL语句来实现自己想要的功能.但是对于初学MySQL数据库的人来说这似乎又有一定的难度.本文我们总结了六条比较有用的SQL语句,初学者可以套用下面的格式,接下来就让我们一起来了解一下这部分内容. 1.计算年数 如果您想通过生日来计算这个人的年龄,可以用以下的语句来实现: SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(now()) - TO_DAYS(@dateofbirth)), '%Y') + 0; 2.两个时间的差 取得

PHP实现的通过参数生成MYSQL语句类完整实例_php技巧

本文实例讲述了PHP实现的通过参数生成MYSQL语句类.分享给大家供大家参考,具体如下: 这个类可以通过指定的表和字段参数创建SELECT ,INSERT , UPDATE 和 DELETE 语句. 这个类可以创建SQL语句的WHERE条件,像LIKE的查询语句,使用LEFT JOIN和ORDER 语句 <?php /* ******************************************************************* Example file This ex

关于mysql语句的自动补全

最近接触数据库较多,在使用总经常要重复的输入命令查看一些信息,默认的cli不支持语句自动补全,很是不方便,找了一些更方便的操作数据库的工具,在此分享 Navicat 对于不需要实际操作系统,比如测试人员,只关心数据库,现在普遍都使用的是Navicat,提供可视化的界面,上手即会用.一些特点如下 同时连接多个数据库 可视化数据库/表 直接导入sql文件 sql语句自动补全 可视化备份以上是个人总结,由于实际工作中很少用此工具连接数据库,他的优势应该还有待补充 mycli mycli是一个支持mys

mysql-求一个Mysql语句 查询出当前周的数据按照天分组

问题描述 求一个Mysql语句 查询出当前周的数据按照天分组 SELECT DATE_FORMAT(uploadTime_beg%Y-%m-%d"") as time SUM(field01) as sumStatus1 SUM(field02) as sumStatus2 SUM(field03) as sumStatus3 SUM(field04) as sumStatus4 SUM(field05) as sumStatus5 FROM health_realdata WHERE

通过索引优化含ORDER BY的MySQL语句

通过索引优化含ORDER BY的MySQL语句 关于建立索引的几个准则: 1.合理的建立索引能够加速数据读取效率,不合理的建立索引反而会拖慢数据库的响应速度. 2.索引越多,更新数据的速度越慢. 3.尽量在采用MyIsam作为引擎的时候使用索引(因为MySQL以BTree存储索引),而不是InnoDB.但MyISAM不支持Transcation. 4.当你的程序和数据库结构/SQL语句已经优化到无法优化的程度,而程序瓶颈并不能顺利解决,那就是应该考虑使用诸如memcached这样的分布式缓存系统

PHP中常用到的一些MySQL语句

在PHP开发中,经常会使用到MySQL语句,下面就为您列举了一些经常使用的MySQL语句,希望对您平时的学习和开发工作能起到些许的作用. MySQL语句显示数据库或表: show databases;//然后可以use database_name; show tables; MySQL语句更改表名: alter table table_name rename new_t; MySQL语句添加列 : alter table table_name add column c_n column attr

mysql语句中使用like后面的%(百分号)的问题

  问题:mysql语句中使用like后面的%(百分号) 是不是越多执行效率越慢! 总用时:0.0489秒 0.0691 0.0485 0.0467 SELECT `goods_name`, `goods_img`, `sku_id`, `import` FROM `goods` WHERE `goods_name` LIKE '%iPhone%iPod%' AND `stime` < 1413877244 AND `etime` > 1413877244 ORDER BY `flag` DE

有用的SQL语句(删除重复记录,收缩日志)

删除重复记录,将TABLE_NAME中的不重复记录保存到#TABLE_NAME中 select distinct * into #table_name from table_name delete from table_name select * into table_name from #table_name drop table #table_name 与此相关的是"select into"选项,可以在数据库属性 对话框中,勾起来此项,或者在Query Analyzer中执行 ex