mysql统计一张表中条目个数的方法

统计一张表中条目的个通常的SQL语句是:

select count(*) from tableName;

#or
select count(1) from tableName;
#or 统计一个列项,如ID
select count(ID)

另外,可通过使用information_schema统计个数

MySQL中有一个名为 information_schema 的数据库,在该库中有一个 TABLES 表,这个表主要字段分别是:

TABLE_SCHEMA : 数据库名

TABLE_NAME:表名

ENGINE:所使用的存储引擎

TABLES_ROWS:记录数

DATA_LENGTH:数据大小

INDEX_LENGTH:索引大小

下面的SQL语句给出了查询方法,同时也统计出了占用存储空间的信息:

SELECT information_schema.`TABLES`.TABLE_NAME,
       (DATA_LENGTH/1024/1024) as DataM ,
    (INDEX_LENGTH/1024/1024) as IndexM,
    ((DATA_LENGTH+INDEX_LENGTH)/1024/1024) as AllM,
    TABLE_ROWS
from information_schema.`TABLES`
where information_schema.`TABLES`.TABLE_SCHEMA=‘abc‘;

时间: 2024-08-05 02:10:21

mysql统计一张表中条目个数的方法的相关文章

取得一张表的数据不在另一张表中的最优秀方法(JOIN与EXISTS的效率研究)

业务需求: 公司有个CRM经纪人管理系统,前天遇到的比较棘手的问题是,要查询一张表中不在另一张表中的所有用户并分页显示,但问题是外表的数据量很大,如果用not in(select ..),not exists(select ...)之类的子查询 的话需要对子查询表进行所有信息的调用过滤才行,一单子查询数据量过大效率问题就来了,于是就私下里查了一点资料,并根据资料中提供的例子建立了对应的测试表做了一些测试,随后将解决问题的方法移交给了技术部的邹鸿同事去解决问题,因为是前天的事情了,本来是事情忙没时

mysql 获取一张表中, 另一张表不存在的数据

编写sql语句中,经常需要编写获取一张数据表中不存在与另一张表的数据,相关编写方法如下: 方法1: 使用not in ,效率低下,在数据较小的情况下可以采用如下编写 SELECT * FROM a WHERE 1=1 AND a.Id NOT IN( SELECT Id FROM B WHERE B.IsDeleted=0 GROUP BY B.Id ); 方法2:使用left join  较第一种方法快 SELECT * FROM a LEFT JOIN b ON a.Id=b.Id WHER

简单按日期查询mysql某张表中的记录数

测试表表结构:mysql> show create table dr_stats\G 1. row Table: dr_stats Create Table: CREATE TABLE `dr_stats` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `views` int(10) NOT NULL DEFAULT '0' COMMENT '展示量', `num` mediumint(8) NOT NULL DEFAULT '0' CO

mysql查询某张表的外键

mysql和oracle一样也是有数据字典表的,是存在单独的一个库叫INFORMATION_SCHEMA,要查看某张表的外键要从字典表中查找 如mysql查询某张表的外键,可以用下面的方式查询 use INFORMATION_SCHEMA; select TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME,REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME from KEY_COLUMN_USAGE where table_name

mysql测试索引在表中的作用

实验内容 单表中的索引使用 1.建表 create table t_book(id int,a1 varchar(200),a2 varchar(200),a3 varchar(200),a4 varchar(200),a5 varchar(200),a6 varchar(200),a7 varchar(200),a8 varchar(200),a9 varchar(200)) 2.写存储过程向表中插入较大数据//或其他方式使数据增大 (1)绑定变量: PREPARE stmt1 FROM 'i

Mysql导出(多张表)表结构及表数据 mysqldump用法

命令行下具体用法如下:  mysqldump -u用戶名 -p密码 -d 數據库名 表名 脚本名; 1.导出數據库為dbname的表结构(其中用戶名為root,密码為dbpasswd,生成的脚本名為db.sql)    mysqldump -uroot -pdbpasswd -d dbname >db.sql; 2.导出數據库為dbname某张表(test)结构    mysqldump -uroot -pdbpasswd -d dbname test>db.sql; 3.导出數據库為dbna

SQL语句:关于复制表结构和内容到另一张表中的SQL语句

1.复制新表结构及数据到新表create table 新表 select * from 旧表 2.只复制表结构到新表 create table 新表 select * from 旧表 where 1=2 3.复制旧表的数据到新表(假设两个表结构一样) insert into 新表 select * from 旧表 4.复制旧表的数据到新表(假设两个表结构不一样) insert into 新表(字段1,字段2,......) select 字段1, 字段2,... from 旧表 SQL语句:关于

Mysql 如何删除数据表中的重复数据!

1.使用distinct查询所有不重复的记录 2.创建数据表相同结构的临时表,将第一步的数据复制进去 create temporary table if not exists student_temp as (select distinct(name), sex from student); 3.truncate table student; 4.insert into student(id,name,sex) select null,name,sex from student_temp; My

如何查出同一张表中字段值重复的记录

如何查出同一张表中字段值重复的记录 (2013-03-25 11:28:51) 转载▼ 比如现在有一人员表(表名:peosons) 若想将姓名.身份证号.住址这三个字段完全相同的记录查询出来select p1.* from persons p1,persons p2where p1.idp2.id and p1.cardid = p2.cardid and p1.pname = p2.pname and p1.address = p2.address 可以实现上述效果. 几个删除重复记录的SQL