怎么在mysql命令行中返回mysql的影响行数

怎么在mysql命令行中返回mysql的影响行数,第1张

mysql_affected_rows() 返回最近一次与 连接句柄 关联的 INSERT,UPDATE 或 DELETE 查询所影响的记录行数.FOUND_ROWS() : select ROW_COUNT() : update delete insert.

FOUND_ROWS() : select

ROW_COUNT() : update delete insert.

MySQL的函数中,SELECT是另外一个单独的函数 FOUND_ROWS() , UPDATE等是 ROW_COUNT()

如下案例:

mysql>INSERT INTO t VALUES(1),(2),(3) Query OK, 3 rows affected (0.00 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql>SELECT ROW_COUNT() +-------------+ | ROW_COUNT() | +-------------+ | 3 | +-------------+ 1 row in set (0.00 sec)

mysql_affected_rows

(PHP 3, PHP 4 , PHP 5)

mysql_affected_rows -- 取得前一次 MySQL *** 作所影响的记录行数说明

int mysql_affected_rows ( [resource link_identifier])

mysql_affected_rows() 返回最近一次与 连接句柄 关联的 INSERT,UPDATE 或 DELETE 查询所影响的记录行数。如果连接句柄没有指定, 则默认使用最近一次由 mysql_connect() 函数打开的连接句柄。

注: 如果你使用事务处理(transactions),你需要在 INSERT,UPDATE 或 DELETE 查询后调用 mysql_affected_rows() 函数,而不是在 commit 命令之后。

如果最近一次 *** 作是没有任何条件(WHERE)的 DELETE 查询, 在表中所有的记录都会被删除,但该函数返回值为 0。

注: 当使用 UPDATE 查询,MySQL 不会将原值和新值一样的列更新。 这样使得 mysql_affected_rows() 函数返回值不一定就是查询条件所符合的记录数。 只有真正被修改的记录数才会被返回。

mysql_affected_rows() 函数不适用于 SELECT 语句;只适用于能够修改记录的语句中。请使用 mysql_num_rows() 函数来获得 SELECT 所返回的记录行数。

如果最近一次查询失败的话,函数返回 -1。 例子 1. Delete *** 作

<?php /* 连接数据库 */ mysql_pconnect("localhost", "mysql_user", "mysql_password") or die ("Could not connect" . mysql_error()) mysql_select_db("mydb") /* 这会返回有效的被删除记录数。 */ mysql_query("DELETE FROM mytable WHERE id <10") printf ("Records deleted: %d/n", mysql_affected_rows()) /* 没有任何条件(where)的删除语句,返回 0 */ mysql_query("DELETE FROM mytable") printf ("Records deleted: %d/n", mysql_affected_rows()) ?>

以上的例子会得出下面的运行结果:

Records deleted: 10Records deleted: 0

例子 2. Update *** 作

<?php /* 连接数据库 */ mysql_pconnect("localhost", "mysql_user", "mysql_password") or die ("Could not connect" . mysql_error()) mysql_select_db("mydb") /* Update 记录 */ mysql_query("UPDATE mytable SET used=1 WHERE id <10") printf ("Updated records: %d/n", mysql_affected_rows()) mysql_query("COMMIT") ?>

以上的例子会得出下面的运行结果:

Updated Records: 10

参见 mysql_num_rows() 和 mysql_info()。

mysql_affected_rows() 返回的是对行 *** 作的个数

$query=mysql_query("select * from love_mp3_table ")

mysql_affected_rows()//其实对这个也有效,返回44,在这和mysql_num_rows($query)效果一样

$query=mysql_query("INSERT INTO table(id,title,hrefurl) VALUE('','节节胜利','http://')")

mysql_affected_rows()//返回1

$query=mysql_query("DELETE FROM tabel WHERE id=45")

mysql_affected_rows()//返回1

$query=mysql_query("UPDATE table SET title='我是' WHERE id=44")

mysql_affected_rows()//返回1

mysql返回某条数据后面的数据是,在mysql命令行执行 show variables like ‘log_bin’如果为ON则表示开启了... 4.打开ca.txt筛选得到该条数据在删除之前的inset和update语句,并依次执行。

1. SELECT:查询内容,语法:SELECT 列名称 FROM 表名称

2. SELECT DISTINCT 查询非重复内容,语法:SELECT DISTINCT 列名称 FROM 表名称

3. WHERE 查询条件, 子句中可以指定任何条件,条件与条件之间用and 和 or 隔开

语法:SELECT 列名称 FROM 表名称 WHERE条件1 AND 条件2

4. AND 和 OR 运算符,将 WHERE 中的多个条件结合起来。 *** 作符包括:=(等于)、<>或=!(不等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于)

空值条件:IS NULL;非空值IS NOT NULL;查询多个值IN()

5. ORDER BY 排序,默认为升序,字段后加DESC为降序

6. GROUP BY 分组 ,对结果进行分组

7. LEFT JOIN 左连接,两张表合并保留左表的全部内容,只要掌握左连接

语法:SELECT列名称 FROM 表1 LEFT JOIN 表2 ON 表1.某列 = 表2.某列

了解:RIGHT JOIN(右连接),INNER JOIN(内连接)、FULL JOIN(全连接)

8. UNION all上下合并,两张表上下合并(了解)

9. LIKE 模糊查询(了解)

语法: SELECT 列名称 FROM 表名称 WHERE 某列 like “%字符%”

10.SUM 求和

语法:SELECT SUM(列名称) FROM 表名称

11. COUNT 计数

语法:SELECT COUNT(列名称) FROM 表名称

12. IF 判断 语法:同excel

13. MIN,MAX等

14. round 四舍五入

15. concat 字符串连接

16. UPDATE:修改内容,语法:update 表名 set 修改字段= 新内容 where 修改条件

17. substring 字符串截取

18. cast 定义数值类型(了解)

19. CASE … WHEN … THEN …. END 满足某一个条件时执行/替换,可用于条件计数

20. DATEDIFF 两个日期之间间隔的天数

21. SUBDATE 日期往前数 ,语法:SUBDATE(date,INTERVAL expr unit)

例子:SUBDATE(“2018-10-1”,INTERVAL 1 day) 代表10月1日往前数1天,结果是9月30;SUBDATE(“2018-10-1”,INTERVAL 1 month) 代表10月1日往前数1月,结果是2018-9-1


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8649977.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存