PHP调用存储过程,事务处理和一些备份mysql数据库的方法

发布时间:2011年04月11日      浏览次数:685 次
concat联合多例:
select concat(user,":",jtsr) from jtsr;
修改密码:
mysqladmin -u用户名 -p原密码 password 新密码
mysqldump备份整个数据库到文件
mysqldump -uroot -proot tpsc>d:\tpsc.txt
select into进行备份,但只能备份到mysql服务器上(可以使用一些参数,例如通过什么来分割)
use mydatabase;
//select * from my_table into outfile "d:\my_table.txt"
select mobile_no,mobile_type,city,province into outfile "d:\mobile.txt" from cms_mobile //导出txt文件
mysql>source d:\datafilename.sql //导入sql文件
恢复用mysqldump备份的数据库
 mysql -uroot -proot tpsc <d:\tpsc.txt
利用load data 恢复使用select into备份的表(有参数的话也要加上分割)
select * from jtsr into outfile "d:\jtsr.sql"
load data infile 'd:\my_table.txt' into table jtsr
PHP调用存储过程:
建立存储过程:
delimiter//
create procedure total_price(out tot fload)
begin;
select count(bookprice) into tot from bookinfo;
end;
//
delimiter;
PHP调用方式:
<?php
$conn = new mysqli("localhost", "root", "root", "book");
$conn->query("set names gb2312");
$conn->query("call total_price(@total)");
$result = $conn->query("select @total");
$info = mysqli_fetch_array($result);
echo number_format($info["@total"],2)." 元";
?>
事务处理:比如像银行转账
<?php
$conn = new mysqli("localhost", "root", "root", "book");
$conn->query("set names gb2312",MYSQLI_USE_RESULT);
$conn->autocommit(false);
//建立第一步查询
$sql = "update tb_momey set momey=momey-100";
$result = $conn->query($sql,"MYSQLI_USE_RESULT");
if(! result)
$conn->rollback();
//t第二步
$sql2 = "update tb_momey set momey=momey+100";
$result2 = $conn->query($sql2,"MYSQLI_USE_RESULT");
if(! result2)
$conn->rollback();
//提交事务
$conn->commit();
$conn->autocommit(true);
$conn->close();
?>
免责声明:本站相关技术文章信息部分来自网络,目的主要是传播更多信息,如果您认为本站的某些信息侵犯了您的版权,请与我们联系,我们会即时妥善的处理,谢谢合作!