当前位置: 首页 > news >正文

【14.3 python中的MySQL】

python中的MySQL


在Python中,与MySQL数据库交互通常依赖于第三方库,最流行的是mysql-connector-pythonPyMySQL。这些库提供了Python与MySQL数据库通信的接口,允许你执行SQL语句、处理查询结果、管理数据库等。以下是一个关于如何在Python中使用mysql-connector-python来操作MySQL数据库的完整示例,包括下载和安装、连接数据库、创建数据表以及操作MySQL数据表。

1. 下载和安装mysql-connector-python

你可以通过pip命令来安装mysql-connector-python。在命令行中运行以下命令:

pip install mysql-connector-python

2. 连接MySQL数据库

在Python脚本中,你首先需要导入mysql.connector模块,并使用它提供的connect()函数来连接到MySQL数据库。

import mysql.connector# 连接数据库
config = {'user': 'your_username',  # 替换为你的MySQL用户名'password': 'your_password',  # 替换为你的MySQL密码'host': '127.0.0.1',  # 数据库主机地址,这里使用本地地址'database': 'your_database',  # 替换为你的数据库名'raise_on_warnings': True,
}cnx = mysql.connector.connect(**config)
cursor = cnx.cursor()

3. 创建数据表

在成功连接到数据库后,你可以使用SQL语句来创建数据表。以下是一个创建用户信息表的例子:

create_table_query = """
CREATE TABLE IF NOT EXISTS users (id INT AUTO_INCREMENT PRIMARY KEY,username VARCHAR(255) NOT NULL,email VARCHAR(255),created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)
"""cursor.execute(create_table_query)
cnx.commit()

4. 操作MySQL数据表

一旦数据表被创建,你就可以使用INSERT、UPDATE、DELETE和SELECT等SQL语句来操作数据了。

插入数据
insert_query = """
INSERT INTO users (username, email) VALUES (%s, %s)
"""
val = ("john_doe", "john.doe@example.com")
cursor.execute(insert_query, val)
cnx.commit()
查询数据
select_query = "SELECT * FROM users"
cursor.execute(select_query)for (id, username, email, created_at) in cursor:print(f"ID: {id}, Username: {username}, Email: {email}, Created At: {created_at}")
更新数据
update_query = """
UPDATE users SET email = %s WHERE username = %s
"""
val = ("john.newemail@example.com", "john_doe")
cursor.execute(update_query, val)
cnx.commit()
删除数据
delete_query = "DELETE FROM users WHERE username = %s"
val = ("john_doe",)
cursor.execute(delete_query, val)
cnx.commit()

5. 关闭连接

操作完成后,别忘了关闭游标和连接以释放资源。

cursor.close()
cnx.close()

以上就是使用mysql-connector-python在Python中操作MySQL数据库的一个基本示例。这包括了如何安装库、连接到数据库、创建数据表以及进行数据的增删改查操作。请根据你的实际情况(如数据库用户名、密码、主机地址和数据库名)调整代码中的相应配置。


http://www.mrgr.cn/news/12373.html

相关文章:

  • 做项目过程中问题小汇总 | vue3 elementplus js
  • 大数据-104 Spark Streaming Kafka Offset Scala实现Redis管理Offset并更新
  • 随着低空经济的爆火,飞行汽车有什么亮点
  • vue+uni-app案例
  • Xcode插件开发
  • 告别手动记录,音频转文字软件助力会议记录新高度
  • 猫咪浮毛如何清理?希喂、安德迈、范罗士宠物空气净化器功能实测
  • 编程与成长:如何在日常工作与自我提升间找到平衡
  • 运维怎么转行网络安全?零基础入门到精通,收藏这一篇就够了
  • python 腾讯会议录屏文件转化为MP4
  • 二十五、go语言的通道
  • django orm的Q和~Q的数据相加并不一定等于总数
  • 一款MySQL数据库实时增量同步工具,能够监听MySQL二进制日志(Binlog)的变动(附源码)
  • 图片去噪及边缘检测
  • 8月27日笔记
  • ubuntu64位配置兼容32位程序手册
  • 基于STM32开发的智能家居语音控制系统
  • 创建索引对象pandas.Index()
  • SpringBoot调用通义千问
  • 谷歌浏览器与edge哪个好用