做一些数据库查询,不仅希望得到要查询的结果,还希望方便地计算一下查询结果中有多少条记录。我通常的做法是:
$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()函数。
MySQL数据库语句,计算某一列的和用select sum(b) from a就可以了。
下面来补充一些MySql的基本 *** 作命令。
注: <>表示参数、[]表示可选项
连接数据库:mysql> mysql -u<username>-p<password>
显示所有数据库:mysql>show databases
选择数据库:mysql> use <database name>
创建一个数据库:mysql>create database <database name>[charset <charset>]
删除一个数据库:mysql>drop database <database name>
修改数据库名:mysql无法直接修改数据库名!
显示所有表:mysql>show tables
删除一张表:mysql>drop table <table name>
修改表名:mysql> rename table <table name>to <new table name>
清空表:mysql>truncate <table name>
truncate和delete的区别:truncate相当于删表再重建一张相同结构的表, *** 作后得到一张全新表;delete只是删除数据,而且是按照行来删除,如果表中有自增型字段,其影响还在。
查看表结构:mysql>desc <table name>
快速建一张相似的表:mysql>create table <table name>like <another table>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)