CentOS 下安装python 之MySQLdb

时间:2022-09-10 22:06:06
yum -y install mysql-dev
wget http://downloads.sourceforge.net/project/mysql-python/mysql-python-test/1.2.4b4/MySQL-python-1.2.4b4.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fmysql-python%2F&ts=1364895531&use_mirror=nchc tar zxvf MySQL-python-1.2.4b4.tar.gz
cd MySQL-python-1.2.4b4
python setup.py build
python setup.py install

urllib2.URLError: <urlopen error [Errno 110] Connection timed out>
像报了这样的错,多试几次,网络请求超时了

如果 报EnvironmentError: mysql_config not found

版本是2.7.3

此时执行 find / -name mysql_config 在/usr/bin/下发现了这个文件
然后修改MySQL-python-1.2.3目录下的site.cfg文件
去掉mysql_config=XXX这行的注释,并改成mysql_config=/usr/bin/mysql_config(以mysql_config文件所在机器上的目录为准)

在Python代码

conn = MySQLdb.Connect(host='localhost', user='root', passwd='root', db='python') 中加一个属性:
 改为:
conn = MySQLdb.Connect(host='localhost', user='root', passwd='root', db='python',charset='utf8')
charset是要跟你数据库的编码一样,如果是数据库是gb2312 ,则写charset='gb2312'。

下面贴一下常用的函数:

然后,这个连接对象也提供了对事务操作的支持,标准的方法
commit() 提交
rollback() 回滚

cursor用来执行命令的方法:
callproc(self, procname, args):用来执行存储过程,接收的参数为存储过程名和参数列表,返回值为受影响的行数
execute(self, query, args):执行单条sql语句,接收的参数为sql语句本身和使用的参数列表,返回值为受影响的行数
executemany(self, query, args):执行单挑sql语句,但是重复执行参数列表里的参数,返回值为受影响的行数
nextset(self):移动到下一个结果集

cursor用来接收返回值的方法:
fetchall(self):接收全部的返回结果行.
fetchmany(self, size=None):接收size条返回结果行.如果size的值大于返回的结果行的数量,则会返回cursor.arraysize条数据.
fetchone(self):返回一条结果行.
scroll(self, value, mode='relative'):移动指针到某一行.如果mode='relative',则表示从当前所在行移动value条,如果 mode='absolute',则表示从结果集的第一行移动value条.

import MySQLdb
try:
conn=MySQLdb.connect(host='127.0.0.1',user='root',passwd='admin',db='mysql',port=3306)
cur=conn.cursor()
#cur.execute('select * from user')
cur.execute('select version()')
data = cur.fetchone()
print "Databases version: %s " % data
cur.close()
conn.close()
except MySQLdb.Error,e:
print "Mysql Error %d: %s" % (e.args[0], e.args[1])
import MySQLdb as mdb
import sys
conn = mdb.connect(host='127.0.0.1',user='root',passwd='admin',db='game',port=3306)
with conn: cur = conn.cursor()
cur.execute("Create TABLE IF NOT EXISTS \
Writers(Id INT PRIMARY KEY AUTO_INCREMENT,NAME VARCHAR(25))")
cur.execute("INSERT INTO Writers(Name) VALUES('Jack Luo')")
cur.execute("INSERT INTO Writers(Name) VALUES('Kity Alice')")
cur.execute("INSERT INTO Writers(Name) VALUES('Alex ok')")
import MySQLdb as mdb
import sys
conn = mdb.connect(host='127.0.0.1',user='root',passwd='admin',db='game',port=3306)
with conn:
cur = conn.cursor()
cur.execute("SELECT * from Writers")
rows = cur.fetchall()
for row in rows:
print row
import MySQLdb as mdb
import sys
conn = mdb.connect(host='127.0.0.1',user='root',passwd='admin',db='game',port=3306)
with conn:
cur = conn.cursor()
cur.execute("SELECT * from Writers")
numrows = int(cur.rowcount)
for i in range(numrows):
row = cur.fetchone()
print row[0],row[1]
import MySQLdb as mdb
import sys
conn = mdb.connect(host='127.0.0.1',user='root',passwd='admin',db='game',port=3306)
with conn:
cur = conn.cursor(mdb.cursors.DictCursor)
cur.execute("SELECT * FROM Writers") rows = cur.fetchall() for row in rows:
print "%s %s" % (row["Id"],row["NAME"])
import MySQLdb as mdb
import sys conn = mdb.connect(host='127.0.0.1',user='root',passwd='admin',db='game',port=3306)
with conn:
cur = conn.cursor()
cur.execute("SELECT * from Writers")
rows = cur.fetchall()
desc = cur.description
print 'cur.description:',desc
print "%s %3s" % (desc[0][0],desc[1][0])
for row in rows:
print "%2s %3s" % row
import MySQLdb as mdb
import sys
conn = mdb.connect(host='127.0.0.1',user='root',passwd='admin',db='game',port=3306)
with conn:
cur = conn.cursor()
cur.execute("UPDATE Writers SET NAME=%s WHERE Id = %s",("Guy de Maupasant",""))
print "Number of rows updated: %d" % cur.rowcount
import MySQLdb as mdb
import sys
try:
fin = open("logo.png")
img = fin.read()
fin.close()
except IOError,e:
print "Error %d: %s" % (e.args[0],e.args[1])
sys.exit(1)
try:
conn = mdb.connect(host='127.0.0.1',user='root',passwd='admin',db='game',port=3306)
cursor = conn.cursor()
cursor.execute("INSERT INTO Images SET Data='%s'" % mdb.escape_string(img))
conn.commit()
cursor.close()
conn.close()
except mdb.Error,e:
print "Error %d:%s" % (e.args[0],e.args[1])
sys.exit(1)
import MySQLdb as mdb
import sys
try:
conn = mdb.connect(host='127.0.0.1',user='root',passwd='admin',db='game',port=3306)
cursor = conn.cursor()
cursor.execute("SELECT Data FROM Images LIMIT 1")
fout = open('logo2.png','wb')
fout.write(cursor.fetchone()[0])
fout.close()
cursor.close()
conn.close()
except IOError,e:
print "Error %d: %s" %(e.args[0],e.args[1])
sys.exit(1)
import MySQLdb as mdb
import sys
try:
conn = mdb.connect(host='127.0.0.1',user='root',passwd='admin',db='game',port=3306)
cursor = conn.cursor()
cursor.execte("UPDATE Writers SET Name = %s WHERE Id = %s",("JACK LUO",""))
cursor.execte("UPDATE Writers Set Name = %s where Id = %s ",("Alex LI",''))
cursor.execte("UPDATE Writers Set Name = %s where Id = %s",("Leonid Leonov",''))
conn.commit()
cursor.close()
conn.close()
except mdb.Error,e:
conn.rollback()
print "Error %d: %s" % (e.args[0],e.args[1])

