zoukankan      html  css  js  c++  java
  • Python3

    本文我们为大家介绍 Python3 使用 PyMySQL 连接数据库,并实现简单的增删改查。

    什么是 PyMySQL?

    PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。

    PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。

    PyMySQL 安装

    在使用 PyMySQL 之前,我们需要确保 PyMySQL 已安装。

    PyMySQL 下载地址:https://github.com/PyMySQL/PyMySQL。

    如果还未安装,我们可以使用以下命令安装最新版的 PyMySQL:

    $ pip install PyMySQL

    如果你的系统不支持 pip 命令,可以使用以下方式安装:

    1、使用 git 命令下载安装包安装(你也可以手动下载):

    $ git clone https://github.com/PyMySQL/PyMySQL
    $ cd PyMySQL/
    $ python3 setup.py install

    2、数据库操作实例,直接上代码。

    import pymysql
    import datainfo
    import time
    
    #获取参数
    
    host = datainfo.host
    username = datainfo.username
    password = datainfo.password
    database = datainfo.db
    
    print()
    
    #测试数据库连接
    def testconnect():
    
        #打开数据库链接 按照如下 顺序写,端口和字符 根据需要填写,端口默认为3306
        # db = pymysql.connect(self.host,self.username,self.password,self.database,[self.port,charset='utf8'])
    
        db = pymysql.connect(host,username,password,database)
    
        #使用cursor() 方法创建一个游标对象 cursor
    
        cursor = db.cursor()
    
        #使用execute()方法执行SQL查询
    
        cursor.execute("select version()")
    
        #使用fetchone ()获取单条数据
    
        data = cursor.fetchone()
    
        print(data)
    
        db.close()
    
    #插入数据库
    def InsertDate():
        #打开数据库链接
    
        db = pymysql.connect(host,username,password,database,charset='utf8')
    
        #使用cursor() 方法创建一个游标对象 cursor
    
        cursor = db.cursor()
    
        create_time = time.strftime('%Y-%m-%d %H:%M:%S')
        update_time = time.strftime('%Y-%m-%d %H:%M:%S')
        start_time = time.strftime('%Y-%m-%d %H:%M:%S')
        end_time = time.strftime('%Y-%m-%d %H:%M:%S')
        remark = "测试插入信息"
        print("开始")
        #Sql 插入语句
        sql = "insert into demo(start_time,end_time,creat_time,update_time,remark) " 
              "VALUES ('%s','%s','%s','%s','%s')"
              %(start_time,end_time,create_time,update_time,remark)
        try:
            #执行sql
            print("执行插入")
            tt = cursor.execute(sql)
            print(tt)
            db.commit()
        except UnicodeEncodeError as e :
            #发生错误时回滚
            print(e)
            db.rollback()
        db.close()
    
    
    #查询操作
    def selectData():
        db = pymysql.connect(host, username, password, database, charset='utf8')
    
        # 使用cursor() 方法创建一个游标对象 cursor
    
        cursor = db.cursor()
    
        sql = "select * from demo where id >='%d'" %(1)
        try:
            #执行sql
            print("执行查询")
            cursor.execute(sql)
            results = cursor.fetchall()
            for row in results:
                id = row[0]
                start_time = row[1]
                end_time = row[2]
                create_time = row[3]
                update_time = row[4]
                remark = row[5]
                #打印结果
                print("id = %d,start_time=%s,end_time=%s,create_time=%s,update_time=%s,remark=%s" %(id,start_time,end_time,create_time,update_time,remark))
    
            db.commit()
        except UnicodeEncodeError as e :
            #发生错误时回滚
            print(e)
    
        db.close()
    
    #更新操作
    def update_data():
        db = pymysql.connect(host, username, password, database, charset='utf8')
    
        # 使用cursor() 方法创建一个游标对象 cursor
    
        cursor = db.cursor()
        update_time = time.strftime('%Y-%m-%d %H:%M:%S')
        sql = "update demo set update_time ='%s' where id >='%d' " %(update_time,1)
        try:
            #执行sql
            print("执行更新")
            cursor.execute(sql)
    
            db.commit()
        except UnicodeEncodeError as e :
            #发生错误时回滚
            print(e)
            db.rollback()
        db.close()
    
    #删除操作
    def delete_Date():
        db = pymysql.connect(host, username, password, database, charset='utf8')
    
        # 使用cursor() 方法创建一个游标对象 cursor
    
        cursor = db.cursor()
    
        sql = "delete from demo where id <'%d' " %(1)
        try:
            #执行sql
            print("执行删除")
            cursor.execute(sql)
    
            db.commit()
        except UnicodeEncodeError as e :
            #发生错误时回滚
            print(e)
            db.rollback()
        db.close()
    
    
    
    if __name__ == '__main__':
        testconnect()
        InsertDate()
        selectData()
        update_data()
        delete_Date()
  • 相关阅读:
    病毒写法,资源的释放.
    MinHook库的使用 64位下,过滤LoadLibraryExW
    系统权限远程线程注入到Explorer.exe
    【Unity】4.5 树木创建器
    【Unity】4.4 添加角色控制器
    【Unity】4.3 地形编辑器
    【Unity】4.2 提升开发效率的捷径--导入 Unity 5.3.4 自带的资源包
    【Unity】4.1 创建组件
    【Unity】4.0 第4章 创建基本的游戏场景
    【Unity】3.6 导入图片资源
  • 原文地址:https://www.cnblogs.com/BlueSkyyj/p/7559626.html
Copyright © 2011-2022 走看看