Python 连接mysql数据库进行读写操作

Python 中可以使用 PyMySQL 模块连接到 MySQL 数据库进行读写操作。

安装 PyMySQL :

pip install pymysql

连接到数据库

import pymysql

# 创建一个连接实例
db = pymysql.connect(host='localhost',
                     user='user', 
                     password='password', 
                     database='database_name')

执行 SQL 查询

cursor = db.cursor()

# SQL 查询语句
sql = "SELECT * FROM EMPLOYEE WHERE AGE >= '%d'" % (20)

try:
   # 执行 SQL 语句
   cursor.execute(sql)
   
   # 获取所有记录列表
   results = cursor.fetchall()
   
   for row in results:
      fname = row[0]
      lname = row[1]
      age = row[2]
      
      print("fname=%s,lname=%s,age=%d" % \
             (fname, lname, age))
except:
    print("Error: unable to fetch data")

执行插入操作

cursor = db.cursor()

# SQL 插入语句
sql = """INSERT INTO EMPLOYEE(FIRST_NAME,
         LAST_NAME, AGE, SEX, INCOME)
         VALUES ('Mac', 'Mohan', 20, 'M', 2000)"""

try:
   # 执行 sql 语句
   cursor.execute(sql)
   
   # 提交到数据库执行
   db.commit()
except:
    # 如果发生错误则回滚
    db.rollback()

关闭数据库连接

db.close()

封装函数实例


import pymysql


#读数据库
def rmysql(v_sql):
    db = pymysql.connect(host='xx.xx.xx',user='root',password='xxxxx',database='xxxx',autocommit=True)
    # 使用 cursor() 方法创建一个游标对象 cursor
    cursor = db.cursor()
# 使用 execute()  方法执行 SQL 查询 
    cursor.execute(v_sql)
# # 使用 fetchone() 方法获取单条数据.
    result=cursor.fetchall()#所有结果
    return result
# 关闭数据库连接
    db.close()


#写入数据库
def wmysql(v_sql):
    db = pymysql.connect(host='xxx.xxx.xx',user='root',password='xxxx',database='xx',autocommit=True)
    # 使用 cursor() 方法创建一个游标对象 cursor
    cursor = db.cursor()
# 使用 execute()  方法执行 SQL 查询 
    cursor.execute(v_sql)
# # 使用 fetchone() 方法获取单条数据.
#     data = cursor.fetchone()
#     return data
# 关闭数据库连接
    db.close()

#调用函数

asql=''' select * from xxxx ; '''

msa=rmysql(v_sql=asql)

for i in range(len(msa)) :
     print(message=msa[i][0])

isql =''' insert into tb_xxx (id,name) values ('xxx','xxx'); '''

wmysql(v_sql=isql)


你可能感兴趣的:(Python,数据库,python,mysql)