CentOS 下安装python 之MySQLdb的更多相关文章

  1. centos下安装python

    下载网址:http://ftp.gnu.org/gnu/gdb/ 1.编译python必须安装开发工具 # yum groupinstall "Development tools" ...

  2. Mac OS X下安装Python的MySQLdb模块【终结版】

    1.下载源文件: https://pypi.org/project/MySQL-python/ 2.cd 到源文件所在目录: 3.在目录下使用 python setup.py install 命令安装 ...

  3. Mac OS X 下安装python的MySQLdb模块

    参考资料: mac os x下python安装MySQLdb模块   http://www.codeif.com/post/1073/ MAC OSX使用Python安装模块有关问题  http:// ...

  4. centos下 安装python相关

    centos 安装python相关 python3 https://blog.csdn.net/tanxiaob/article/details/78725301 yum -y install zli ...

  5. centos下安装python的过程

    Linux下默认系统自带python2.6的版本,这个版本被系统很多程序所依赖,所以不建议删除,如果使用最新的Python3那么我们知道编译安装源码包和系统默认包之间是没有任何影响的,所以可以安装py ...

  6. Centos下安装Python的问题汇总

    Python下载地址(https://www.python.org/ftp/python/) 一.工具安装 1.Python的安装 tar vxf Python-2.7.13.tgz cd Pytho ...

  7. 64位centos下安装python的PIL模块

    http://blog.csdn.net/xiaojun1288/article/details/8673529

  8. CentOS 6 下安装Python 3

    可以下载各个版本的python:https://www.python.org/ftp/python/ 配置安装 下载最新的安装包(截止2013/11/05),还是3.3.2版本. #wget http ...

  9. cygwin 下安装python MySQLdb

    cygwin 下安装python MySQLdb 1) cygwin 更新 运行 cygwin/setup-x86_64.exe a 输入mysql,选择下面的包安装: libmysqlclient- ...

随机推荐

  1. 【原】迎接微信winphone 5&period;0 版本的IE10样式兼容

    微信 Android 5.1 和 iPhone 5.1 已正式发布了,据说本12月底,微信将推出 Winphone 5.0版本,全面支持微信支付,它绑定 IE10 浏览器,那么做微信公众号的 H5 页 ...

  2. error&colon; could not read CFBundleIdentifier from Info&period;plist &lpar;null&rpar;解决方法之一

    出现这种错误的原因可能很多,以下是我遇到的一种情况: 项目移植到新的环境 编译报错:  error: could not read CFBundleIdentifier from Info.plist ...

  3. 致诸位新程序员:来自Chuck Jazdzewski慈父般的忠告

    记住这几句话,学无止境.(Never stop learning.)沟通至关重要.(Communication is critical.)履行承诺,胜过交付.(Under promise, over ...

  4. 【百度地图API1&period;1】修改文本标注的样式

    原文:[百度地图API1.1]修改文本标注的样式 百度地图API1.0中文本标注的样式写法为: label.getDom().style.borderColor = "#808080&quo ...

  5. java的Date类和TimeStamp类

    Java API中有两个Date类,一个是java.util.Date,其构造方法如下: Date() Date(long date) 主要方法有: boolean after(Date when) ...

  6. docker安装redis 指定配置文件且设置了密码

    ---------首先,所有docker的命令,都可以用 docker help 来查询,这个挺好的,我反正记不住辣么多命令呀.   1.直接pull 官方镜像吧.没啥说的,这样方便省事.如果你非要用 ...

  7. FI配置清单-概要

    1.编辑公司代码 T-Code:OX02 路径:IMG >企业结构Enterprise >定义Definition >财务会计 Financial Accounting>编辑, ...

  8. zoj3696&lpar;泊松分布&rpar;

    p(k)=(y^k) / (k!) * e^(-y) 其中的y就是平均值 k就是我们要求的大小. Alien's Organ Time Limit: 2 Seconds      Memory Lim ...

  9. CentOS6&period;5下Apache防止目录遍历

    原先以为CentOS下的Apache应该是默认关闭目录遍历的... 然后拿自己网站试了一下发现想太多...汗 就去改下Apache的配置 首先Apache的配置文件在 /etc/httpd/conf/ ...

  10. java网络访问指定出口ip

    java网络访问指定出口ip Table of Contents 1. socket 2. apache httpclient 1 socket 可以在Socket构造函数中指定使用的本地ip,如: ...