MySQL不常用、易忽略的小知识

笔者从事开发也有一段时间了,关于数据库方面的一些小知识在这里总结一下

1、count(*),count(1)与count(column)区别

count(*)对行的数目进行计算,包含NULL

count(1)对行的数目进行计算,包含NULL

count(column)对特定的列的值具有的行数进行计算,不包含NULL值。

所以count(1)这个用法和count(*)的结果是一样的。

注意:

如果表没有主键,那么count(1)比count(*)快。

如果有主键,那么count(主键,联合主键)比count(*)快。

如果表只有一个字段,count(*)最快。

count(1)跟count(主键)一样,只扫描主键。count(*)跟count(非主键)一样,扫描整个表。明显前者更快一些。

2、mysql日期加减

获取当前日期时间函数 now() 和 sysdate():

SELECT now(), sleep(3), now();

结果是

mysql> select sysdate(), sleep(3), sysdate();

结果是

可以看到,虽然中途 sleep 3 秒,但 now() 函数两次的时间值是相同的; sysdate() 函数两次得到的时间值相差 3 秒。

sysdate() 日期时间函数跟 now() 类似,不同之处在于:now() 在执行开始时值就得到了, sysdate() 在函数执行时动态得到值。

mysql> select curdate(); #获得当前日期(date)函数:curdate()
mysql> select curtime(); #获得当前时间(time)函数:curtime()

为日期增加一个时间间隔:date_add()

mysql> SELECT date_add(‘2017-12-25 17:43:44‘, interval 1 day);

结果为:2017-12-26 17:43:44

类似的还有:

set @dt = now();

select date_add(@dt, interval 1 day);        -- add 1 day
select date_add(@dt, interval 1 hour);       -- add 1 hour
select date_add(@dt, interval 1 minute);     -- ...
select date_add(@dt, interval 1 second);
select date_add(@dt, interval 1 microsecond);
select date_add(@dt, interval 1 week);
select date_add(@dt, interval 1 month);
select date_add(@dt, interval 1 quarter);
select date_add(@dt, interval 1 year);

select date_add(@dt, interval -1 day);       -- sub 1 day

原文地址:https://www.cnblogs.com/banma/p/8125723.html

时间: 2024-08-05 23:35:11

MySQL不常用、易忽略的小知识的相关文章

BLE 天线容易忽略的小知识

BLE 天线也 Layout 好多次了,但是每次都是按照天线的 Datasheet 给的参考设计 Layout,对于天线了解的也不多,毕竟也没有专业学过天线. 一般常用的 BLE 天线有两种: 1. 板载天线,就是常用的倒 F 天线,但是对板子的空间要求比较高,需要较大的面积来 Layout,但是好处就是便宜 2. 陶瓷贴片天线,基本就是好按照 Datasheet 来 Layout,最后需要调试频点或者阻抗匹配,板载天线当然也需要最终调试 一致在用陶瓷贴片天线,这里就写一下它. 一般陶瓷贴片天线

26个常用易忘CSS小技巧

收集于平时常用但易忘的CSS实现方法,如有遗漏或补充,还请指正! 解决inline-block元素设置overflow:hidden属性导致相邻行内元素向下偏移.wrap {display: inline-block;overflow: hiddenvertical-align: bottom}复制代码超出部分显示省略号// 单行文本.wrap {overflow:hidden;/超出部分隐藏/text-overflow:ellipsis;/超出部分显示省略号/white-space:nowra

PHP好用但又容易忽略的小知识

1.PHP函数之判断函数是否存在 当我们创建了自定义函数,并且了解了可变函数的用法,为了确保程序调用的函数是存在的,经常会先使用function_exists判断一下函数是否存在.同样的method_exists可以用来检测类的方法是否存在. function func() { } if (function_exists('func')){ echo 'exists'; } 类是否定义可以使用class_exists class MyClass{ } // 使用前检查类是否存在 if (clas

MYSQL数据库常用知识整理

Evernote Export MYSQL数据库常用知识整理 什么是MYSQL MYSQL的特性 MYSQL存储引擎的分类以及数据文件的介绍 MYSQL赋权 MYSQL备份与恢复 MYSQL的基本操作:增删查改 MYSQL的基本故障判断与处理 MYSQL的调优 MYSQL主主.主从复制的实现 MYSQL大数据备份和恢复 数据文件的损坏与修复 什么是MYSQL MySQL 是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司.目前MySQL被广泛地应用在Internet上的中

PHP链接Mysql数据库的小知识

1:在PHP写隔行变色有三种写法(但是最好的是用js+css) (1)CSS: tr:nth-child(even){             background: #cad9ea;         } even:代表偶数: ood:代表奇数:   (2)PHP: <?php                 if($n %2 == 0){            ?>            <tr style="background: #cad9ea"> <

html、css中常用的小知识记录

好多东西过一段时间不用就忘记了,为此写了这篇文章,用来记录每次想不起来的小知识! 1.鼠标停留显示提示,使用title .如:title

MySQL 最常用的一千行

/* 启动MySQL */ net start mysql /* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权限验证登录MySQL */ mysqld --skip-grant-tables -- 修改root密码 密码加密函数password() update mysql.user set password=password('root'); SHOW PROCESSLIST -- 显示哪些线程正在运行 SHOW VARIABLES --

Mysql中常用的函数汇总

Mysql中常用的函数汇总: 一.数学函数abs(x) 返回x的绝对值bin(x) 返回x的二进制(oct返回八进制,hex返回十六进制)ceiling(x) 返回大于x的最小整数值exp(x) 返回值e(自然对数的底)的x次方floor(x) 返回小于x的最大整数值greatest(x1,x2,...,xn)返回集合中最大的值least(x1,x2,...,xn) 返回集合中最小的值ln(x) 返回x的自然对数log(x,y)返回x的以y为底的对数mod(x,y) 返回x/y的模(余数)pi(

ios开发小知识2

http://blog.sina.com.cn/s/blog_66450b500102vadq.html http://www.cnblogs.com/lovesmile/archive/2012/06/27/2565569.html ios开发小知识2(转自cc) 退回输入键盘  - (BOOL)textFieldShouldReturn:(id)textField{    [textField resignFirstResponder];} CGRectCGRect frame = CGRe