1、在anaconda中新创建pymysql环境
conda create -n pymysql python=3.12

2、安装pymysql第三方库

成功

3、创建learn_pymysql项目

4、编写代码连接本地数据库

代码
from pymysql import Connection
conn=Connection(
host='localhost',
port=3306,
user='root',
password='zzlb486591...'
)
print(conn.get_server_info())
conn.close()
运行报错
raise RuntimeError(
RuntimeError: 'cryptography' package is required for sha256_password or caching_sha2_password auth methods
搜索说是需要 pip install cryptography

再次运行

5、编写代码执行DDL

代码
# get cursor
cursor=conn.cursor()
# select db
conn.select_db("test_transaction")
# execute sql
cursor.execute("create table test(id int,info varchar(255));")
成功

不写分号也没问题

6、编写代码

代码
# execute query_sql
cursor.execute("select * from account")
results:tuple=cursor.fetchall()
for r in results:
print(r)
运行结果

和数据库一样

7、编写代码插入数据
代码
# execute insert_sql
cursor.execute("insert into test values(1,'a')")
conn.commit()
运行结果

每次都需要commit太麻烦了,可以在建立连接时自动提交
