----------------------在删除中--------------------
mysql中delete和truncate区别
delete和truncate区别如下:
一、灵活性:delete可以条件删除数据,而truncate只能删除表的所有数据;
delete from table_test where ...
truncate table table_test
二、效率:delete效率低于truncate,delete是一行一行地删除,truncate会重建表结构,
三、事务:truncate是DDL语句,需要drop权限,因此会隐式提交,不能够rollback;delete是DML语句,可以使用rollback回滚。
四、触发器:truncate 不能触发任何Delete触发器;而delete可以触发delete触发器。
----------------保留小数的truncate--------------
TRUNCATE(X,D) x代表数字 D代表的需要保留的小数位数
SELECT truncate(1314.1314, 3); # 1314.131
SELECT truncate(1314.1314, 1); # 1314.1
SELECT truncate(1314.1314, 0); # 1314
SELECT truncate(1314.1314, -1); # 1310
SELECT truncate(1314.1314, -3); # 1000
SELECT truncate(-1314.1314, -1); # -1310
SELECT truncate(-1314.1314, -3); # -1000
SELECT truncate(1314.1314*100, -3); # 131000