找回密码
 会员注册
查看: 23|回复: 0

Python之PyMySQL模块

[复制链接]

2万

主题

0

回帖

7万

积分

超级版主

积分
71622
发表于 2024-9-6 15:37:24 | 显示全部楼层 |阅读模式
Python之PyMySQL模块目录Python之PyMySQL模块安装连接数据库`connect`拓展获取游标操作数据查找添加更新安装pipinstallpymysql1连接数据库使用connect函数创建连接对象此对象提供数据库的关闭、事务提交、事务回滚等操作示例:importpymysql#以下为必填参数conn=pymysql.connect(user='root', #用户名password='123456', #密码host='127.0.0.1', #服务器地址port=3306, #数据库端口database='emp' #要连接的数据库) 123456789connect拓展进入connect函数可以看到更多参数:def__init__(self,*,user=None, #用户名password="", #密码host=None, #连接地址database=None, #库名unix_socket=None, #如果使用Unix套接字连接到数据库,指定套接字文件的路径port=0, #数据库端口号charset="", #使用的字符集MySQL中一般是utf8mb4collation=None, #指定排序规则sql_mode=None, #连接使用的SQL模式read_default_file=None, #指定默认连接参数的配置文件路径conv=None, #自定义类型转换器use_unicode=True, #是否使用Unicode编码client_flag=0, #客户端标志位cursorclass=Cursor, #游标类,用于处理查询结果init_command=None, #建立连接后执行的初始命令connect_timeout=10, #连接超时时间read_default_group=None, #读取默认连接参数的组名autocommit=False, #是否自动提交事务local_infile=False, #是否允许本地加载数据文件max_allowed_packet=16*1024*1024, #允许的最大数据包大小defer_connect=False,#是否延迟连接auth_plugin_map=None, #指定认证插件映射read_timeout=None, #读取超时时间(秒)write_timeout=None, #写入超时时间(秒)bind_address=None, #绑定本地地址binary_prefix=False,#是否启用二进制前缀program_name=None, #程序名称server_public_key=None, #服务器公钥ssl=None, #是否使用SSL/TLS加密连接ssl_ca=None, #指定CA证书文件的路径ssl_cert=None, #指定客户端证书文件的路径ssl_disabled=None, #是否禁用SSLssl_key=None, #指定客户端私钥文件的路径ssl_verify_cert=None, #是否验证服务器证书ssl_verify_identity=None, #是否验证服务器身份compress=None,#不支持named_pipe=None,#不支持passwd=None, #已弃用 db=None, #已弃用)12345678910111213141516171819202122232425262728293031323334353637383940414243获取游标conn=pymysql.connect(user='root',#用户名password='7997',#密码host='127.0.0.1',#服务器地址port=3306,#数据库端口database='emp',#连接的数据库cursorclass=DictCursor#返回字典)cursor=conn.cursor()#获取游标12345678操作数据查找importpymysqlfrompymysql.cursorsimportDictCursorconn=pymysql.connect(user='root',#用户名password='7997',#密码host='127.0.0.1',#服务器地址port=3306,#数据库端口database='emp',#连接的数据库cursorclass=DictCursor#返回字典)cursor=conn.cursor()sql='select*fromemp5'cursor.execute(sql)res=cursor.fetchall()print(res)#返回一个由列表包裹的字典#输出:[{'id':1,'name':'张三','time':datetime.datetime(2024,1,25,15,24,19),'age':18,'wages':2000,'dep_id':203},{'id':2,'name':'倪哥','time':datetime.datetime(2024,1,25,15,34,11),'age':20,'wages':1000,'dep_id':201}]12345678910111213141516171819添加进行增删改时注意提交事务conn.commitimportpymysqlfrompymysql.cursorsimportDictCursorconn=pymysql.connect(user='root',#用户名password='7997',#密码host='127.0.0.1',#服务器地址port=3306,#数据库端口database='emp',#连接的数据库cursorclass=DictCursor#返回字典)cursor=conn.cursor()sql_insert='insertintoemp5(name)value(%s)'#元组形式传参cursor.execute(sql_insert,("嗨嗨嗨",))conn.commit() #提交事务12345678910111213141516sql_insert='insertintoemp5(name)value(%s)'#字典形式传参cursor.execute(sql_insert,{'emp_name':"员工二号"})conn.commit()1234添加成功~更新importpymysqlfrompymysql.cursorsimportDictCursor#以下为必填参数conn=pymysql.connect(user='root',#用户名password='7997',#密码host='127.0.0.1',#服务器地址port=3306,#数据库端口database='emp',#连接的数据库cursorclass=DictCursor#返回字典)cursor=conn.cursor()#列表形式传参sql_update='updateemp5setname=%swhereid=%s'cursor.execute(sql_update,['员工三号',11])conn.commit()1234567891011121314151617
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-10 05:43 , Processed in 0.415911 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表