python:用pymysql库来访问mysql数据库
一,安装第三方库
1,安装
(venv) [root@blog subway]# pip3 install pymysql
2,查看所安装的pymysql的版本:
(venv) [root@blog subway]# pip3 show pymysql
Name: PyMySQL
Version: 1.1.1
Summary: Pure Python MySQL Driver
Home-page:
Author:
Author-email: Inada Naoki <songofacandy@gmail.com>, Yutaka Matsubara <yutaka.matsubara@gmail.com>
License: MIT License
Location: /web/python/subway/venv/lib/python3.12/site-packages
Requires:
Required-by:
二,代码:
1, 查询数据
import pymysql # 导入模块
#--------------------------------创建链接
conn = pymysql.connect(
host='127.0.0.1', # 本地回环地址
port=3306, # mysql固定端口号3306
user='user', # 用户名
password='password', # 密码
database='base', # 必须指定库
charset='utf8mb4' # 注意这里不可以写utf-8
)
# 生成一个游标对象(相当于cmd下的打开mysql的命令界面 mysql> )
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) # 括号内的命令是让数据自动组织成字典
#--------------------------------查询
# 定义sql语句
sql = 'select * from diss where dis_id<=10'
# 执行sql语句
cursor.execute(sql)
# 获取返回结果
res = cursor.fetchall()
# print(res)
# 遍历元组存值
for row in res:
dis_id = row['dis_id']
name = row['name']
# 打印结果
print("id:"+str(dis_id)+";name:"+name)
# 关闭不使用的游标对象
cursor.close()
# 关闭数据库连接
conn.close()
执行结果:
(venv) [root@blog subway]# python3 access_data.py
id:1;name:北京市
id:2;name:北京城区
id:3;name:怀柔区
id:4;name:杨宋镇
id:5;name:渤海镇
id:6;name:九渡河镇
id:7;name:汤河口镇
id:8;name:怀北镇
id:9;name:琉璃庙镇
id:10;name:宝山镇
2,插入数据
import pymysql # 导入模块
#--------------------------------创建链接
conn = pymysql.connect(
host='127.0.0.1', # 本地回环地址
port=3306, # mysql固定端口号3306
user='user', # 用户名
password='password', # 密码
database='base', # 必须指定库
charset='utf8mb4' # 注意这里不可以写utf-8
)
# 生成一个游标对象(相当于cmd下的打开mysql的命令界面 mysql> )
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) # 括号内的命令是让数据自动组织成字典
# 3 执行SQL语句
sql = "insert into line(`city_name`,`line_name`) values('北京','1号线')"
row_count = cursor.execute(sql)
print(f'受影响的行数:{row_count}')
# 4 操作结果集---提交事务
conn.commit()
# 关闭不使用的游标对象
cursor.close()
# 关闭数据库连接
conn.close()
三,查看当前python版本:
[lhdop@blog ~]$ /usr/local/soft/python3.12.4/bin/python3 --version
Python 3.12.4