mysql查询语句?

来源:百度知道 编辑:UC知道 时间:2024/06/27 14:30:08
这个是我的mysql查询语句:
SELECT * FROM fusion_download_cats WHERE download_cat_fatherId=null ORDER BY download_cat_name;
明明在数据库中download_cat_fatherId=null,但为什么查询不到值那?
jakiewoo1985的回答,我试了,还是不行啊,download_cat_fatherId这一列的类型为:MEDIUMINT,我把条件改成等于0,但还是不行。

SELECT * FROM fusion_download_cats WHERE download_cat_fatherId is null ORDER BY download_cat_name;

你运行一下,应该可以!

null 这个可能不好界定哦。
SELECT * FROM fusion_download_cats WHERE download_cat_fatherId=null or download_cat_fatherId='' ORDER BY download_cat_name ASC;

询语句的优化
多多利用 "explain" 查询索引使用情况, 以便找出最佳的查询语句写法和索引设置方案
慎用 "select *", 查询时只选出必须字段
查询使用索引时, 所遍历的索引条数越少, 索引字段长度越小, 查询效率越高 (可使用 "explain" 查询索引使用情况)
避免使用 mysql 函数对查询结果进行处理, 将这些处理交给客户端程序负责
使用 "limit" 时候, 尽量使 "limit" 出的部分位于整个结果集的前部, 这样的查询速度更快, 系统资源开销更低
在 "where" 子句中使用多个字段的 "and" 条件时, 各个字段出现的先后顺序要与多字段索引中的顺序相符
在 "where" 子句 中使用 "like" 时, 只有当通配符不出现在条件的最左端时才会使用索引
在 mysql 4.1 以上版本中, 避免使用子查询, 尽量使用 "内/外连接" 实现此功能
减少函数的使用, 如果可能的话, 尽量用单纯的表达式来代替
避免在 "where" 子句中, 对不同字段进行 "or" 条件查询, 将其拆分成多个单一字段的查询语句效率更高

从数据库结构做起
字段类型的定义时遵循以下规