mysql得到查询结果的同时统计查询结果的数目
	
    
    
	做一些数据库查询,不仅希望得到要查询的结果,还希望方便地统计一下查询结果中有多少条记录。我通常的做法是:
$q = "select * from $fromTable where $where limit $start,$pageSize";
$r = mysql_query($q);
$q = "select count(*) from $fromTable where $where";
$cnt = mysql_query($q);
当
然可以用mysql_num_rows()或者mysql_affected_rows()来在第一次查询后得到记录数目,但是这两个函数返回的都是查询
后得到的结果的数目,是受limit语句的影响的。很多情况下,需要知道这条查询语句在没有limit的情况下结果总数,比如分页查询。
mysql
中本身支持一种更好的方法来达到上面的效果,那就是使用SQL_CALC_FOUND_ROWS和FOUND_ROWS()函数。见:http:
//dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_found-rows
应用举例:
mysql> SELECT SQL_CALC_FOUND_ROWS * from tbl_name
    -> WHERE id > 100 LIMIT 10;
mysql> SELECT FOUND_ROWS();
    
     
	
	
    
    
	相关文档:
        
    
    用mysql_query,mysql_fetch_array()后应该要
free_result().function count_admin($where = '')
	{
		if($where) $where = " WHERE $where";
		$result = $this->db->get_one("SELECT count(*) as num from $this->table_admin_role $where");
		return $result['num'];
	} ......
	
    
        
    
    select `a`.`id` AS `id`,`a`.`UserName` AS `UserName`,
(case when (`a`.`sRegDate` = _utf8'1990-01-01 00:00:00.0') then _utf8'' else cast(date_format(`a`.`sRegDate`,_utf8'%Y-%m-%d %H:%i:%S') as char charset utf8) end) AS `sRegDate`,(case when (`a`.`feeendtime` = _utf8'1990-01-01 00:00:00.0') then _ut ......
	
    
        
    
    常用的:
导出
mysqldump -hyour_host -uyour_username -pyour_password database_name > file.sql 
导入
mysql -hyour_host -uyour_username -pyour_password database_name < file.sql 
或者先用mysql客户端登陆后,
>\. file.sql 
也可以完成导入功能
上面的两个命令结合起来用,可以完成将一个数据库的 ......
	
    
        
    
    MySQL数据库日志
select日志 
slow select日志 
变更日志 
二进制变更日志(binlog) 
告警日志 
错误日志。
可以在my.cnf中配置
参数
说明
log
文本select日志,记下所有的MySQL的命令操作,
log-update
文本变更日志
log-bin
这个都知道了,数据库复制的时候必备
binlog_cache_size
临时存放某次事务的SQL ......
	
    
        
    
    MySQL数据库root权限丢失解决方案
一天不小心把ROOT的权限改到最小了(只能登录,什么都做不了),这可急死我了.重装的话太麻烦,而且里面有很多的用户,一个个重新弄不知道到什么时候。
后来我想了一个办法,先把当前服务器的MySQL服务停止,把MySQL DATa目录下的mysql目录改名为mysql_OLD,到另一个服务器下把mysql目录下的/ ......