实践项目七:模拟银行转账系统(python+mysql)

本文介绍了使用Python DB API操作MySQL数据库实现模拟银行转账系统的过程。详细阐述了从检查账号存在性、验证转账金额到执行转账及事务处理的步骤,并提供了相关代码实现。通过创建数据库、数据表以及执行转账操作,最后讨论了数据库连接与事务管理的重要性。
摘要由CSDN通过智能技术生成

最近学习python操作mysql数据库的知识,python访问数据库有自己的统一接口程序:Python DB API。这是我学习的一个小例子。(安装和基本知识可以自行复习:http://blog.csdn.net/xunalove/article/details/76695549

环境

ubutu 16.04 + python2.7 + mysql 5.7.19

分析

首先要知道使用Python DB API 访问数据库的流程:
开始—->创建connection—->获取cursor—->执行查询, 执行命令, 获取数据, 处理数据—->关闭cursor —->关闭connection—->结束。

模拟银行转账系统的思路:(假设帐号1给账户2转账200元)

  • 第一步:首先需要检查帐号1和帐号2是否存在,
  • 第二步:满足条件下:接着检查帐号1是否有200元,
  • 第三步:满足条件下:帐号1减去200元,帐号2加上200元
  • 第四步:满足上面三步的条件下,将数据提交到数据库(提交事务)
    需要注意的是这四步任意一步出现一场,都要使用rollback回滚事务

创建mysql数据库

我使用的是命令行,当然你也可以使用可视化界面创建,看个人爱好。
我已经创建好了数据库为”test”
使用”use test”进入test数据库,创建数据表” accunt “

mysql> create table accunt(
    -> acctid int(11) not null primary key auto_increment,
    -> money int(11) not null);

创建两条信息

mysql> insert into accunt values('1','1000');
Query OK, 1 row affected (0.02 sec)

mysql> insert into accunt values('2','500');
Query OK, 1 row affected (0.02 sec)

使用select查看数据表如下

mysql> select * from accunt;
+--------+-------+
| acctid | money |
+--------+-------+
|      1 |   800 |
|      2 |   700 |
+--------+-------+
2 rows in set (0.00 sec)

代码实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值