-
import MySQLdb conn = MySQLdb.Connect(host='127.0.0.1', port=3306,user='root',passwd='123456',db='IMOOC',charset='utf8') cur = conn.cursor() sql="select * from user" cur.execute(sql) print cur.rowcount rs=cur.fetchone() print rs rs=cur.fetchmany(3) print rs rs=cur.fetchall() print rs cur.close() conn.close()查看全部
-
select查询数据查看全部
-
游标对象支持的方法查看全部
-
游标对象:用于执行查询和获取结果查看全部
-
connenction对象支持的方法查看全部
-
MySQLdb.Connect(参数)查看全部
-
Python DB API网站 https://www.python.org/dev/peps/pep-0249/查看全部
-
Python DB API -- connection:建立数据库连接 -- cursor:执行SQL、获取数据查看全部
-
def transfer(self,source_acctid,target_acctid,money): try: self.check_acct_available(source_acctid) self.check_acct_available(target_acctid) self.has_enough_money(source_acctid,money) self.reduce_money(source_acctid,money) self.add_money(target_acctid,money) self.conn.commit() except Exception as e: self.conn.rollback() raise e if __name__ == "__main__": source_acctid = sys.argv[1] target_acctid = sys.argv[2] money = sys.argv[3] conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='1234',port=3306,db='students') tr_money = TransferMoney(conn) try: tr_money.transfer(source_acctid,target_acctid,money) except Exception as e: print "出现问题:" + str(e) finally: conn.close查看全部
-
def reduce_money(self,acctid,money): cursor = self.conn.cursor() try: sql = 'update account set money=money - %s where acctid=%s' % (money,acctid) cursor.execute(sql) print "reduce_money:" + sql if cursor.rowcount != 1: raise Exception("账号 %s 减款失败" % acctid) finally: cursor.close() def add_money(self,acctid,money): cursor = self.conn.cursor() try: sql = 'update account set money=money + %s where acctid=%s' % (money,acctid) cursor.execute(sql) print "reduce_money:" + sql if cursor.rowcount != 1: raise Exception("账号 %s 加失败" % acctid) finally: cursor.close()查看全部
-
import sys import MySQLdb class TransferMoney(object): def __init__(self,conn): self.conn = conn def check_acct_available(self,acctid): cursor = self.conn.cursor() try: sql = 'select * from account where acctid=%s' %acctid cursor.execute(sql) print "check_acct_available:" + sql rs = cursor.fetchall() if len(rs) != 1: raise Exception("账号 %s 不存在" % acctid) finally: cursor.close() def has_enough_money(self,acctid,money): cursor = self.conn.cursor() try: sql = 'select * from account where acctid=%s and money>%s' % (acctid,money) cursor.execute(sql) print "has_enough_money:" + sql rs = cursor.fetchall() if len(rs) != 1: raise Exception("账号 %s 没有足够的钱" % acctid) finally: cursor.close()查看全部
-
MyISAM引擎不支持事务查看全部
-
sql_insert = 'insert into stud(userid, username) values("12","name12")' sql_upudate = 'update stud set username="name19" where userid="9"' sql_insert = 'delete from stud where userid<"3"' try: cursor.execute(sql_insert) print cursor.rowcount cursor.execute(sql_upudate) print cursor.rowcount cursor.execute(sql_insert) print cursor.rowcount conn.commit() except Exception as e: print e conn.rollback()查看全部
-
事务: 访问和更新数据库的一个程序执行单元查看全部
-
https://www.python.org/dev/peps/pep-0249/查看全部
举报
0/150
提交
取消