python连接sqlsever信息管理系统_Python数据库模块pymssql连接SQLServer数据库操作

Python数据库模块pymssql连接SQLServer数据库操作详解

最近需要使用到SQLServer数据库,之前一直使用的是MySQL数据库,我比较喜欢使用Python,之前一直使用的是pymysql作为数据库的操作工具,现在需要换成pymssql了,使用方法大概相同,查资料的过程中发现网上很多资料讲的都是部分的,这里总结了一下最近的操作,详细地给出了操作代码,相信很好看明白,希望能帮到需要的人。

下面是具体的实现:

#!usr/bin/env python

# encoding:utf-8

'''

__Author__:沂水寒城

功能:使用pymssql连接SQLServer测试使用

'''

import sys

import logging

import pymssql

reload(sys)

sys.setdefaultencoding("utf-8")

LOG_FORMAT="%(asctime)s - %(levelname)s - %(message)s"

DATE_FORMAT="%m-%d-%Y %H:%M:%S %p"

logging.basicConfig(filename='SQLServer.log',level=logging.DEBUG,format=LOG_FORMAT,

datefmt=DATE_FORMAT)

#数据库的;连接配置信息

config_dict={

'user':'你的用户名',

'password':'你的密码',

'host':'你要连接的host地址',

'database':'你要操作的数据库'

}

tablename='你要操作的表名'

def SQLServer_connect(config_dict):

'''

SQLServer 数据库连接

'''

connect=pymssql.connect(**config_dict)

print 'Connect Successful!!!'

return connect

def select_k_records(config_dict,tablename,topk=100):

'''

从SQLServer中选取前k条记录

'''

try:

connect=SQLServer_connect(config_dict)

cursor=connect.cursor()

#统计记录数量

result=[]

cursor=connect.cursor()

select_sql='SELECT * FROM %s' %tablename

print 'select_sql is: ',select_sql

cursor.execute(select_sql)

row=cursor.fetchone()

while row:

if len(result)

result.append(row)

row=cursor.fetchone()

print row

else:

break

print 'result: '

print result

connect.close()

cursor.close()

except Exception, e:

print "elect_sql error: " + e

finally:

connect.close()

return result

def create_new_table(config_dict,tablename):

'''

创建表

'''

connect=SQLServer_connect(config_dict)

cursor=connect.cursor()

#cursor.execute('select * into WZ_cgb_test from WZ_OA_PUBLICOPINION where 1=2')

#省略号替换成自己的字段信息即可

cursor.execute("""

CREATE TABLE %s (

id VARCHAR(32) NOT NULL,

name VARCHAR(255) NULL,

......

PRIMARY KEY(id)

)""" %tablename

)

connect.commit() #记得提交数据库事物操作

connect.close()

cursor.close()

def delete_record(config_dict,delete_sql):

'''

从 SQLServer 中删除数据记录

'''

try:

connect=SQLServer_connect(config_dict)

cursor=connect.cursor()

cursor.execute(delete_sql)

connect.commit()

print 'DeleteOperation Finished!!!'

except Exception, e:

print "delete_sql error: " + e

finally:

connect.close()

def count_records_num(config_dict,tablename):

'''

统计SQLServer中的数据记录数量

'''

try:

connect=SQLServer_connect(config_dict)

cursor=connect.cursor()

totalNum=cursor.rowcount

print 'Total Records Number is: ',str(totalNum)

connect.close()

cursor.close()

except Exception, e:

print "count_sql error: " + e

finally:

connect.close()

return len(result)

def insert_record(config_dict,insert_sql):

'''

向SQLServer中插入数据

'''

try:

connect=SQLServer_connect(config_dict)

cursor=connect.cursor()

cursor.execute(insert_sql)

connect.commit()

print 'InsertOperation Finished!!!'

except Exception, e:

print "insert_sql error: " + e

finally:

connect.close()

if __name__ == "__main__":

count_records_num(config_dict,tablename)

#select_k_records(config_dict,tablename,topk=10)

测试结果如下:

Connect Successful!!!

select_sql is: SELECT * FROM ******

Total Records Number is: 14750

[Finished in 3.3s]

其他的功能也都测试了,这里就不列举了,感兴趣的话可以试试。

数据库的连接配置换成自己的就行了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值