每日一模块——MySQLdb,常用的数据库语句,数据库回滚

本文 Github/javamap 已收录,有Java程序员进阶技术知识地图以及我的系列文章,欢迎大家Star。

最近在python变成中用到了mysql,虽然很多都查得到,但还是希望对每条语句都有深入的理解。具体实例如下:

1、回滚数据库

cursor = conn.cursor()       #获取游标

cursor.execute(sql)        #执行sql语句

cursor.close()      #关闭游标

conn.commit()       #提交事务

conn.close()        #关闭数据库连接

 

游标(cursor):是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。cursor.execute(sql)返回的是sql语句在数据库中影响的行数

游标的主要作用是:用来执行SQL查询,操作SQL查询结果集

 

注:MYSQL中只有InnoDBBDB类型的数据表才能支持事务处理,其他的类型是不支持的。 

一般MYSQL数据库默认的引擎是MyISAM,这种引擎不支持事务,如果要让MYSQL支持事务,可以自己手动修改:
1.MySQL命令窗口中执行,mysql->show engines;(或执行mysql->show variables like 'have_%'; ),查看InnoDBYES,即表示数据库支持InnoDB了。
也就说明支持事务transaction了。
2.在创建表时,就可以为Storage Engine选择InnoDB引擎了。如果是以前创建的表,可以使用

mysql->alter table table_nametype=InnoDB;     mysql->altertable table_name engine=InnoDB;

 

sql语句就不说明了,增删改查

 

2、数据库正常的执行步骤:

a)      建立数据库连接,取得Cursor对象

b)     执行sql语句,接收返回值

c)      根据执行情况,提交或者回滚数据库。

d)     关闭Cursor,关闭数据库连接

 

a)    和数据库建立连接

import MySQLdb

connect = MySQLdb.connect(host = 'localhost', user= 'root', passwd = 'root', db = 'karen')

host:数据库主机名.默认是用本地主机.
user:数据库登陆名.默认是当前用户.
passwd:数据库登陆的秘密.默认为空.
db:要使用的数据库名.没有默认值.
port:MySQL服务使用的TCP端口.默认是3306.

 

b)    执行sql

cursor = conn.cursor()    #获取游标

cursor.execute(sql)            #执行sql语句

cursor的常用方法:

Ø  execute(self, query, args):执行单条sql语句,接收的参数为sql语句本身和使用的参数列表,返回值为受影响的行数

Ø  nextset(self):移动到下一个结果集

Ø  fetchall(self):接收全部的返回结果行.

 

c)    提交或回滚数据库

conn.commit()

异常时回滚数据库:conn.rollback()

d)    关闭游标,关闭数据库连接

cursor.close()

conn.close()

 

 

-- END --

日常求赞:你好技术人,先赞后看养成习惯,你的赞是我前进道路上的动力,对我非常重要。

加油技术人!

简介: 博主从华中科技大学硕士毕业,是一个对技术有追求,对生活有激情的程序员。几年间浪迹于多个一线互联网大厂,具有多年开发实战经验。

微信搜索公众号【爱笑的架构师】,我有技术和故事,等你来。

文章持续更新,在 Github/javamap 中可以看到我归档的系列文章,有面试经验和技术干货,欢迎Star。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值