请自行构建一个Mysql容器并将Python开发数据保存到此数据库 用户名数据库名不限制
下面是一个完整的示例,展示如何构建一个 MySQL 容器,并使用 Python 脚本将数据保存到数据库中。
1. 启动 MySQL Docker 容器
首先,确保 Docker 已经安装。然后打开终端或命令提示符,运行以下命令来拉取 MySQL Docker 镜像并启动容器:
docker pull mysql:latest
docker run --name my-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -e MYSQL_DATABASE=mydb -p 3306:3306 -d mysql:latest
2. 安装 Python MySQL 客户端
确保 Python 已安装,然后使用 pip 安装 mysql-connector-python:
yum install pip
pip install mysql-connector-python
3. 编写 Python 脚本保存数据
编写一个名为 save_data.py 的 Python 脚本,该脚本连接到 MySQL 容器并将数据保存到数据库中。
import mysql.connector
from mysql.connector import errorcode
# 配置数据库连接
config = {
'user': 'root',
'password': 'my-secret-pw',
'host': '127.0.0.1',
'port': 3306,
'database': 'mydb',
'raise_on_warnings': True
}
# 数据要插入
data_to_insert = [
('example_name1', 'example_value1'),
('example_name2', 'example_value2')
]
# 创建连接
try:
cnx = mysql.connector.connect(**config)
cursor = cnx.cursor()
# 创建表(如果不存在)
create_table_query = (
"CREATE TABLE IF NOT EXISTS data ("
" id INT AUTO_INCREMENT PRIMARY KEY,"
" name VARCHAR(255) NOT NULL,"
" value VARCHAR(255) NOT NULL"
") ENGINE=InnoDB")
cursor.execute(create_table_query)
# 插入数据
insert_data_query = "INSERT INTO data (name, value) VALUES (%s, %s)"
cursor.executemany(insert_data_query, data_to_insert)
# 提交事务
cnx.commit()
# 查询数据
cursor.execute("SELECT * FROM data")
for (id, name, value) in cursor:
print(f"ID: {id}, Name: {name}, Value: {value}")
except mysql.connector.Error as err:
if err.errno == errorcode.ER_ACCESS_DENIED_ERROR:
print("用户名或密码错误")
elif err.errno == errorcode.ER_BAD_DB_ERROR:
print("数据库不存在")
else:
print(err)
else:
cursor.close()
cnx.close()
4. 运行 Python 脚本
确保 MySQL 容器正在运行,然后在终端中运行 Python 脚本:
python save_data.py
5. 验证数据保存成功
脚本运行后,你应该能够看到插入的数据打印到终端中。如果需要进一步验证,可以进入 MySQL 容器并手动查询数据:
docker exec -it my-mysql mysql -uroot -pmy-secret-pw mydb
在 MySQL 提示符中,运行以下命令:
SELECT * FROM data;

