
mysql的表信息在INFORMATION_SCHEMA数据库的TABLES表中, 首先使用的用户需要有这个表的查询权限:
SELECT SUM(TABLE_ROWS)FROM INFORMATION_SCHEMATABLES
WHERE TABLE_SCHEMA = 'postgis'
表中的TABLE_ROWS为数据行数, sum后为总数
可以实现
use
information_schema;
select
table_name,table_rows
from
tables
where
TABLE_SCHEMA
=
'数据库名'
order
by
table_rows
desc;
查询出来的是每张表的行数
mysql对数据库和表的大小都没有做限制,mysql是一个软件,每一个表都是一个独立的文件,大小要看具体 *** 作系统对单个文件的限制。因此,很大,一般不需要管它 。
mysql自51以后支持分区表,语法同Oracle类似
分区表类型有range、list、hash、key等几种,我给一个range分区的例子吧
CREATE TABLE employees (
id INT NOT NULL,
fname VARCHAR(30),
lname VARCHAR(30),
hired DATE NOT NULL DEFAULT '1970-01-01',
separated DATE NOT NULL DEFAULT '9999-12-31',
job_code INT NOT NULL,
store_id INT NOT NULL
)
PARTITION BY RANGE (store_id) (
PARTITION p0 VALUES LESS THAN (6),
PARTITION p1 VALUES LESS THAN (11),
PARTITION p2 VALUES LESS THAN (16),
PARTITION p3 VALUES LESS THAN (21)
);
使用JDBC连接数据库 ,然后,得到某数据库中所有的表的记录总数:
SELECT SUM(table_rows) FROM information_schematables WHERE table_schema='test';
如果是客户端连接数据库的话,一条语句OK。select count() from tablename;
<php
$conn=mysql_connect('localhost','root','password');//连接数据库
mysql_select_db('databasename',$conn);//选择要查询的数据库
$sql="select count() from tablename";//SQL查询语句
if($result=mysql_query($sql,$conn))
{
$aaa=mysql_fetch_row($result);
echo $aaa[0]; //输出表里面总记录数
}
其实就跟分页获取数据类似,网上这种例子就比较多了,分段获取你可以把当前获取的最大的自增id存储在文件、数据库或者memcache中,下一段用大于这个做条件,然后遍历完再更新这个数就行了。
首先明确一下,你的空指针是在哪报的错,你写的sql语句,本身也是被预编译后,放mysql执行的,
如果你selectt 方式去读取的,那么可以通过getRow或者是遍历的方式去计数,如果selectt count方式的话,可以直接通过getInt方式去读取,你上边说报了空指针,那你自己可以加一个端点进行调试
以上就是关于MYSQL中,有个postgis数据库,如何统计整个postgis数据库中的所有数据条数有多少条全部的内容,包括:MYSQL中,有个postgis数据库,如何统计整个postgis数据库中的所有数据条数有多少条、mysql中如何统计一个数据库中每张表的行数、mysql数据库一个表最多可以放多少条数据mysql数据库怎么做分表请高手指点一下,谢谢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)