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()
复制代码
posted @   hjhsysu  阅读(398)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示