python操作数据库

文章目录

基础使用

python使用第三方库pymysql来操作mysql数据库

安装:

python 复制代码
pip install pymysql
python 复制代码
from pymysql import Connection

# 获取到MySQL数据库的链接对象

conn = Connection(
    host='localhost'    # 主机名
    ,port=3306          # 端口,默认3306
    ,user='root'        # 账户名
    ,password='1234'  # 密码
)

# 打印MySQL数据库软件信息
print(conn.get_server_info())

# 关闭到数据库的链接
conn.close()

执行非查询性质的SQL语句

python 复制代码
# 获取游标对象
cursor = conn.cursor()
conn.select_db("test")
# 使用游标对象,执行sql语句
cursor.execute("CREATE TABLE test_pymysql(id INT, info VARCHAR(255))")

执行查询性质的SQL语句

python 复制代码
# 获取游标对象
cursor = conn.cursor()
conn.select_db("test")
# 使用游标对象,执行sql语句
cursor.execute("SELECT * FROM student")
# 获取查询结果
results: tuple = cursor.fetchall()
for r in results:
    print(r)

数据插入

python 复制代码
from pymysql import Connection

# 获取到MySQL数据库的链接对象

conn = Connection(
    host='localhost'    # 主机名
    ,port=3306          # 端口,默认3306
    ,user='root'        # 账户名
    ,password='1234'  # 密码
)

# 获取游标对象
cursor = conn.cursor()
conn.select_db("test")
# 使用游标对象,执行sql语句
cursor.execute("insert into test_pymysql values(4, '5')")

# 通过commit确认,只有确认才会提交到数据库
conn.commit()

# 关闭到数据库的链接
conn.close()

这样每次写完插入语句还需要再多写一行代码commit,其实有一种简单的方法设置自动提交

python 复制代码
conn = Connection(
    host='localhost'    # 主机名
    ,port=3306          # 端口,默认3306
    ,user='root'        # 账户名
    ,password='1234'	# 密码
	,autocommit=True	# 设置自动提交
)
相关推荐
ponponon22 分钟前
时代的眼泪,nameko 和 eventlet 停止维护后的项目自救,升级和替代之路
python
Flittly23 分钟前
【从零手写 ClaudeCode:learn-claude-code 项目实战笔记】(5)Skills (技能加载)
python·agent
敏编程36 分钟前
一天一个Python库:pyarrow - 大规模数据处理的利器
python
IvorySQL1 小时前
PostgreSQL 技术日报 (3月9日)|EXPLAIN ANALYZE 计时优化与复制语法讨论
数据库·postgresql·开源
Flittly2 小时前
【从零手写 ClaudeCode:learn-claude-code 项目实战笔记】(4)Subagents (子智能体)
python·agent
用户8307196840823 小时前
Java 告别繁琐数据统计代码!MySQL 8 窗口函数真香
java·sql·mysql
stark张宇4 小时前
MySQL 核心内幕:从索引原理、字段选型到日志机制与外键约束,一篇打通数据库任督二脉
数据库·mysql·架构
倔强的石头_4 小时前
融合数据库架构实践:关系型、JSON与全文检索的“一库多能”深度解析
数据库
星辰员7 小时前
KingbaseES数据库:ksql 命令行用户与权限全攻略,从创建到删除
数据库
明月_清风9 小时前
Python 装饰器前传:如果不懂“闭包”,你只是在复刻代码
后端·python