Mysql获取id最大值、表的记录总数等相关问题的方法汇总
一、mysql 获取当前字段最大id
SQL语句:
select max(id) from yourtable;
二、获取mysql表自增(Auto_increment)值
Auto_increment
是表中的一个属性,只要把表的状态获取到,也就可以获取到那个自增值
SQL语句:
show table status like “表名”;
php代码实现
$get_table_status_sql = "SHOW TABLE STATUS LIKE '表名'"; $result = mysql_query($get_table_status_sql); $table_status = mysql_fetch_array($result); echo $table_status['Auto_increment']; // 这个就是自增值
或
select max(id) from testnotnull;
三、获取一个表的记录总数
select count(*) from table;
或
select count(id) from table;
SELECT SQL_CALC_FOUND_ROWS * FROM table_name; SELECT FOUND_ROWS();
myisam
下count(*)
主键 时要 加条件,此条件为 类型 字段,索引无效
不加条件下非常快,加了后慢了两个数量级
使用 SHOW TABLE STATUS
语句是最高效的方法
格式
SHOW TABLE STATUS [{FROM | IN} db_name] [LIKE 'pattern' | WHERE expr]
示例:
SHOW TABLE STATUS FROM cpdlt LIKE 'lehecai_1202';
总结
以上就是为大家整理的如何获取一个表的记录数、获取一个表的最大id以及获取一个表的auto_increment值等相关问题的全部内容,希望对大家的学习或者工作带来一定的帮助,如果有疑问的大家可以留言交流。
相关推荐
-
Java实现获得MySQL数据库中所有表的记录总数可行方法
在MySQL中,可以通过SELECT COUNT(*) FROM table_name查询某个表中有多少条记录.如果想知道某个数据库中所有别的记录总数应该怎么做呢?本文给出两种可行的Java程序,解决该问题. 1. 首先确定数据库中有多少个表,然后对每个表执行SELECT COUNT(*) FROM table_name 复制代码 代码如下: import java.sql.Connection; import java.sql.DriverManager; import java.sql.Pr
-
将所有符合条件的结果拼接成一列并用逗号隔开的一个sql语句
复制代码 代码如下: create table tb(id int, value varchar(10)) insert into tb values(1, 'aa') insert into tb values(1, 'bb') insert into tb values(2, 'aaa') insert into tb values(2, 'bbb') insert into tb values(2, 'ccc') go create function [dbo].[f_str](@id i
-
SQL一条语句统计记录总数及各状态数
方法一. 复制代码 代码如下: SELECT SUM(正确数)+SUM(错误数) AS 总记录数,SUM(正确数),SUM(错误数) FROM ( SELECT COUNT(1) 正确数,0 错误数 FROM TB WHERE STATUS=1 UNION ALL SELECT 0 正确数,COUNT(1) 错误数 FROM TB WHERE STATUS=0) a 方法二. 复制代码 代码如下: select count(1)总记录数,sum(case when status=1 then 1
-
mssql数据库游标批量修改符合条件记录的方法
需求:由于项目刚上传,没有票数,为了表现出一定的人气,需要在一开始把各项目的票数赋一个值 , 但每个项目不能一样,否则容易看出问题,呵呵 . 复制代码 代码如下: DECLARE @Id varchar(50) DECLARE My_Cursor CURSOR --定义游标 FOR (SELECT Id FROM dbo.kinpanAwardProject where session=9) --查出需要的集合放到游标中 OPEN My_Cursor; --打开游标 FETCH NEXT FRO
-
SQL查询数据库中符合条件的记录的总数
1. select count(*) from table; //统计元组个数 2. select count(列名) from table; //统计一列中值的个数 3. select count(*) from table where 字段 = ""; //符合该条件的记录总数 4. sql_count = "select count(*) from article a where 1=1 "; //这条语句中a就代表article 这张表,后面可以写a.字段来
-
Mysql获取id最大值、表的记录总数等相关问题的方法汇总
一.mysql 获取当前字段最大id SQL语句: select max(id) from yourtable; 二.获取mysql表自增(Auto_increment)值 Auto_increment是表中的一个属性,只要把表的状态获取到,也就可以获取到那个自增值 SQL语句: show table status like "表名"; php代码实现 $get_table_status_sql = "SHOW TABLE STATUS LIKE '表名'"; $r
-
Oracle 当前用户下所有表的记录总数
分析当前用户下所有表的记录总数 保证好用! 复制代码 代码如下: begin dbms_utility.analyze_schema(user,'COMPUTE'); end; select t.table_name,t.num_rows,t.blocks,t.empty_blocks from user_tables t
-
PHP+MySQL统计该库中每个表的记录数并按递减顺序排列的方法
本文实例讲述了PHP+MySQL统计该库中每个表的记录数并按递减顺序排列的方法.分享给大家供大家参考,具体如下: 这是一段简单的代码,可实现统计该数据库中每个表的记录数,并按递减顺序排列的功能 $host = '127.0.0.1'; $port = 3306; $dbname = 'test'; $username = 'root'; $password = ''; function ee($p) { if(PHP_SAPI == 'cli') { echo "\n"; }else{
-
django 获取字段最大值,最新的记录操作
如果是直接在数据库拉取 from django.db.models import Max Argument.objects.all().aggregate(Max('rating')) 如果是从已经存在的model列表获取 from django.db.models import Max args = Argument.objects.all() args.aggregate(Max('rating')) 获取最新的一行数据 max_rated_entry = YourModel.objects
-
mysql获取group by的总记录行数另类方法
mysql获取group by内部可以获取到某字段的记录分组统计总数,而无法统计出分组的记录数. mysql的SQL_CALC_FOUND_ROWS 使用 获取查询的行数 在很多分页的程序中都这样写: 代码如下 SELECT COUNT(*) from `table` WHERE ......; 查出符合条件的记录总数 代码如下 SELECT * FROM `table` WHERE ...... limit M,N; 查询当页要显示的数据 这样的语句可以改成: 代码如下 SELECT SQL_
-
sql分组后二次汇总(处理表重复记录查询和删除)的实现方法
--处理表重复记录(查询和删除) /****************************************************************************************************************************************************** 1.Num.Name相同的重复值记录,没有大小关系只保留一条 2.Name相同,ID有大小关系时,保留大或小其中一个记录 整理人:中国风(Roy) 日期:2008
-
MySQL 如何限制一张表的记录数
目录 一.触发器解决方案 二.分区表解决方案 三.通用表空间解决方案 关于MySQL 如何限制一张表的记录数,这没有一个简化的答案,比如执行一条命令或者说简单设置一个参数都不能完美解决.接下来我给出一些可选解决方案. 对数据库来讲,一般问题的解决方案无非有两种,一种是在应用端:另外一种是在数据库端. 首先是在数据库端(假设表硬性限制为1W条记录): 一.触发器解决方案 触发器的思路很简单,每次插入新记录前,检查表记录数是否到达限定数量,数量未到,继续插入:数量达到,先插入一条新记录,再删除最老的
-
Mysql如何避免全表扫描的方法
在以下几种条件下,MySQL就会做全表扫描: 1>数据表是在太小了,做一次全表扫描比做索引键的查找来得快多了.当表的记录总数小于10且记录长度比较短时通常这么做. 2>没有合适用于 ON 或 WHERE 分句的索引字段. 3>让索引字段和常量值比较,MySQL已经计算(基于索引树)到常量覆盖了数据表的很大部分,因此做全表扫描应该会来得更快. 4>通过其他字段使用了一个基数很小(很多记录匹配索引键值)的索引键.这种情况下,MySQL认为使用索引键需要大量查找,还不如全表扫描来得更快.
-
mysql获取分组后每组的最大值实例详解
mysql获取分组后每组的最大值实例详解 1. 测试数据库表如下: create table test ( `id` int not null auto_increment, `name` varchar(20) not null default '', `score` int not null default 0, primary key(`id`) )engine=InnoDB CHARSET=UTF8; 2. 插入如下数据: mysql> select * from test; +---
随机推荐
- 浅谈mint-ui 填坑之路
- oracle远程连接服务器出现 ORA-12170 TNS:连接超时 解决办法
- js 编码转换 gb2312 和 utf8 互转的2种方法
- java异步上传图片示例
- 多代理服务器软件MultiProxy的图文使用教程
- java 学习笔记(入门篇)_java的安装与配置
- python实现定时播放mp3
- 微信小程序实现滑动删除效果
- 论JavaScript模块化编程
- C#、.Net中把字符串(String)格式转换为DateTime类型的三种方法
- PHP实现把文本中的URL转换为链接的auolink()函数分享
- php调用c++的方法
- 很全面的MySQL处理重复数据代码
- 整理关于Bootstrap排版的慕课笔记
- js查找父节点的简单方法
- php实现批量修改文件名称的方法
- 将MongoDB加入到Windows的本地服务项的方法
- SQL Server 数据库分离与附加 就这么简单!
- FF和IE之间7个JavaScript的差异第1/2页
- PHP几个实用自定义函数小结