mysql的表信息在INFORMATION_SCHEMA数据库的TABLES表中, 首先使用的用户需要有这个表的查询权限:
SELECT SUM(TABLE_ROWS)FROM INFORMATION_SCHEMATABLES
WHERE TABLE_SCHEMA = 'postgis'
表中的TABLE_ROWS为数据行数, sum后为总数
<php
mysql_connect('localhost','数据库帐号','数据库密码');
mysql_select_db('数据库名');
$result = mysql_query('show tables'); //获取所有表名
$all_record = 0;
while($record = mysql_fetch_row($result)) {
$tb_name = $record[0]; //表名
$n = mysql_result(mysql_query('select count() from `'$tb_name'`'),0);
$all_record+=$n;
}
echo $all_record; //总记录数
>
UPDATE team, Player SET teamGoal=PlayerGoal,teamShoot=PlayerShoot where 后面加条件(比如求队队员的编号或名字)
本期我们用 MySQL 提供的 DBUG 工具来研究 MySQL 的 SQL 处理流程。
起手先造个实例
这里得稍微改一下实例的启动文件 start,将 CUSTOM_MYSQLD 改为 mysqld-debug:
重启一下实例,加上 debug 参数:
我们来做一两个实验,说明 DBUG 包的作用:
先设置一个简单的调试规则,我们设置了两个调试选项:
d:开启各个调试点的输出
O,/tmp/mysqldtrace:将调试结果输出到指定文件
然后我们创建了一张表,来看一下调试的输出结果:
可以看到 create table 的过程中,MySQL 的一些细节 *** 作,比如分配内存 alloc_root 等
这样看还不够直观,我们增加一些信息:
来看看效果:
可以看到输出变成了调用树的形式,现在就可以分辨出 alloc_root 分配的内存,是为了解析 SQL 时用的(mysql_parse)
我们再增加一些有用的信息:
可以看到结果中增加了文件名和行号:
现在我们可以在输出中找一下统计表相关的信息:
可以看到 MySQL 在这里非常机智,直接执行了一个内置的存储过程来更新统计表。
沿着 que_eval_sql,可以找到其他类似的统计表,比如下面这些:
本次实验中,我们借助了 MySQL 的 DBUG 包,来让 MySQL 将处理过程暴露出来。MySQL 中类似的技术还有不少,比如 performance_schema,OPTIMIZER_TRACE 等等。
这些技术将 MySQL 的不同方向的信息暴露出来,方便大家理解其中机制。
以上就是关于MYSQL中,有个postgis数据库,如何统计整个postgis数据库中的所有数据条数有多少条全部的内容,包括:MYSQL中,有个postgis数据库,如何统计整个postgis数据库中的所有数据条数有多少条、求一个统计数据库 所有表的记录条数的总和的语句(mysql)、mysql数据库 一张表内容为另外一张表内容的统计等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)