最近在用Python, 尝试了一下用py操控MySQL,以下的Python代码,基本上每行都有注释,说一下为什么需要用Python连接Mysql:比如用Python从网络上获取了数据后,需要写入到数据库, 那么就需要用到python写代码将数据插入到Mysql中去,到后面,数据获取完毕,还可以用Python发送邮件,告知某人获取到的数据行数, 什么时间点获取的等等信息,当然还有很多其他的情况都可以用到。

Python Version:3.7.0

Mysql Verion: 8.0.12

Python连接Mysql模组:pymysql

在MySQL生成的表:

Python代码:

#### 第一次连接MYSQL

# 引入pymysql

import pymysql

# 定义与mysql的连接参数(主机/端口/用户名/密码/数据库名称/字符串)

connect = pymysql.connect(host = 'localhost', port = 3306, user = 'root',

password = 'root', db = 'pa', charset = 'utf8mb4')

# 生成游标对象

cur = connect.cursor()

print(cur)

# - 获取光标成功,接下对mysql进行操作

# Start to create a table in db pa

try:

create_table_sql = 'create table if not exists pa.py01( id int , name varchar(100));'

# 执行SQL语句

cur.execute(create_table_sql)

except Exception as e:

print("建表失败:" + e + "!!!")

else:

print("建表成功~")

# start to insert data to table

try:

insert_data_sql = 'insert into pa.py01 values(1,"张三"),(2,"ls"),(3,"王五");'

cur.execute(insert_data_sql)

except Exception as e:

print("插入数据 失败:" + e + "!!!")

else:

print("插入数据 成功~")

# 如果插入数据的SQL执行成功, 那么直接提交数据,如果不提交,数据是看不到的

connect.commit()

print("提交数据 成功~")

print("n")

try:

select_data_sql = 'select * from pa.py01 limit 0,10;'

cur.execute(select_data_sql)

except Exception as e:

print("查询数据 失败:" + e + "!!!")

print("n")

else:

# 通过fetchall方法获得全部数据

data = cur.fetchall()

for i in data:

print(i)

print("n")

print("查询数据 成功")

cur.close()

connect.close()

print("关闭光标和数据库连接 成功~"


(职场责编:拓荒牛 )
2025年07月03日 11:40[查看原文]