论文实验涉及,主要是记个笔记,见谅!下面是测试代码(实现数据库、表建立、插入数据、查询数据、更新数据):
# -*- coding: cp936 -*-
import MySQLdb
try:
conn=MySQLdb.connect(host='localhost',user='root',passwd='19900216')
#conn=MySQLdb.connect(host='localhost',user='root',passwd='19900216',db='world')
#print "conn=",conn;
cur=conn.cursor()
#print "cur=",cur;
cur.execute('create database if not exists python')
conn.select_db('python')
cur.execute('create table test(id int,info varchar(20))')
value=[1,'hi rollen']
cur.execute('insert into test values(%s,%s)',value)
values=[]
for i in range(9):
values.append((i,'hi rollen'+str(i)))
cur.executemany('insert into test values(%s,%s)',values)
conn.commit()
test=cur.execute('select * from test')
print test #记录条数
result=cur.fetchone()
print 'ID: %s info %s' %result
results=cur.fetchmany(5)
for r in results:
print r
cur.scroll(0,mode='absolute')
results=cur.fetchall()
for r in results:
print r[1]
cur.execute('update test set info="I am rollen" where id=3')
conn.commit()
cur.close()
conn.close()
except MySQLdb.Error,e:
print "Mysql Error %d: %s" %(e.args[0],e.args[1])
代码注释:
代码中有很多类似xxxone、xxxmany,xxxmany的函数,作用比较好懂!
scroll(self,value,mode):移动指针到某一行。如果mode=‘relative’,则表示从当前所在行移动value条,如果mode=‘absolute’,表示从结果集的第一行移动value条
Q&A:
①Q:Mysql Notifier无法start mysql服务
A:进入Manage Items,删除服务后,再重新添加服务
②Q提示python、mysql不是内部或外部命令……,A:添加变量到PATH;
③Q安装MySQL-python时,出现错误.一般是因为缺少visual c++的东西,或者安装的是64位的python
A:安装提示所缺少的东西后,再安装MySQL-python;或者尝试安装MySQL-python-1.2.5.win-amd64-py2.7
参考资料:
http://blog.youkuaiyun.com/lishan9133/article/details/7024989
http://www.cr173.com/html/27032_1.html
http://www.cnblogs.com/fnng/p/4115607.html
http://blog.sina.com.cn/s/blog_82a927880102uwty.html
http://www.crifan.com/python_install_module_mysql_mysqldb/
http://www.cnblogs.com/rollenholt/archive/2012/05/29/2524327.html