这将显示数据库中的数据,验证数据已成功插入。
通过以上步骤,你可以成功构建 MySQL 容器,并使用 Python 脚本将数据保存到 MySQL 数据库中。
请自行构建一个Mysql容器并将Python开发数据保存到此数据库 用户名数据库名不限制的更多相关文章
- 不借助vue-cli,自行构建一个vue项目
前言: 对于刚刚接触vue的同学来说,直接用官方的构建工具vue-cli来生成一个项目结构会存在一些疑惑,比如: .vue组件 为什么可以写成三段式(tempalte.script.style)? ...
- MySQL实验准备(二)--Python模拟数据(MySQL数据库)
Python模拟数据(MySQL数据库) 数据模拟 目的:模拟多个表的插入和查询数据的模拟,再通过基准测试脚本测试服务器性能和收集数据,仿真模拟. 备注: 如果需要基础的python环境,可以查看&l ...
- Docker-创建一个mysql容器,并保存为本地镜像
查找docker hub上的镜像 [root@wls12c ~]$ docker search mysql NAME DESCRIPTION STARS OFFICIAL AUTOMATED mysq ...
- 在sublimetext上打造一个兼容virtualenv的web&python开发环境
利用Sublimetext3&virtualenv 打造一个Web&Python IDE 注: 环境:window|python3;以下使用的sublimetext插件均用packag ...
- Tesseract 4 自行构建支持双引擎的tessdata 文件
Tesseract 4 版本具备两种识别引擎:新的基于LSTM(神经网络)引擎与传统引擎.通过在初始化时设定不同的EngineMode启动. OCR Engine modes: 0 Legacy en ...
- docker:从 tomcat 容器连接到 mysql 容器
docker 中的容器互联是一个较为复杂的话题,详细内容将在后续章节中介绍. 续前 2 个章节的内容,我们创建了一个 mysql 容器和一个 tomcat 容器,可以使用 「docker ps」来查看 ...
- Java开源博客My-Blog之mysql容器重复初始化的严重bug修复过程
写在前面的话 <Docker+SpringBoot+Mybatis+thymeleaf的Java博客系统开源啦> <Java开源博客My-Blog之docker容器组件化修改> ...
- Docker创建MySQL容器环境两部曲
1:下载MySQL镜像 需要执行以下命令,确保主机或者VM联网,从官网下载mysql的最新镜像(镜像版本以官网为主) docker pull mysql 下载成功后执行 docker image ...
- docker部署多个mysql容器,并使用java连接
测试springboot多个数据源配置时,需要安装多个mysql容器,由于资源限制,当前只有一台虚拟机,如果在一台机器上安装多个mysql实例,是可以的,但步骤比较繁琐,使用docker来安装MySQ ...
- Golang如何快速构建一个CLI小工示例
这篇文章主要为大家介绍了Golang如何快速构建一个CLI小工具详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪 如何Golang快速构建一个CLI小工具 在现实开发的 ...
随机推荐
- shell语言入门
前言 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁,是linux内置的一款软件. 通过编写Shell的脚本,可以更好的使用linux系统(比如.安装卸载软件.增删改查文件 ...
- vim 快速在一行的前面加上# // 之类的东西
首先切换到大写的模式 然后ctrl + v 选中自己想注释的行.上下方向键盘 然后 按i 然后输入自己想要的 东西 然后esc 就输入了
- curl error: Problem with the SSL CA cert (path access rights?) 的解决方法
github上的解决方案 https://github.com/archlinuxfr/yaourt/issues/287 curl_easy_perform()返回值说明 在移植别人的sdk的时候发 ...
- java 各个文件夹的含义
简介 java 后端项目常常会使用 类似dao, service, 之类的文件夹, 这些文件夹之间是如何协作的呢?? SpringMVC的层: DAO, Service, Controller, Vi ...
- 90%的C#程序员都不知道的冷门语法,第5个简直神了!
大家好,我是.NET修仙日记的掌门人.作为深耕C#多年的老司机,今天要给大家分享几个藏在Visual Studio角落里的语法瑰宝.这些语法不仅能让你的代码更简洁高效,还能在Code Review时让 ...
- Debian安装数据库
Debian安装数据库 本来用的MySQL,但是安装MySQL很麻烦,MariaDB作为MySQL的替代品可以直接使用以前用MySQL的方式使用 参考链接: 如何在 Debian 10 上安装 Mar ...
- 谷歌推出基于Gemini 2.0的机器人AI模型
Gemini Robotics将AI带入物理世界 谷歌DeepMind正式推出基于Gemini 2.0的两款机器人AI模型: Gemini Robotics:先进的视觉-语言-动作(VLA)模型,新增 ...
- MyEMS 开源能源管理系统:赋能双碳目标的能源数字化基础设施
一.系统核心价值与技术基底 MyEMS 作为行业标杆级开源能源管理系统,依托 Python 语言构建的高可扩展性技术框架,实现了能源管理全流程的数字化覆盖.其核心能力涵盖工厂.商业建筑.大型商场.数 ...
- 你是如何确定随机 TTL 的取值范围的?不同业务场景下,这个范围会有怎样的变化?
确定随机 TTL 的取值范围的 1.基于业务数据的更新频率 首先要分析业务数据的更新特性.如果数据更新较为频繁,那么 TTL 的取值范围应该相对较小.例如,股票价格数据,其价格可能每分钟甚至每秒都在变 ...
- 汽车之家联合HarmonyOS SDK,深度构建鸿蒙生态体系
汽车之家作为一家领先的汽车互联网公司,致力于打造服务全球的汽车生态科技平台,覆盖"看选买用换"的一站式购车体验.2023年12月底,汽车之家正式启动鸿蒙开发,并于2024年年底成功 ...