python 连接MySQL数据库,实现增删改查

2022-11-01  本文已影响0人  小黄不头秃

python 如何连接MySQL数据库

在连接数据库之前,我们需要使用到一个模块pymysql,使用pip命令安装该库:
pip install pymysql

还需要开启MySQL服务,在命令行中输入:net start mysql 即可
如果报错,有两种可能:

  1. mysql没有加入环境变量,加入环境变量再执行下一步即可
  2. MySQL不在服务列表中,在管理员模式下的命令行中输入mysqld -install

下面主要实现更删改查:
这个库主要使用SQL命令对数据库进行操作,具体代码如下所示。

import pymysql 

# (1)连接数据库
connect = pymysql.connect(
    host='localhost',
    user='root',
    passwd="",
    charset="utf8",
    autocommit=True# 这里不设置会出现无法插入值的奇怪bug
)

cur = connect.cursor() # 创建游标,用于读取数据

if connect:
    print("数据库连接成功!")

# (2)创建数据库
create_db = "CREATE DATABASE IF NOT EXISTS `pdf_info`;"
try:
    cur.execute(create_db)
    cur.execute("use pdf_info") # 选择数据库
except Exception as e:
    print("数据库创建失败:",e)
else:
    print("数据库创建成功!")

# (3)创建数据表
create_table = "CREATE TABLE IF NOT EXISTS info (t1 VARCHAR(100),pro_name VARCHAR(100), code VARCHAR(100), num VARCHAR(100),date VARCHAR(100),year VARCHAR(100),month VARCHAR(100),day VARCHAR(100), client_name VARCHAR(100),client_itin VARCHAR(100), seller_name VARCHAR(100),seller_itin VARCHAR(100), car_num VARCHAR(100),car_type VARCHAR(100),total_price VARCHAR(100),price VARCHAR(100),tax_rate VARCHAR(100),tax_price VARCHAR(100),dir VARCHAR(200),path VARCHAR(200),file VARCHAR(200))"
try:
    cur.execute(create_table)
except Exception as e:
    print("数据表创建失败:",e)
else:
    print("数据表创建成功!")

# (4)插入数据
pdfs = []
try:
    for file in pdfs:
        insert_data = "INSERT INTO `info` VALUES('"+file["t1"]+"','"+file["pro_name"]+"','"+file["code"]+"','"+file["num"]+"','"+file["date"]+"','"+file["year"]+"','"+file["month"]+"','"+file["day"]+"','"+file["client_name"]+"','"+file["client_itin"]+"','"+file["seller_name"]+"','"+file["seller_itin"]+"','"+file["car_num"]+"','"+file["car_type"]+"','"+file["total_price"]+"','"+file["price"]+"','"+file["tax_rate"]+"','"+file["tax_price"]+"','"+file["dir"]+"','"+file["path"]+"','"+file["file"]+"');"
        cur.execute(insert_data)
except Exception as e:
    print("数据信息插入失败:",e)
else:
    print("信息插入成功!")

# (5)查询数据
try:
    query_info = "select * from info;"
    cur.execute(query_info)
    res = cur.fetchall()
except Exception as e:
    print("数据表创建失败:",e)
else:
    print("数据如下:")
    for i in res: print(i)

# (6)关闭数据库连接
cur.close()
connect.close()
上一篇下一篇

猜你喜欢

热点阅读