zoukankan      html  css  js  c++  java
  • paip.python连接mysql最佳实践o4

    paip.python连接mysql最佳实践o4

    python连接mysql 还使用了不少时间...,相比php困难多了..麻烦的.. 而php,就容易的多兰..
    python标准库没mysql库,只好第三方兰..
    先看累挂..说MySQLdb...三,不行..
    1. MySQLdb( MySQL-python 1.2.3)支持派森python 2.7的直接windows安装包,用的python 2.7的朋友可以使用,使用python 3.x的朋友就不支持了
    2.还没二进制的安装包,..要源码编译..麻烦的..windows上要安装linux编译环境MinGW了..pass..

    作者: 老哇的爪子Attilax 艾龙,  EMAIL:1466519819@qq.com
    来源:http://blog.csdn.net/attilax

    ================mysql-connector-python
    目前MySQLdb并不支持python3.x,网上找了一些方法,后来我还是偶然发现MySQL官方已经提供了MySQL连接器,而且已经有支持Python3.x的版本了。MySQL Connector/Python, a self-contained Python driver for communicating with MySQL servers. 这个用起来还是感觉比较顺手的。有二进制包了...
    mysql-connector-python-1.1.6-py3.3.msi  (111kb)

    三,安装的时候儿要python了.俄的机器上有个python3.3.4了,绿色版本的..因为这个新不上...只好在安装了python3.3.5(20M),这才安上.安装到个D:Python335Libsite-packagesmysql 里面兰..看累挂,都是py文件,没编译..

    eric5里面f2 运行文件   D:Python335Python.exe  D:workSpacePythonhalo.py ,三,说新不上mysql 模块..查看sys.path这个库加载的路线..
    import sys, os
    print( sys.path)
    三是eric的路线
    ['', 'D:\workSpacePython', 'D:\Python334eric\Lib\site-packages\eric5\DebugClients\Python3', 'D:\Python334eric\python33.zip', 'D:\Python334eric\DLLs', 'D:\Python334eric\lib', 'D:\Python334eric', 'D:\Python334eric\lib\site-packages', 'D:\Python334eric\lib\site-packages\win32', 'D:\Python334eric\lib\site-packages\win32\lib', 'D:\Python334eric\lib\site-packages\Pythonwin']
    只好不个那复制到个仄哈面儿,ok兰...

     
     Python.exe  D:workSpacePythongetpath.py
     
     
     ===============例子代码
     
     
     my_dict = { 'a':1, 'b':2 }
     #然后敲"my_dict.",出不来字典的各个函数,ctrl+space也不行。
    import sys, os
    print( sys.path)
    # 引入 MySQL 模組
    #import MySQLdb
    import mysql.connector

     
     # 連接到 MySQL
    #db = MySQLdb.connect(host="localhost", user="root", passwd="", db="dbc8")
    #cursor = db.cursor()
    user = 'root'
    pwd  = ''
    host = '127.0.0.1'
    db   = 'dbc8'
    cnx = mysql.connector.connect(user=user, password=pwd, host=host, database=db)
    cursor = cnx.cursor()
     

     
    # 執行 SQL 語句
    cursor.execute("SELECT * FROM grejx  where  1=1 limit 30000")
    #result = cursor.fetchall()
     
    #print(result)
    #[('abandon', 'v./n.放弃;放纵', 2), ('abash', 'v.使害羞,使尴尬', 3), ('abate', 'v.减轻,减少', 4)]
    # 輸出結果
    #for record in result:
     #   print( record[0] )
     
     
    #print(cursor)  
    #MySQLCursor: SELECT * FROM grejx limit 3
     
    homedirx=os.path.split(os.path.realpath(__file__))[0]
    #sys.path.append(".")
    #sys.path.append(homedirx)
    #print( sys.path)
        
    import pkg.strUtil
    from pkg.strUtil import *
    import strUtil2
    from strUtil2 import *
    #o44()
    #strUtil2.o45()

    conn2 = mysql.connector.connect(user=user, password=pwd, host=host, database=db)

    cursorInsert = conn2.cursor()
    import dicUtil
    from dicUtil import *
    #this must match field amout and order in sql
    for (en, cn, id) in cursor:
        if(hasTsisin(cn)):
            tsisin=left_ByDot(cn)
            cnstr=right_ByDot(cn)
        else:
            tsisin="nonx."
            cnstr=cn
        cnstr=cnstr.replace(";", ",")
        cnstr=cnstr.replace(",", ",")  
        
        cnstr_a=cnstr.split(",")
    #    for index8 in range(len(list)):
    #        print index8
    #      print list[index8]
        print (" "+tsisin+"---"+cnstr)
        for index,v in enumerate(cnstr_a):
          #  print ()index
          #  print (v) strip
            sql=" insert into grejx_def (en,cn,nAdjV)values('@en','@cn','@adj')"
            sql=sql.replace("@en", trim(en)).replace("@cn", v.strip()).replace("@adj", tsisin.strip())
            print(sql)
            reslt=cursorInsert.execute(sql)
            
            print("---insert resl:")
            print(reslt)
            conn2.commit()
           
        
        
        
     





     
     
     
     参考
     在Windows上的python3.3安装MySQLdb的故事 | 袁小空神神叨叨的碎碎念
     笑遍世界 » Python3连接MySQL数据库



  • 相关阅读:
    关于lockkeyword
    关于多层for循环迭代的效率优化问题
    Android 面试精华题目总结
    Linux基础回想(1)——Linux系统概述
    linux源代码编译安装OpenCV
    校赛热身 Problem C. Sometimes Naive (状压dp)
    校赛热身 Problem C. Sometimes Naive (状压dp)
    校赛热身 Problem B. Matrix Fast Power
    校赛热身 Problem B. Matrix Fast Power
    集合的划分(递推)
  • 原文地址:https://www.cnblogs.com/attilax/p/5964032.html
Copyright © 2011-2022 走看看