Python学习之数据库操作

来源:互联网 发布:godaddy PHP创建 编辑:程序博客网 时间:2024/05/18 01:28

在python中,我们可以通过MySQLdb这一适配器连接并操作数据库。
其中有两个主要的对象ConnectionCursor,分别用来与数据库连接和通信。
下面给出一个与数据库连接的实例:

Connection对象:

conn = MySQLdb.connect(    host='127.0.0.1',    # 主机名 127.0.0.1 为本机IP    port=3306,           # 端口    user='root',         # 用户名    passwd='***',        # 数据库密码    db="test",           # 数据库名    charset='utf8'       # 字符集)

conn有几个比较重要的方法:

  • commit() 和 rollback()
    理解这两个方法我们首先要知道和数据库的整个通信过程是怎样的:
    建立连接之后,我们提供要执行的sql语句给数据库,然后数据库将运行的结果返回到本地的缓存区,我们一系列的增删改是在本地的缓存中进行。如果修改完成后,我们便通过commit()方法提交当前的事务(即此次操作)使其在数据库中生效,如果要撤销本次操作,则通过rollback()方法取消当前事务。
  • close()用来关闭当前的连接

Cursor对象:

Cursor最重要的方法是execute()fetch*(),其中execute用来执行sql语句,fetch用来查询结果:
fetch*方法其实类似于C语言的的文件操作,有一个指针指向当前的位置,fetchone()得到第一条结果,此时指针便会指向第二条结果,此时fetchall()便得到除了第一条以外的所有结果。

cursor = conn.cursor()       # 创建游标sql = "select * from user"cursor.execute(sql)          # 执行sql语句print cursor.rowcount        # 上一条sql语句处理或影响的行数rs = cursor.fetchone()       # fetchone为查询一条结果print rsrs = cursor.fetchmany(3)     # fetchmany(n) 为查询n条print rsrs = cursor.fetchall()       # fetchall 为查询剩余所有print rscursor.close()               # 关闭游标和连接conn.close()

此时灵活运用以上的两个对象,便可以对数据库进行各种操作。

conn = MySQLdb.connect(...)cursor = conn.cursor()#插入语句sql_insert = "insert into user(userid, username) values (10, 'name10')"  # 更新语句sql_update = "update user set username='name11' where userid=1"# 删除语句sql_delete = "delete from user where useid<3"try:    # 一组操作,同时进行,出错时取消所有操作    cursor.execute(sql_insert)    print cursor.rowcount    cursor.execute(sql_update)    print cursor.rowcount    cursor.execute(sql_delete)    print cursor.rowcount# 若有异常 输出异常 将事物取消except Exception as e:    print e    conn.rallback()# 提交事物, 使变化在数据库中生效conn.commit()cursor.close()conn.close()
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 廊坊武警学院取消现役学员怎么办 孩子去当兵联系不上怎么办 军训戴眼镜晒痕怎么办 想进部队体检没过怎么办 大腿跟小腿不直怎么办 腿被车门夹了怎么办 脚出汗穿凉鞋滑怎么办 玩游戏手出汗屏幕滑怎么办 新买的鞋子臭怎么办 当公民利益受到侵犯怎么办 唇钉里面长肉怎么办 宝宝舔了一口酒怎么办 头被玻璃门撞了怎么办 30多了还一事无成 未来怎么办 27岁失业了该怎么办 无业证明不给开怎么办 典型的缺乏运动的肥胖怎么办 30岁了不想结婚怎么办 专家解释欠30万怎么办 欠医院十几万钱怎么办 当你迷茫的时候怎么办 被骗了一年的积蓄怎么办 当兵身高视力都不够怎么办 当兵中途不想当了怎么办 当兵后不想当了怎么办 在泰国想剪头发怎么办 省二证书丢了怎么办 职称计算机级别报错怎么办 科一不会用电脑怎么办 西安科目三挂了怎么办 我有c照想考a照怎么办 叉车证单位不给怎么办 刚练科目三害怕怎么办 摩托科目一考不过怎么办 人老了视力不好怎么办 2岁宝宝视力不好怎么办 唱歌音总是唱不准怎么办 考级没地方练琴怎么办 少儿声乐唱不准音该怎么办 学历认证报告编号忘记了怎么办 自考挂科10门了怎么办