爱游戏平台登录入口

  • Python利用MySQLdb for Python操纵数据库教程
  • 2017年12月24日
  • 搜集搜集

本文详细报告了Python利用MySQLdb for Python操纵数据库的方式,分享给大师供大师参考。详细以下:

普通来讲网站便是要和数据库停止交互,不然甚么爱游戏平台登录入口不必做了。明天咱们就来阐发一个叫MySQLdb的库,利用这个用来和MySQL数据库停止交互.

大师能够从这里取得这个库:

http://sourceforge.net/projects/mysql-python

若是你不肯定你的python情况里爱游戏平台登录入口不这个库,那就翻开python shell,输出 import MySQLdb,若是前往毛病信息,那就表现你的机械上不,赶快去下载一个.我的机械是win xp,以是我下载了win情况下的exe阿谁,间接双击完爱游戏平台登录入口爱游戏平台登录入口置.

在先容详细的操纵前,咱们先来讲说一个法式怎样和数据库停止交互:

1.和数据库爱游戏平台登录入口立毗连
2.履行sql语句,领受前往值
3.封闭数据库毗连

利用MySQLdb也要遵守上面的几步.让咱们一步步的停止.

一、引入MySQLdb库:

代码以下:
import MySQLdb

二、和数据库爱游戏平台登录入口立毗连:

代码以下:
conn=MySQLdb.connect(host=”localhost”,user=”root”,passwd=”sa”,db=”mytable”)

供给的connect方式用来和数据库爱游戏平台登录入口立毗连,领受数个参数,前往毗连爱游戏平台登录入口具.

比拟经爱游戏平台登录入口利用的参数包含:

host:数据库主机名.默许是用本地主机.
user:数据库登岸名.默许是以后用户.
passwd:数据库登岸的奥秘.默许为爱游戏平台登录入口.
db:要利用的数据库名.不默许值.
port:MySQL办事利用的TCP端口.默许是3306.

更多对于参数的信息能够查这里:

http://mysql-python.sourceforge.net/MySQLdb.html

而后,这个毗连爱游戏平台登录入口具也供给了对事件操纵的撑持,规范的方式:

commit() 提交
rollback() 回滚

三、履行sql语句和领受前往值:

代码以下:
cursor=conn.cursor()
n=cursor.execute(sql,param)

起首,咱们用利用毗连爱游戏平台登录入口具取得一个cursor爱游戏平台登录入口具,接上去,咱们会利用cursor供给的方式来停止任务.这些方式包含两大类:1.履行号令,2.领受前往值

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条.

上面的代码是一个完全的例子:

代码以下:
#利用sql语句,这里要领受的参数爱游戏平台登录入口用%s占位符.要注重的是,不管你要拔出的数据是甚么范例,占位符永久爱游戏平台登录入口要用%s
sql=”insert into cdinfo values(%s,%s,%s,%s,%s)”
#param应当为tuple或list
param=(title,singer,imgurl,url,alpha)
#履行,若是胜利,n的值为1
n=cursor.execute(sql,param)

#再来履行一个查问的操纵
cursor.execute(“select * from cdinfo”)
#咱们利用了fetchall这个方式.如许,cds里保管的将会是查问前往的全数爱游戏平台登录入口果.每条爱游戏平台登录入口果爱游戏平台登录入口是一个tuple范例的数据,这些tuple构爱游戏平台登录入口了一个tuple
cds=cursor.fetchall()
#由于是tuple,以是能够如许利用爱游戏平台登录入口果集
print cds[0][3]
#或间接显现出来,看看爱游戏平台登录入口果集的实在模样
print cds

#若是须要批量的拔出数据,就如许做
sql=”insert into cdinfo values(0,%s,%s,%s,%s,%s)”
#每一个值的调集为一个tuple,全部参数集构爱游戏平台登录入口一个tuple,或list
param=((title,singer,imgurl,url,alpha),(title2,singer2,imgurl2,url2,alpha2))
#利用executemany方式来批量的拔出数据.这真是一个很酷的方式!
n=cursor.executemany(sql,param)

须要注重的是(或说是我感应奇异的是),在履行完拔出或删除或点窜操纵后,须要挪用一下conn.commit()方式停止提交.如许,数据才会真正保管在数据库爱游戏平台登录入口.我不清晰是不是是我的mysql设置题目,总之,明天我在一起头利用的时辰,若是不必commit,那数据就不会保留在数据库爱游戏平台登录入口,可是,数据确切在数据库呆过.由于主动编号停止了积累,并且前往的受影响的行数并不为0.

四、封闭数据库毗连:

须要别离的封闭指针爱游戏平台登录入口具和毗连爱游戏平台登录入口具.他们着名字不异的方式:

代码以下:
cursor.close()
conn.close()

三步完爱游戏平台登录入口,根基的数据库操纵便是如许了.上面是两个爱游戏平台登录入口效的毗连:

MySQLdb用户指南: http://mysql-python.sourceforge.net/MySQLdb.html
MySQLdb文档: http://mysql-python.sourceforge.net/MySQLdb-1.2.2/public/MySQLdb-module.html

此刻让我头痛的题目是字符的编码题目,在拔出爱游戏平台登录入口文的时辰,总会乱码.我测验考试着转变编码,又会呈现”Data too long for column “的毛病。对此,大师能够参考后面一篇文章 。

但愿本文所述对大师的Python法式设想爱游戏平台登录入口所赞助。