Python之MySQLdb建议收藏

1.MySQLdb安装(1)安装Mysql,参考上篇博客数据库之MySql。(2)使用pip安装MySQLdb:pipinstallMySQL-python但是安装的时候会报错:error

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

全栈程序员社区此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“验证码”,获取验证码。在微信里搜索“全栈程序员社区”或者“www_javaforall_cn”或者微信扫描右侧二维码都可以关注本站微信公众号。

MySQLdb是用于Python链接Mysql数据库的接口,它实现了Python数据库API规范V2.0,基于MySql C API上建立的。

1. MySQLdb安装

  (1)安装Mysql,参考上篇博客数据库之MySql

  (2)使用pip安装MySQLdb:pip install MySQL-python

      但是安装的时候会报错:error: command ‘C:\\Program Files\\Microsoft Visual Studio 14.0\\VC\\BIN\\cl.exe’ failed with exit status 2

      下面推荐两种方法进行解决:

       a. 下载Python-3.5及上版本扩展的mysql驱动:https://pypi.python.org/pypi/mysqlclient/1.3.10

           之后将下载后的*.whl文件跟pip.exe放在同个目录(一般是在 ..\Python36\Scripts\ 里)

      然后用cmd命令进入到这个目录执行PIP命令安装:pip install mysqlclient-1.3.10-cp36-cp36m-win32.whl 

     b. 安装pymysql代替:pip install pymysql 

注:以上安装方法内容来自原文https://www.cnblogs.com/bu1tcat/p/8283742.html     

2. MySQLdb实例

#coding=utf-8

import sys
import MySQLdb as db
import csv

def parse_csv(csvfile):
    with open(csvfile, 'r') as pf:
        reader = csv.reader(pf, delimiter=',')
        header = next(reader)
        csvdata = []
        for row in reader:
            csvdata.append(row)
    return header, csvdata        
        
    
#链接数据库
def mysqldb_operator(data):
    conn = db.connect(host="localhost", user="root", passwd="", db="xbqr", charset="utf8")
    print (conn)
    print ("datebase connect success!")
    curs = conn.cursor()
    #创建表之前先删除表
    curs.execute("drop table IF EXISTS table_xbqr")
    conn.commit()
    #创建表
    query = "create table table_xbqr(\
        SupplierName VARCHAR(32),\
        InvoiceNumber VARCHAR(32),\
        PartNumber VARCHAR(32),\
        Cost VARCHAR(32),\
        PurchaseDate DATE)"
    curs.execute(query)
    conn.commit()
    for row in data:
        curs.execute("INSERT INTO table_xbqr VALUES(%s,%s,%s,%s,%s);", row)
        conn.commit()
    curs.execute("select * from table_xbqr")
    conn.commit()
    selectdata = curs.fetchall()
    print (selectdata)

if __name__ == "__main__":
    csvfile = sys.argv[1]
    print ("csv file name:", csvfile)
    header, data = parse_csv(csvfile)
    print ("header:")
    print (header)
    print ("csvdata:")
    print (data)
    mysqldb_operator(data)

Python之MySQLdb建议收藏

Python之MySQLdb建议收藏

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120205.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • sntp协议简介

    sntp协议简介SNTP协议主要是通过记录客户端向服务器发送数据包时的时间戳t1,服务器端接收到该数据包时的时间戳t2,服务器向客户端回应时的时间戳t3和最后客户端接收到服务器回应时的时间戳t4来计算客户端时间和服务器端时间的偏差,从而进行校时操作

    2025年7月5日
    5
  • python meshgrid_numpy的生成网格矩阵 meshgrid()

    python meshgrid_numpy的生成网格矩阵 meshgrid()numpy模块中的meshgrid函数用来生成网格矩阵,最简单的网格矩阵为二维矩阵meshgrid函数可以接受x1,x2,…,xn等n个一维向量,生成N-D矩阵。1基本语法meshgrid(*xi,**kwargs)参数:xi-x1,x2,…,xn:array_like返回值:X1,X2,…,XN:ndarray2示例(二维网格)2.1一个参…

    2022年5月27日
    142
  • 几种常见GC算法介绍「建议收藏」

    几种常见GC算法介绍「建议收藏」本文主要是对常用的GC算法(引用计数法、标记-清除法、复制算法、标记-清除算法)作出相关的说明,并对相关知识做简单的介绍。一、什么是堆?    堆指用于动态(即执行程序时)存放对象的内存空间。而这个对象,在面向对象的编程中,它指“具有属性和行为的事物”,然而在GC的世界中,对象表示的是“通过应用程序利用的数据的集合”。具体到Java堆,它是所有线程共享的一块内存区域,在虚拟机启动时创…

    2022年6月16日
    28
  • 监控在服务器中的作用和功能,视频安防监控服务器能实现哪些功能以及解决哪些问题呢…

    监控在服务器中的作用和功能,视频安防监控服务器能实现哪些功能以及解决哪些问题呢…随着物联网的快速发展,视频安防监控服务器开发也在不断的进步,核心技术是进行视频监控服务器开发的重要基础。但由于要满足用户的各种各样的需求,还需要解决很多相关技术。那么视频安防监控服务器能实现哪些功能?解决哪些问题呢?下面就和小编一起来了解下吧。1、操作系统其实操作系统的开发是一个很困难的技术问题,列为核心技术绝不为过,但是正因为难度太大,仅仅为开发视频监控服务器而开发DM642上的操作系统代价太大…

    2022年6月28日
    28
  • CountDownLatch、CyclicBarrier、Semaphore、Exchanger

    CountDownLatch、CyclicBarrier、Semaphore、Exchanger

    2021年9月17日
    54

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号