注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

眼睛想旅行

技术就是我的生命与信仰!

 
 
 

日志

 
 
关于我

精通C,C++,python,Erlang。并熟悉各种其他编程语言,用cocos2dx游戏引擎作过几个项目。会MySQL增删改查,了解OpenGL渲染原理。懂单片机,能设计数字电路系统,会画电路图和设计电路板。喜欢了解最新前沿技术,并持续关注和学习新技术。

网易考拉推荐

mac下安装MySQL-python  

2017-02-23 09:03:16|  分类: 数据库 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
  • 先把之前装的卸载干净:
    pip uninstall mysql-python
    brew uninstall mysql-connector-c
  • 安装
    brew install mysql-connector-c
    pip install mysql-python

  • 还有中文编码的1366错误,大家也可以看一下.

    下边是python访问mysql数据库的例子代码:

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    import MySQLdb
    import time
    from subprocess import Popen,PIPE

    class mysqlobj():
    def __init__(self,addr = 'localhost',port = 3306,usname = 'root',uspw = '123456',defDB = 'test'):
    self.mysqladdr = addr #mysql地址
    self.mysqlport = port #mysql端口
    self.mysqlusername = usname #mysql登陆用户名
    self.mysqlpassword = uspw #mysql登陆密码
    self.mysqlDefaleDB = defDB #mysql默认登陆数据库
    self.connectManger = None #mysql连接管理器
    self.mysqlcursor = None #mysql消息收发器
    self.connectMysql() #连接mysql数据库

    def connectMysql(self):
    self.connectManger = MySQLdb.connect(
    host = self.mysqladdr,
    port = self.mysqlport,
    user = self.mysqlusername,
    passwd = self.mysqlpassword,
    db = self.mysqlDefaleDB,
    charset="utf8". #注意这里的utf8命令编码格式要设置
    )
    self.mysqlcursor = self.connectManger.cursor()
    #调用mysql命令
    def execute(self,cmdstr,isCommit = True):
    try:
    self.connectManger.ping()
    except:
    self.connectMysql()
    if self.mysqlcursor:
    print 'mysqlask:%s'%(cmdstr)
    try:
    tmp = self.mysqlcursor.execute(cmdstr)
    if isCommit:
    self.connectManger.commit()
    except MySQLdb.Error, e:
    print MySQLdb.Error,e,time.ctime(time.time())
    if MySQLdb.Error == 2006:
    self.connectMysql()
    print MySQLdb.Error
    if MySQLdb.Error and e[0] == 1050:#数据表已存在,表创建错误
    print '数据表已存在,mysql错误码:1050'
    return 1050
    elif MySQLdb.Error and e[0] == 2014:
    self.mysqlcursor.close()
    self.mysqlcursor= self.connectManger.cursor()
    return 2014
    else:
    tmp = self.mysqlcursor.execute(cmdstr)
    if isCommit:
    self.connectManger.commit()
    return tmp
    else:
    return -999#mysql 未连接

    #使用.sql文件

    def inPutDataWithSqlFile(self,sqlfilepath):
    process = Popen('/usr/local/mysql/bin/mysql -h%s -P%s -u%s -p%s %s' %(self.mysqladdr, self.mysqlport, self.mysqlusername, self.mysqlpassword, self.mysqlDefaleDB), stdout=PIPE, stdin=PIPE, shell=True)
    output = process.communicate('source '+sqlfilepath)
    print output



      评论这张
     
    阅读(32)| 评论(0)
    推荐 转载

    历史上的今天

    在LOFTER的更多文章

    评论

    <#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
     
     
     
     
     
     
     
     
     
     
     
     
     
     

    页脚

    网易公司版权所有 ©1997-2017