python3操作MySQL数据库
安装PyMySQL
下载地址:https://pypi.python.org/pypi/PyMySQL
1.把操作Mysql数据库封装成类,数据库和表先建好
import pymysql.cursors
# ======== Setting linked test databases ===========
host = '192.168.17.123'
user = 'root'
password = '123456'
db='polls'
# ======== MySql base operating ===================
class MySQLOperating():
def __init__(self):
try:
# Connect to the database
self.connection = pymysql.connect(host = host,
user = user,
password = password,
db = db,
charset = 'utf8mb4',
cursorclass = pymysql.cursors.DictCursor)
except pymysql.err.OperationalError as e:
print("Mysql Error %d: %s" %(e.args[0], e.args[1]))
# clear table data
def clear(self, table_name):
real_sql = "delete from " + table_name + ";"
with self.connection.cursor() as cursor:
cursor.execute("SET FOREIGN_KEY_CHECKS = 0;")
cursor.execute(real_sql)
self.connection.commit()
def insert(self, table_name, data):
for key in data:
data[key] = "'" + str(data[key]) + "'"
key = ','.join(data.keys())
value = ','.join(data.values())
real_sql = "INSERT INTO " + table_name + " (" + key + ") VALUES (" + value +")"
with self.connection.cursor() as cursor:
cursor.execute(real_sql)
self.connection.commit()
# close database
def close(self):
self.connection.close()
if __name__ == '__main__':
db = MySQLOperating()
table_name = "poll_question"
data = {'id':1, 'question_text':'you buy pro6?'}
db.clear(table_name)
db.insert(table_name, data)
db.close()
2.插入数据
import sys
import MySQLOperating
# Inster table datas
def insert_data(table, datas):
db = MySQLOperating()
db.clear(table)
for data in datas:
db.insert(table, data)
db.close()
#Create data
table_poll_question = "polls_question"
datas_poll_question =[ {'id': 1, 'question_text': 'you buy pro6?', 'pub_date':'2016-07-23 09:58:56.000000'}]
table_poll_choice = "polls_choice"
datas_poll_choice =[{'id': 1, 'choice_text': 'buy', 'votes': 0, 'question_id': 1},
{'id': 2, 'choice_text': 'not buy', 'votes': 0, 'question_id': 1},]
# init data
def init_data():
insert_data(table_poll_question, datas_poll_question)
insert_data(table_poll_choice, datas_poll_choice)
if __name__ == '__main__':
init_data()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!