python 读写sql2008 类
import pymssql
class MSSQL:
def __init__(self,host,user,pwd,db):
self.host = host
self.user = user
self.pwd = pwd
self.db = db def __GetConnect(self):
if not self.db:
raise(NameError,"没有设置数据库信息")
try:
self.conn = pymssql.connect(host=self.host,user=self.user,password=self.pwd,database=self.db,charset="utf8")
#self.conn = pymssql.connect(self.host,self.user,self.pwd,self.db)
cur = self.conn.cursor()
except Exception as e:
print(e)
if not cur:
raise(NameError,"连接数据库失败")
else:
return cur
# 执行查询语句
def ExecQuery(self,sql):
cur = self.__GetConnect()
cur.execute(sql)
resList = cur.fetchall() #查询完毕后必须关闭连接
self.conn.close()
return resList
# 执行非查询语句
def ExecNonQuery(self,sql):
cur = self.__GetConnect()
cur.execute(sql)
self.conn.commit()
self.conn.close()
# 进行数据插入
def insert(self, tablename, params):
"""创建数据库表 args:
tablename :表名字
key :属性键
value :属性值
"""
key = []
value = []
for tmpkey, tmpvalue in params.items():
key.append(tmpkey)
if isinstance(tmpvalue, str):
value.append("\'" + tmpvalue + "\'")
else:
value.append(tmpvalue) try:
attrs_sql = '(' + ','.join(key) + ')'
values_sql = ' values(' + ','.join(value) + ')'
except Exception as e:
None
# print(e)
#print("****************************") sql = 'insert into %s'%tablename
sql = sql + attrs_sql + values_sql
print('_insert:'+sql)
try:
self.ExecNonQuery(sql)
except Exception as e:
None
# print(e) if __name__ == "__main__": ms = MSSQL(host="MY-PC\SQLEXPRESS",user="sa",pwd="*********",db="sqlTest")
#ms = MSSQL("127.0.0.1","sa","*********","sqlTest")
reslist = ms.ExecQuery("select * from student")
for i in reslist:
print(i)
reslist = ms.ExecQuery("select name from student")
for i in reslist:
print(i)
newsql="update student set name='%s' where id=1"%u'苏铭'
print(newsql)
ms.ExecNonQuery(newsql.encode('utf-8'))
newsql="delete from student where name='Python测试2'"
print(newsql)
ms.ExecNonQuery(newsql.encode('utf-8'))
newsql="insert into student (Name) values ('Python测试2')"
print(newsql)
ms.ExecNonQuery(newsql.encode('utf-8'))
ms.insert('student',{'name':'lii'})#插入数据(指明表名称,字段名,字段内容对应的字典形式输入
python 读写sql2008 类的更多相关文章
- Python 读写excel类
#-*- coding: utf8 -*- import xlrd import xlwt from Public import GlobalClass def openexcel(path): tr ...
- Python 内编写类的各种技巧和方法
Python 内编写类的各种技巧和方法 简介 有关 Python 内编写类的各种技巧和方法(构建和初始化.重载操作符.类描述.属性访问控制.自定义序列.反射机制.可调用对象.上下文管理.构建描述符对象 ...
- python 全栈开发,Day86(上传文件,上传头像,CBV,python读写Excel,虚拟环境virtualenv)
一.上传文件 上传一个图片 使用input type="file",来上传一个文件.注意:form表单必须添加属性enctype="multipart/form-data ...
- Python读写docx文件
Python读写word文档有现成的库可以处理.我这里采用 python-docx.可以用pip install python-docx安装一下. 这里说一句,ppt和excel也有类似的库哦,而且是 ...
- Python中编写类的各种技巧和方法
简介 有关 Python 内编写类的各种技巧和方法(构建和初始化.重载操作符.类描述.属性访问控制.自定义序列.反射机制.可调用对象.上下文管理.构建描述符对象.Pickling). 你可以把它当作一 ...
- (Python基础教程之十二)Python读写CSV文件
Python基础教程 在SublimeEditor中配置Python环境 Python代码中添加注释 Python中的变量的使用 Python中的数据类型 Python中的关键字 Python字符串操 ...
- Python 读写文件的正确方式
当你用 Python 写程序时,不论是简单的脚本,还是复杂的大型项目,其中最常见的操作就是读写文件.不管是简单的文本文件.繁杂的日志文件,还是分析图片等媒体文件中的字节数据,都需要用到 Python ...
- Python科普系列——类与方法(下篇)
书接上回,继续来讲讲关于类及其方法的一些冷知识和烫知识.本篇将重点讲讲类中的另一个重要元素--方法,也和上篇一样用各种神奇的例子,从原理和机制的角度为你还原一个不一样的Python.在阅读本篇之前,推 ...
- Python中的类、对象、继承
类 Python中,类的命名使用帕斯卡命名方式,即首字母大写. Python中定义类的方式如下: class 类名([父类名[,父类名[,...]]]): pass 省略父类名表示该类直接继承自obj ...
随机推荐
- 图像实例分割:CenterMask
图像实例分割:CenterMask CenterMask: single shot instance segmentation with point representation 论文链家: http ...
- springmvc——CharacterEncodingFilter过滤器要放在所有过滤器前面
CharacterEncodingFilter的拦截顺序必须是第一个,否则还是会出现乱码问题.这是因为 request对象的parameter并不是一开始就解析的,它是等你第一次调用getParame ...
- Python小白的数学建模课-07 选址问题
选址问题是要选择设施位置使目标达到最优,是数模竞赛中的常见题型. 小白不一定要掌握所有的选址问题,但要能判断是哪一类问题,用哪个模型. 进一步学习 PuLP工具包中处理复杂问题的字典格式快捷建模方法. ...
- 量子:基于ERP块对的两步量子直接通信
学习论文: 题目:Two-step quantum direct communication protocol using the Einstein-Podolsky-Rosen pair block ...
- 在VScode 中使用RT-Thread Studio初体验
前言 工欲善其事,必先利其器,VScode是什么东东,想必大家都非常熟悉了,丰富的插件,有好的开发界面,是很多程序开发者的不二之选,RT-Thread竟然也开发了Vscode插件,真的是非常的nice ...
- MIT6.828-LAB1 : PC启动
Lab1 1. 先熟悉PC的物理地址空间 这里其实有很多可以说的,不过先简单描述一下吧.从0x00000000到0x00100000这1mb的地址空间时机器处于16位的实模式.也就是说这个时候机器的汇 ...
- laya fgui 超简单的UI框架
FairyGUI 超简单的UI框架 Laya使用fgui的超简单UI框架 使用场景:用于使用fgui进行layaUI开发的程序人员 整个框架分为3个模块,共有4个类: FGUIManager :FGU ...
- 安装Apache、Nginx和PHP-基于Centos7环境
使用的软件:putty或Xshell都可. 一.搭建Apache 1.编译安装 (1).安装编译器 yum install -y gcc (2)安装Opensll 查询官网得到OpenSSL下载网址h ...
- 题解 P1850 [NOIP2016 提高组] 换教室
做完这道题才略微感觉自己懂了一点关于概率与期望的知识QAQ... 一:关于概率与期望的定义 转载节选于blog 1.什么是数学期望? 数学期望亦称期望.期望值等.在概率论和统计学中,一个离散型随机变量 ...
- sys用户无法远程登陆
1.用sys用户远程登陆 [oracle@edbjr2p2 admin]$ sqlplus system/oracle@PROD3 as sysdbaSQL*Plus: Release 11.2.0. ...