python连接和操作mysql数据库
1.python中mysql的使用
1.1.安装第三方库
python内置一系列模块,扩展python的功能:
- 发送邮件
- 发送http请求
- 启动浏览器
- 数据加密
- 函数增强
非python官方提供的模块,称之为第三方库,一般托管到PyPI https://pypi.org
a.配置PyPI的国内镜像:
3.10.X+版本直接使用:
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple
mysql版本:
- myql-connect-python:mysql官方维护
- pymysql:社区维护,纯Python
- mysqlclient:社区维护,纯C,高性能,用于线上环境
使用第三方库:
安装:
- pip install pymysql
- pip install pymysql=1.0.2
卸载:pip uninstall pymysql
更新:pip install pymysql -U
第三方库列表:pip list
pip第三方库管理工具:安装,卸载,更新
1.2 使用mysql
1.连接数据库
数据库连接信息:
- IP地址
- 端口
- 账号、密码
- 数据库名称
- 其他:字符集
2.创建会话
会话意义:当A会话修改数据的时候,会上锁,会话B自动隔离
3.执行sql
if __name__ =='__main__' (没有被任何模块导入的时候,才会执行)
- __main__:没有被任何模块导入
- 模块名:被其他模块导入
import pymysql class DBServer: def __init__(self,*args,**kwargs): self.db=pymysql.connect(*args, **kwargs) self.c = self.db.cursor() # 创建新的会话 def execute_sql(self,sql): self.c.execute(sql) #执行sql命令 #res=c.fetchone() #返回单行数据 res=self.c.fetchall() #返回多行数据 return res if __name__ == '__main__': #没有被任何模块导入的时候,才会执行 db=DBServer( host="127.0.0.1", port=3306, user="root", password="123456", database="mydb" ) res=db.execute_sql("select * from user") for i in res: print(i)