|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
mysql的原来开发者又开发了MariaDB,MariaDB适合用来替代mysql吗数据|数据库数据库的操纵在如今的Python内里已变得非常的好用,有了一套API尺度.上面的就是讲讲怎样的往利用这套框架界说.此框架包括以下部分模块接口毗连工具游标工具DBI帮助工具数据范例与界说怎样完成的提醒从1.0到2.0的变更例子模块接口
connect(parameters...)个中的参数格局以下:
dsn数据源称号user用户名(可选)password暗码(可选)host主机名(可选)database数据库名(可选)举个例子:connect(dsn=myhost:MYDB,user=guido,password=234$)又大概connect(218.244.20.22,username,password,databasename)
此尺度划定了以下的一些全局变量:
apilevel:
暗示了DB-API的版本,分1.0和2.0.假如没有界说,默许为1.0
threadsafety:
0Threadsmaynotsharethemodule.1Threadsmaysharethemodule,butnotconnections.2Threadsmaysharethemoduleandconnections.3Threadsmaysharethemodule,connectionsandcursors.
paramstyle:
用于暗示参数的传送办法,分为以下五种:qmark问号标识作风.e.g...WHEREname=?numeric数字,占位符作风.e.g...WHEREname=:1named定名作风.e.gWHEREname=:nameformatANSICprintf作风.e.g...WHEREname=%spyformatPython扩大暗示法.e.g...WHEREname=%(name)s
非常类:
StandardError|__Warning|__Error|__InterfaceError|__DatabaseError|__DataError|__OperationalError|__IntegerityError|__InternalError|__ProgrammingError|__NotSupportedError
毗连工具
毗连工具包括以下办法:
.close()封闭毗连.commit()用于事件处置内里的提交操纵.rollback()用于事件处置内里的回滚操纵.cursor()取得一个游标游标工具
游标工具包括以下属性和办法:
.description一个列表(name,type_code,display_size,internal_size,precision,scale,null_ok)此属性只要在获得了数据以后才有,否则会是null值.rowcount暗示前往值的行数.假如没有实行executeXXX()办法大概此模块没有完成这个办法,就会前往-1.callproc(procname[,parameters])(此为可选办法,应为不是一切的数据库都撑持存储历程的).close()封闭游标.execute(operation[,parameters])筹办并实行一个数据库操纵(包含查询和命令).executemany(operation,seq_of_parameters)筹办一个数据库命令,然后依据参数实行屡次命令.fetchone()前往第一行的查询了局.fetchmany([size=cursor.arraysize])前往指定个多个行的值.fetchall()前往一切的查询了局.arraysize这个参数值暗示fetchmany默许情形之下猎取的行数数据范例与界说界说一些经常使用的数据范例.可是今朝用不到,就先不剖析备注
固然,我们要晓得的是,这个只是一个尺度,一样平常来讲尺度内里界说了的会完成,但另有良多特定的完成,我们也必要往把握哪些器材,不外假如我们将这些尺度的把握了,那末操纵一样平常的就不会有成绩了.
上面给出几个数据库相干的网址
DatabaseTopicGuidePython的数据库利用导游,有相称不错的材料,包含API界说,驱动联合等等MSSQL驱动就是MSSQL的驱动程序例子
上面举的例子是以MSSQL为榜样的,可是换成其他的驱动也一样能够做,这个就和Perl的数据库操纵非常的相似,可让我们很便利的完成分歧数据库之间的移植事情.
1.查询数据
importMSSQLdb=MSSQL.connect(SQLServerIP,username,password,db_name)c=db.cursor()sql=selecttop20rtrim(ip),rtrim(dns)fromdetailc.execute(sql)forfinc.fetchall():print"ipis%s,dnsis%s"%(f[0],f[1])
2.拔出数据
sql=insertintodetailvalues(192.168.0.1,www.dns.com.cn)c.execute(sql)
3.ODBC的一个例子
importdbi,odbc#ODBCmodulesimporttime#standardtimemoduledbc=odbc.odbc(#openadatabaseconnectionsample/monty/spam#datasource/user/password)crsr=dbc.cursor()#createacursorcrsr.execute(#executesomeSQL"""SELECTcountry_id,name,insert_change_dateFROMcountryORDERBYname""")printColumndescriptions:#showcolumndescriptionsforcolincrsr.description:print,colresult=crsr.fetchall()#fetchtheresultsallatonceprint
Firstresultrow:
,result[0]#showfirstresultrowprint
Dateconversions:#playwithdbiDateobjectdate=result[0][-1]fmt=%-25s%-20sprintfmt%(standardstring:,str(date))printfmt%(secondssinceepoch:,float(date))timeTuple=time.localtime(date)printfmt%(timetuple:,timeTuple)printfmt%(userdefined:,time.strftime(%d%B%Y,timeTuple))-------------------------------output--------------------------------Columndescriptions:(country_id,NUMBER,12,10,10,0,0)(name,STRING,45,45,0,0,0)(insert_change_date,DATE,19,19,0,0,1)Firstresultrow:(24L,ARGENTINA,<DbiDateobjectat7f1c80>)Dateconversions:standardstring:FriDec1901:51:531997secondssinceepoch:882517913.0timetuple:(1997,12,19,1,51,53,4,353,0)userdefined:19December1997
回本栏首页
这章描述如何检查和处理在MySQL数据库中的数据损坏。如果你的表损坏很多,你应该尝试找出其原因!见G.1调试一个MySQL服务器。 |
|