mysql 查询 1: Distinct 有时需要查询出某个字段不重复的记录,这时可以使用mysql提供的distinct这个关键字来过滤重复的记录,但是实际中我们往往用distinct来返回不重复字段的条数(count(distinct id)),其原因是distinct只能去重他的目标字段(即所有查询的字段)注意: distinct必须放在要查询字段的开头eg: 1:select distinct user_name from xxx 这样会过滤掉user_name 重复的, 2:如果这样写: select distin...
***explain ****分析******* 1观察,至少跑一天,看看生产的慢SQL情况 2开启慢查询日志,设置阙值,比如超过5秒钟的就是慢SQL,并将它抓取出来 3explain+慢SQL分析 4show profile 5运维经理 or DBA,进行SQL数据库服务器的参数调优 *****总结***** 1慢查询的开启并捕获 2explain+慢SQL分析 3show profile查询SQL在Mysql服务器里面的执行细节和生命周期情况 4SQL数据库服务器的参数调优 *********...
count(*) 和 count(1)和count(列名)区别? 执行结果上:count(*)包括了所有的列,相当于行数,在统计结果的时候,不会忽略列值为NULLcount(1)包括了所有列,用1代表代码行,在统计结果的时候,不会忽略列值为NULLcount(列名)只包括列名那一列,在统计结果的时候,会忽略列值为空(这里的空不是只空字符串或者0,而是表示null)的计数,即某个字段值为NULL时,不统计执行效率上:列名为主键,count(列名)会比count(1)快列名不为主...
数据如今是这种,我想确定出type列中的news和image。。。。甚至以后有其它值,他们分别有多少个。SELECTtype,count(1) AS counts
FROMmaterial
GROUP BYtype
count(1),代表统计第一列。写上1 比写 *的效率高!原文:http://www.cnblogs.com/brucemengbm/p/6801275.html
比如我存储的数据,有的是 山东,有的是山东省 我想统一改为山东省 UPDATE t_security SET province =REPLACE( province, ‘山东‘, ‘山东省‘ ) WHERE province =‘山东‘; 原文:https://www.cnblogs.com/jnhs/p/10046832.html
select * from hengtu_demandpush a where (a.did,a.mid) in (select did,mid from hengtu_demandpush group by did,mid having count(*) > 1) 或select * from hengtu_demandpush group by did,mid having count(*)>1 1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select * from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1) 2、删除表中多...
查询用逗号分隔的字段,可以用字符串函数FIND_IN_SET(); 查询数据库表中某个字段(值分行显示),可以用函数in()。 今天工作中遇到一个问题,就是用FIND_IN_SET()函数解决的。 第一部分: FIND_IN_SET()函数用法, 查询用逗号分隔的字段, 表A中 go_value字段的值是以逗号分割, 查询 go_value字段中含有3的行: select * from A where find_in_set(‘3‘, go_value); 第二部...
一:简单查询 1. and、or、not 如果and与or共同出现在where条件中,则and的优先级高。 查询remark不为null的记录 select * from student where remark is not null; 2. 模糊查询(like) 通配符:% 任意个数的任意字符 eg:将姓名中含有‘东‘字的学生信息查出来 select * from student where name like ‘%东%‘; _ 代表一个字符 eg:...
"SELECT table_id, FROM table WHERE (timediff(‘%s‘,raise_time)<‘00:05:00‘)" % \(table_id, str(datetime.datetime.now()))原文:http://www.cnblogs.com/buxizhizhoum/p/6780181.html
#数据库中所有表的信息
SELECT*FROM information_schema.TABLES WHERE TABLE_SCHEMA =‘数据库名‘
#数据库中每个表的数据量
SELECT table_name,table_rows FROM information_schema.tables
WHERE TABLE_SCHEMA =‘数据库名‘ORDERBY table_rows DESC; 原文:https://www.cnblogs.com/shenyixin/p/14789074.html
一查询数值型数据: SELECT * FROM tb_name WHERE sum > 100; 查询谓词:>,=,<,<>,!=,!>,!<,=>,=< 二查询字符串 SELECT * FROM tb_stu WHERE sname = ‘小刘‘ SELECT * FROM tb_stu WHERE sname like ‘刘%‘ SELECT * FROM tb_stu WHERE sname like ‘%程序员‘ SELECT * FROM tb_stu WHERE sname like ‘%PHP%‘ 三查询日期型数据 SELECT * FROM tb_stu WHERE date = ‘2011-04-08‘ 注:不同数据库对日期型数据存在差异: :...
MySQL 查询优化器SELECT 执行过程那么如何提高 MySQL 的查询性能呢?首先你需要了解查询优化器处理 SQL 的全过程。以 SELECT 的 SQL 的执行过程为例,如下图所示。 客户端发送一条 SELECT 查询给服务器;服务器先检查查询缓存,如果命中缓存,则立刻返回存储在缓存中的结果。否则进入下一阶段;服务器进行 SQL 解析、预处理、再由查询优化器生成对应的执行计划;MySQL 根据优化器生成的执行计划,调用存储引擎的 API 来执行查询;...
(一)1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断
select * from people
where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有一个记录
delete from people
where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)
and min(id) not in ...
一,说明:表名为student1,查询某个表里的字段select 字段名1,字段名1 form student;例如:查询student中的snameselect sname from student;2,查询某个表里的字段(字段下面有重复的内容),并且显示的查询结果不显示重复的select distinct class from student;3,查询加条件select * from student where sno=‘107‘;4,查询某个字段下满足某条件的(class为95031中ssex为女的)select * from student where class in(95031) and ...
query_cache_type 使用查询缓存的方式一般,我们会把query_cache_type 设置为 ON,默认情况下应该是ONmysql>SELECT@@query_cache_type;
+--------------------+|@@query_cache_type|+--------------------+|ON|+--------------------+query_cache_type有3个值 0代表关闭查询缓存OFF,1代表开启ON,2(DEMAND)代表当sql语句中有SQL_CACHE关键词时才缓存,如:select SQL_CACHE user_namefrom users whereuser_id=‘100‘;这样 当我们...