我们可以简单的查询近期的日历,但是对于久远的年份,往往需要多花费一点时间,而我们又是否能够用python制作一个简单方便的日历查询系统,在输入年份和月份之后直接得出该月的日历呢?...1 问题 如何使用python程序建立一个日历查询系统?...2 方法 导入python自带的calendar日历模块 代码清单 1 import calendar print('欢迎使用日历查询系统:') Year = int(input("请输入要查询的年份:...")) Month = int(input('请输入要查询的月份:')) print(calendar.month(Year,Month)) 3 结语 针对如何用python程序对某个年份某个月的日历查询
所以上一篇主要提到了几种可以优化分页的方案,而且分页业务一般都伴随着需要count函数查询总条数,所以本篇文章主要讲讲count函数的一般优化方案。 为什么分页一般要伴随查询数量?...函数查询条数的逻辑了,而是大部分分页往往伴随着需要查询总数量的业务。...因为Mysql官方文档写了这么一句话: InnoDB handles SELECT COUNT(*) and SELECT COUNT(1) operations in the same way....我个人建议使用count(*),因为SQL92标准中制定count(*)为标准统计行数的语法,所以Mysql一直在不断地对count(*)做一定的优化。那有人说count(id)效率会不会更高?...count函数指定where条件 这里一样得分两种情况:count(*)和count(col)。 count(*):where条件添加索引,就可以使用索引优化查询。
注释齐全,可以用来学习存储函数的条件和循环、SQL条件 数据例子 # 创建测试表 CREATE TABLE `job_depend` ( `sn_id` int(11) NOT NULL AUTO_INCREMENT...depend_job_id) VALUES ('c', 's'); INSERT INTO test.job_depend (job_id, depend_job_id) VALUES ('s', 'c'); # 若函数存在则删除...DROP FUNCTION IF EXISTS getChild; # 创建一个函数 CREATE FUNCTION getChild(jobId VARCHAR(21845)) # 返回值类型...RETURNS VARCHAR(21845) # 开始函数内容 BEGIN # 定义一个变量存储合并后的字符串(逗号分隔) DECLARE childs VARCHAR(21845...RETURN childs; END; # 使用例子 SELECT * FROM job_depend WHERE find_in_set(job_id, getChild('c')); # 查询本函数
一、聚合函数查询 1.COUNT()函数——用来统计记录的条数; 例如查询grade表中有几条数据: 先看grade表中所有的数据:select * from grade; ?...总共9条数据,as total是给count(*)取别名; 2.SUM()函数——是求和函数,计算一列值的总和(此列必须是数值型数据); 例如查询grade表中张三的总分: select stuName...3.AVG()函数——求一列值的平均值的函数; 例如,查询表中张三的平均分: select stuName,avg(score) from grade where stuName='张三'; ?...4.MAX()函数——求一列值的最大值的函数 例如,查询表中张三score的最大值 select stuName,max(score) from grade where stuName='张三'; ?...二、GROUP BY分组查询 group by 常常与聚合函数一起使用 1.与COUNT(*)函数一起使用 例如:查询grade表中的记录条数,并按照姓名分组: select stuName,count
(常用于GROUP BY从句的SELECT查询中) AVG(col)返回指定列的平均值 COUNT(col)返回指定列中非NULL值的个数 MIN(col)返回指定列的最小值 MAX(col)返回指定列的最大值...MySQL有4个函数是用来进行条件操作的,这些函数可以实现SQL的条件逻辑,允许开发者将一些应用程序业务逻辑转换到数据库后台。...如:SELECT NULLIF(1,1),NULLIF('A','B'),NULLIF(2+3,4+1); 和许多脚本语言提供的IF()函数一样,MySQL的IF()函数也可以建立一个简单的条件测试,这个函数有三个参数...在这种情况下,MySQL提供了CASE函数,它和PHP及Perl语言的switch-case条件例程一样。...为了进行数据类型转化,MySQL提供了CAST()函数,它可以把一个值转化为指定的数据类型。
print “警告信息 %s” % str(w) except MySQLdb.Error, e: print “错误信息 %d %s” % (e.args[0], e.args[1]) # 查询数据...print u’姓名:%s’ % (row[1]) print u’内容:%s’ % (row[3]) except : # 异常回滚 print ‘查询数据失败
MySQL联合查询 联合查询:union,将多次查询(多条select语句)的结果,在字段数相同的情况下,在记录的层次上进行拼接。...执行如下 SQL 语句,进行测试: — 联合查询,默认去重 select * from class union distinct select * from class; — 联合查询,保留所有记录 select...特别地,联合查询只要求字段数相同,而跟类型无关。...意义 联合查询的意义有两种,分别为: 查询同一张表,按时需要不同,例如查询学生信息,要求男生按年龄升序排序,女生按年龄降序排序; 多表查询,多张表的结构是完全一样的,保持的数据结构也是一样的。...根据我们刚刚学到的联合查询,貌似很容易啊!
desc降序|asc升序 10.1.1 全查询 语法: select 显示的字段列表 from 表名 全查询 10.1.2 条件查询(查询部分行) 语法: select 显示的字段列表 from 表名...1.1 聚合函数 统计: 统计数量: count(字段名) select count(*) from student; #效率最慢 这是对所有的字段进行统计得出来的结果 select count...by examDate having sumres<500; 当where和having同时在一条sql语句中存在的时候 执行顺序是where->group by ->having 1.2 地理位置函数...1.3 字符串函数 substring(字符串,开始位置,长度) select substring("hello重庆world",6,2); concat(字符串1,字符串2,...字符串n) select...adddate(now(),10) DAYOFWEEK(日期) 返回指定日期是星期几 1代表星期天 ---7表示星期六 select dayofweek('2022-09-11') 1.5 数学函数
条件查询 当数据量比较大的时候,千万别用 select * from student;会占用太多内存;因此采用条件查询; 2.1比较运算符 语法:select .... from 表名 where ....."; 查询姓名中有 小的所有名字 select name from student where name like "%小%"; 结果和上述相同; 查询有两个字的名字:两个下划线 select name...*伦$"; 2.4 范围查询(不连续查询) 查找年龄为12、18、34的名字 select name from student where age=12 or age=18 or age=34;...id desc; 前面相同情况下再看后续; 按照年龄从小到大,身高从高到矮; select * from student order by age asc, height desc; 4.聚合函数...总数count 查询男性有多少人 select count(*) as 男性人数 from student where gender=1; 最大值max,min通用 查询年龄最大的是谁 select
MySQL学习仓库Up-Up-MySQL,这是一个学习MySQL从入门实战到理论完善,再到精通的一个仓库,后面会把MySQL的学习资料上传上去!欢迎大家star与fork起来!...仓库地址: https://github.com/Light-City/Up-Up-MySQL 也可以点击阅读原文! 今天上手第三弹,窗口函数实现及查询案例。...窗口分析函数在做数据分析时十分常用,但是mysql5.7却不支持。 下面一起来实现一下: 1.生成组内连续但不唯一的数字。类似DENSE_RANK()函数。...rank+1 else 1 end) '排名',@cid:=sc.CId '课程编号' ,sc.SId,sc.score from SC sc order by cid,sc.score desc; 查询结果...类似RANK()函数。
慢查询日志概念 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中...默认情况下,Mysql数据库并不启动慢查询日志,需要我们手动来设置这个参数,当然,如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响。...log-slow-queries :旧版(5.6以下版本)MySQL数据库慢查询日志存储路径。...开启了慢查询日志只对当前数据库生效,如果MySQL重启后则会失效。.../mysql/mysql06_slow.log 得到按照时间排序的前10条里面含有左连接的查询语句。
目录 一、聚合函数 1.常用聚合函数 2.实例 1.count 2.max 3.avg 4.sum 二、分组查询 1.语法 2.实例 三、排序查询 1.语法 2.实例 1.升序 2.降序 --...-- 一、聚合函数 将一列数据作为一个整体,进行纵向计算 1.常用聚合函数 函数 功能 count 统计数量 max 最大值 min 最小值 avg 平均值 sum 求和 语法: SELECT 聚合函数...age)VALUES (1,'张小三',18),(2,'李四',20),(3,'王老五',48),(4,'老六',18); SELECT sum(age) FROM user; 执行结果 二、分组查询...WHERE不能对聚合函数进行判断,而HAVING可以 2.实例 举例 分别统计表user不同年龄人的个数 代码 INSERT INTO user(id,name,age)VALUES (1,'张小三',...18),(2,'李四',20),(3,'王老五',48),(4,'老六',18); SELECT * FROM user WHERE age>18 GROUP BY name; 执行结果 三、排序查询
= 不相等 > 大于 >= 大于等于 < 小于 <= 小于等于 BETWEEN 位于两个数值之间 查询价格小于10.2的水果 mysql> SELECT f_name,f_price FROM fruits...查询指定范围内的条件记录,将所有的查询条件用括号括起来。...| 105 | 1 | | 106 | 1 | +------+----------+ 6 rows in set (0.00 sec) GROUP_CONCAT()函数可以将分组的中各个字段的值显示出来...,就返回一个结果作为外层查询的条件。...此时外层语句不做任何查询。
中常用到的模糊查询方法,通过通配符%来进行匹配,其实,这只是冰山一角,在MySQL中,支持模糊匹配的方法有很多,且各有各的优点。...好了,今天让我带大家一起掀起MySQL的小裙子,看一看模糊查询下面还藏着多少鲜为人知的好东西。 目录 一、MySQL通配符模糊查询(%,_) 1-1. 通配符的分类 1-2....技巧与建议: 二、MySQL内置函数检索(locate,position,instr) 2-1. LOCATE()函数 2-2. POSITION()方法 2-3....能让检查你代码的同事或领导对你刮目相看那种~~ 当然,下面我们就来看看MySQL的第二类模糊匹配方式 — 内置函数查询 二、MySQL内置函数检索(locate,position,instr) 话接上文...OK,下面一起来看看这三种内置函数的使用方法吧。 先明确一下,MySQL中的角标从左往右是从1开始的,不像java最左边第一位角标是0,因此在MySQL中角标为0时说明不存在。 2-1.
好了,今天让我带大家一起掀起MySQL的小裙子,看一看模糊查询下面还藏着多少鲜为人知的好东西。 目录 一、MySQL通配符模糊查询(%,_) 1-1. 通配符的分类 1-2....技巧与建议: 二、MySQL内置函数检索(locate,position,instr) 2-1. LOCATE()函数 2-2. POSITION()方法 2-3....能让检查你代码的同事或领导对你刮目相看那种~~ 当然,下面我们就来看看MySQL的第二类模糊匹配方式 --- 内置函数查询 二、MySQL内置函数检索(locate,position,instr) 话接上文...OK,下面一起来看看这三种内置函数的使用方法吧。 先明确一下,MySQL中的角标从左往右是从1开始的,不像java最左边第一位角标是0,因此在MySQL中角标为0时说明不存在。 2-1....regexp、rlike的正则匹配查询 MySQL中的regexp和rlike关键字属于同义词,功能相同。
:索引没有设计好、SQL 语句没写好、MySQL 选错了索引 ’mysql慢查询优化 第一步:开启mysql慢查询日志,通过慢查询日志定位到执行较慢的SQL语句。...存储过程的信息对查询的影响情况 EXPLAIN 不考虑各种 Cache EXPLAIN 不能显示 MySQL 在执行查询时的动态,因为执行计划在执行查询之前生成 EXPALIN 部分统计信息是估算的,并非精确值...SUBQUERY 在 SUBQUERY 基础上,子查询中的第一个SELECT,取决于外部的查询 DERIVED 在 FROM 列表中包含的子查询,被标记为 DERIVED(衍生),MYSQL会递归执行这些子查询...possible_keys: 指出 MySQL 能使用哪个索引在表中找到记录,查询涉及到的字段上若存在索引,则该索引将被列出,但不一定被查询使用 如果该列是 NULL,则没有相关的索引 key: 显示...Impossible where:说明 where 语句会导致没有符合条件的行,通过收集统计信息不可能存在结果 Select tables optimized away:说明仅通过使用索引,优化器可能仅从聚合函数结果中返回一行
今天跟大家分享的是查询函数——lookup函数家族! 查询函数是excel函数中使用频繁程度与求和函数不相上下的功能。...excel中关于查询功能的函数主要有以下几组: lookup函数组: lookup vlookup hlookup index+match函数 今天我们只介绍第一组lookup函数: lookup函数:...当您需要查询一行或一列并查找另一行或列中的相同位置的值时,会使用其中一个查找和引用函数 LOOKUP。...Vlookup函数: 关于vlookup函数的语法解释,vlookup(查找数据,目标数据,返回列数,查找方式) ? ?...以上三个函数中,vlookup函数应用场景最为丰富,参数设置比较灵活。 通过对比三个函数的用法,我们可以发现三者之间的区别主要如下: ? ? ?
MySQL 子查询 嵌套查询 一、带IN关键字的子查询 二、带EXISTS关键字的查询 三、带ANY、SOME 关键字的子查询 四、带ALL 关键字的查询 自言自语 一、带IN关键字的子查询 使用IN...关键字进行子查询的时候,内层查询语句仅仅返回一个数据列。...语法格式: SELECT 查询字段 FROM 表名 WHERE 字段名 [NOT] IN (SELECT 语句); 二、带EXISTS关键字的查询 意思就是内层的select查到了(至少查到了一行)才进行查询...,没有查到就不进行查询。...只要满足内层子查询中的任何一个比较条件,就返回一个结果作为外层查询的条件。 (满足任意一个) 语法格式: SELECT 查询字段 FROM 表名 WHERE 字段名 比较运算符(>,<..)
目录 联合查询 子查询 分页查询 联合查询 联合查询是指将多个查询结果合并成一个结果集(二维表),通常出现在统计分析中。 语法: 查询语句1 UNION 查询语句2 UNION ......查询语句N 注意: 1.所有查询语句的返回结果的列数必须相等 2.每列的数据类型必须一致,【查询语句1中字段列表的类型必须和查询语句2中的字段列表类型对应且一致】 代码实例: SELECT user_id...子查询分类: 按结果及行数分: 1、 标量子查询(单行子查询:结果集只有一行一列) 2、 列子查询(多行子查询:结果集多行一列) 3、 行子查询(结果集有多行多列) 4、 表子查询(结果集有多行多列)...按出现位置分: 1、 SELECT 后面:只能出现标量子查询 2、 FROM 后面:表子查询(查询结果必须起别名) 3、 WHERE|HAVING:支持标量子查询,列子查询,行子查询 4、 EXISTS...后面:支持表子查询 代码实例: 查询订单信息,并显示用户姓名 SELECT a.
基本查询 SELECT * FROM *表示所有内容 ? 许多检测工具会执行一条SELECT 1; 来测试数据库连接。 2....条件查询 SELECT * FROM WHERE 条件运算按照NOT、AND、OR的优先级进行,即 NOT 最高,其次AND,最后OR 加括号 可以改变 优先级 SELECT...编写一个SQL查询,输出表中所有大国家的名称、人口和面积。...解题: # Write your MySQL query statement below SELECT name, population, area FROM World WHERE population...> 25000000 OR area > 3000000; 格式无特殊要求,好像 # Write your MySQL query statement below SELECT name, population
领取专属 10元无门槛券
手把手带您无忧上云