仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1112|回复: 7
打印 上一主题 下一主题

[学习教程] MSSQL教程之Python数据库操纵手册

[复制链接]
再见西城 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:39:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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服务器。
海妖 该用户已被删除
沙发
发表于 2015-1-19 20:53:27 | 只看该作者
理解了存储结构,再阅读下性能优化的章节基本上会对sqlserver有个清晰地认识
变相怪杰 该用户已被删除
板凳
发表于 2015-1-27 17:06:15 | 只看该作者
无法深入到数据库系统层面去了解和探究
谁可相欹 该用户已被删除
地板
发表于 2015-2-5 10:19:16 | 只看该作者
如安全管理、备份恢复、性能监控和调优等,SQL只要熟悉基本操作就可以,只要程序设计部分只要稍加了解即可(如存储过程、触发器等)。
不帅 该用户已被删除
5#
发表于 2015-2-11 08:53:12 | 只看该作者
SP4是一个累积性的ServicePack,包含自以前的ServicePack发布以来所有的修补程序(包括MS03-031安全公告)。
深爱那片海 该用户已被删除
6#
发表于 2015-3-2 07:45:22 | 只看该作者
我是一个ERP初学者,对于前台运用基本熟悉,但对于后台SQLServer的运用一点也不懂,特想学习下相关资料。至少懂得一些基本的运用。希望各位能给于建议,小弟再谢过!
柔情似水 该用户已被删除
7#
发表于 2015-3-11 02:41:54 | 只看该作者
对于微软系列的东西除了一遍遍尝试还真没有太好的办法
若天明 该用户已被删除
8#
发表于 2015-3-24 21:36:37 | 只看该作者
数据库物理框架没有变动undo和redo都放在数据库得transaction中,个人感觉是个败笔。如果说我们在设计数据库的时候考虑分多个数据库,可能能在一定程度上避免I/O效率问题。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 18:30

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表