更新时间:2025-09-12 GMT+08:00
示例:常用操作
import pymysql
# 创建连接对象(非SSL连接),客户端和服务端的字符集需保持一致,否则会报错。
conn=pymysql.connect(database="database",user="user",password="********",host="localhost",port=port,charset="utf8")
# 创建连接对象(SSl连接),客户端和服务端的字符集需保持一致,否则会报错。
conn=pymysql.connect(database="database_name",
user="user",
password="********",
host="IP_address",
port=port,
ssl_disabled=False,
ssl_ca="file1",
ssl_key="file2",
ssl_cert="file3"
)
# 注意:用户使用SSL远程连接到数据库节点时需要使用sha256的认证方式,并需要使用有效的CA根证书、服务器公私钥、客户端公私钥。
cur=conn.cursor() # 创建指针对象
conn.set_character_set('utf8', collation=None) # 设置字符集。客户端和服务端的字符集需保持一致,否则会报错。
# 开启事务
conn.begin()
# 创建表
cur.execute("CREATE TABLE student(id integer,name varchar(256),gender varchar(256));")
# 插入数据
cur.execute("INSERT INTO student(id,name,gender) VALUES(%s,%s,%s);",(1,'Aspirin','M'))
cur.execute("INSERT INTO student(id,name,gender) VALUES(%s,%s,%s);",(2,'Taxol','F'))
cur.execute("INSERT INTO student(id,name,gender) VALUES(%s,%s,%s);",(3,'Dixheral','M'))
# 批量插入数据
stus = ((4,'John','M'),(5,'Alice','F'),(6,'Peter','M'))
cur.executemany("INSERT INTO student(id,name,gender) VALUES(%s,%s,%s);",stus)
# 获取结果
cur.execute("SELECT * FROM student;")
results=cur.fetchall()
print(results)
cur.execute("SELECT * FROM student;")
results=cur.fetchmany()
print(results)
# 提交操作
conn.commit()
# 插入一条数据
cur.execute("INSERT INTO student(id,name,gender) VALUES(%s,%s,%s);",(7,'Lucy','F'))
# 回退操作
conn.rollback()
conn.select_db(dbname)
# 尝试重连
conn.ping()
# 关闭连接
cur.close()
conn.close()
# pymysql常用连接方式
# 常用RSA连接方式
conn = pymysql.connect(dbname="dbname", user="user", password="********", host="localhost", port=port)
# 常用SSL连接方式
conn = pymysql.connect(dbname="dbname", user="user", password="********", host="localhost", port=port,'ssl_disabled':False,'ssl_ca': './ca.pem','ssl_key': './client-key.pem','ssl_cert': './client-cert.pem')
父主题: 基于pymysql开发