python--连接数据库pymysql

时间:2019-03-19
本文章向大家介绍python--连接数据库pymysql,主要包括python--连接数据库pymysql使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

PyMySQL简介:

PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。

Django中也可以使用PyMySQL连接MySQL数据库。

PyMySQL 安装:

pip install pymysql

连接数据库:

  • 你有一个MySQL数据库,并且已经启动。
  • 你有可以连接该数据库的用户名和密码
  • 你有一个有权限操作的database
"""
连接数据库进行数据操作
"""
import pymysql

# 打开数据库连接
db = pymysql.connect(host="你的数据库地址",
                     port=3306,
                     user="用户名",
                     passwd="密码",
                     db="数据库名",
                     charset="utf8")

# 查询操作
# 使用cursor()方法创建一个游标对象cur
cur = db.cursor()
# 使用execute()方法执行SQL查询
sql_add = "select * from orders where type=2"
cur.execute(sql_add)
# 使用fetchall()方法获取查询结果
data = cur.fetchall()
print(data)
# 关闭数据库连接
db.close()
# 元祖取值
print(data[0])
print(data[0][1])
# 数据大时单独取出对应的值
for i in data:
    if "2651" in i:
        print(i[1])

# 删除操作
# 使用cursor()方法创建一个游标对象cur
cur = db.cursor()
# 使用execute()方法执行SQL增删改查操作
sql_delete = "delete from orders  where type=2 limit 1"
cur.execute(sql_delete)
# 删除数据或者修改数据时一定使用db.commit()提交
db.commit()
db.close()


# 删除功能后下次跑自动化代码没有数据报错,解决办法
# 得到一个可以执行SQL语句的光标对象
cursor = db.cursor()

# 方法一:
# 修改数据的SQL语句
sql = "UPDATE USER1 SET age=%s WHERE name=%s;"
username = "Alex"
age = 80
try:
    # 执行SQL语句
    cursor.execute(sql, [age, username])
    # 提交事务
    db.commit()
except Exception as e:
    # 有异常,回滚事务
    db.rollback()
cursor.close()
db.close()

# 方法二:
def insert_db(sql_insert):
    # 使用cursor()方法创建一个游标对象cur
    cur = db.cursor()
    # 判断数据是否存在
    try:
        cur.execute(sql_insert)
        # 提交
        db.commit()
    except Exception as e:
        print("错误信息:%s" % str(e))
        # 错误回滚
        db.rollback()
    finally:
        db.close()
if __name__ == '__main__':
    sql_add = "insert student(id,name,age) values (10022,'张三',20)"
    insert_db(sql_add)