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)
浙公网安备 33010602011771号