Python操作数据库知识

一、安装 pymysql 模块 

pip install pymysql # python 3.x 

二、利用pymysql操作mysql

# 导入模块
import pymysql

# 连接数据库
conn = pymysql.connect(host='127.0.0.1',post=3306,user='root',passwd='root',db='数据库名')

# 获取到数据库的指针
cursor = conn.cursor()

# 改变返回数据的类型(可以改为字典、列表等)
cursor = conn.cursor(cursor = pymysql.cursors.DictCursor)


sql = '需要执行的 SQL 语句'

# 执行sql语句,向数据库添加信息 返回对数据库的影响行数
ret = cursor.execute(sql)

# 获取数据库内容(跟指针的位置相关)
content = cursor.fetchone() # 获取一条内容
content = cursor.fetchall()  # 获取所有的内容
content = cursor.fetchmany(3) # 获取指定数值的内容

# 改变指针的位置(负数向上,正数向下)
cursor.scroll(-1,mode='relative') # 相对当前的位置移动
cursor.scroll(2,mode='absolute') # 相对绝对的位置移动

# 将要执行的 SQL 语句提交到数据库

conn.commit()

''' 关闭 '''
cursor.close()
conn.close()

三、pymysql 中对数据库的事务操作

import pymysql

conn = pymysql.connect(host='127.0.0.1',port=3306,user='root',passwd='root',db='数据库')

cursor = conn.cursor()

try:

    insertSQL0 = 'INSERT INTO ACCOUNT2 (name,balance) VALUES ("oldboy",4000),("oldboy2",10000)'
    insertSQL1 = 'UPDATE account2 SET balance=balance-30 WHERE name="yuan"'
    insertSQL2 = 'UPDATE account2 SET balance=balance+30 WHERE name="xiaolv"'
    
    cursor.execute(insertSQL0)
    conn.commit()

    cursor.execute(insertSQL1)
    raise Exception # 如果SQL语句执行失败,获取到错误
    cursor.execute(insertSQL2)

    cursor.close()
    conn.commit()

except Exception as e:

    conn.rollback() # 出现错误回滚到前一个 commit 处
    conn.commit()

猜你喜欢

转载自blog.csdn.net/u011146423/article/details/82852453