SELECT MAX(sale_number) FROM t_sale_list WHERE TO_DAYS(sale_date) = TO_DAYS(NOW())
怎样用sql语句查询出当天最大的销售单号?
先截取后面数值字符substring(sale_number,3,12)
看这个语句是这个意思
假设销售单号为sales_id,销售日期为sale_date,可以使用以下 SQL 语句查询当天最大的销售单号:
SELECT MAX(sales_id)
FROM sales
WHERE sale_date = CURDATE();
其中,CURDATE() 函数用于获取当前日期。
经历千辛万苦,终于分析出最终的执行计划,然后就可以直接执行了吗?依然还不可以。需要到存储引擎中把数据查询出来。
应该把数据存储在什么位置,是内存还是磁盘?怎么从表里读取数据,以及如何把数据写入具体的表中,这些都是存储引擎需要做的工作
。(它的前身叫做表处理器)
存储引擎是计算机抽象的典型代表,它的功能就是接受上层指令,然后对表中数据进行读和写。具体操作是对外完全屏蔽的,我们只需要对外实现同样的接口就可以了。
这样子可能更好理解:存储引擎就是数据库对数据进行读写的插件而已,根据不同存储的需求切换引擎。
比如MySQL支持的存储引擎都有哪些。
mysql> SHOW ENGINES;
+--------------------+---------+--------------+------+------------+
| Engine | Support | Transactions | XA | Savepoints |
+--------------------+---------+--------------+------+------------+
| InnoDB | DEFAULT | YES | YES | YES |
| MRG_MYISAM | YES | NO | NO | NO |
| MEMORY | YES | NO | NO | NO |
| BLACKHOLE | YES | NO | NO | NO |
| MyISAM | YES | NO | NO | NO |
| CSV | YES | NO | NO | NO |
| ARCHIVE | YES | NO | NO | NO |
| PERFORMANCE_SCHEMA | YES | NO | NO | NO |
| FEDERATED | NO | NULL | NULL | NULL |
+--------------------+---------+--------------+------+------------+
相信大家应该对sql执行的过程有清楚的认识了,来我们再回归一下流程图:
希望对大家能有一点帮助,谢谢支持!