更新时间: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')

相关文档