python sqlsever

作者: 啊哈JC熙 | 来源:发表于2018-06-01 10:40 被阅读67次
# -- coding: utf-8 --
"""
代码功能:使用python操作sql sever数据库。
"""
import pymssql
import pandas as pd

class SqlServer(object):  

    def __init__(self): 
        self.get_conn()


    def get_conn(self): 
        try:
            self.conn = pymssql.connect(
                host = "127.0.0.1",
                user = "sa",
                password = "ljc123",
                database = "Iris_Data",
                charset = 'utf8'
                )
        except Exception as e:
            print("Error : %s" % e)

    def close_conn(self):   
        try:
            if self.conn:
                self.conn.close()
        except Exception as e:
            print("Error: %s" % e)

    def ExecQuery(self):
        sql = "select * from iris"
        cursor = self.conn.cursor()
        cursor.execute(sql)
        # 转换为字典的形式化
        resList = [dict(zip([k[0] for k in cursor.description], row))
            for row in cursor.fetchall() ]
        self.conn.close()
        return resList


    def add_one(self,sepal_length, sepal_width, petal_length, petal_width, target):
        try:
            sql =(
                "INSERT INTO iris VALUES ( %s, %s, %s, %s, %s );"
            )
            cursor = self.conn.cursor()
            cursor.execute(sql, (sepal_length, sepal_width, petal_length, petal_width, target))
            self.conn.commit()
            cursor.close()
        except :
            print("Error")
            self.conn.rollback() 
        self.close_conn()

    def add_more(self):
        try:
            sql =(
                "INSERT INTO iris VALUES ( %s, %s, %s, %s, %s );"
            )
            cursor = self.conn.cursor()
            df =  pd.DataFrame(pd.read_csv('iris.csv',header=None))

            for index in df.index:
                sepal_length = df.loc[index].values[0]
                sepal_width = df.loc[index].values[1]
                petal_length = df.loc[index].values[2]
                petal_width = df.loc[index].values[3]
                target = df.loc[index].values[4]
                print(sepal_length, sepal_width, petal_length, petal_width, target)
                cursor.execute(sql, (sepal_length, sepal_width, petal_length, petal_width, target))
            self.conn.commit()
            cursor.close()
            
        except :
            print("Error")
            self.conn.rollback()
        self.close_conn()
        pass    

def main():
    obj = SqlServer()
    #obj.add_more()
    print(obj.ExecQuery())
    print("************************** Finish **************************")

if __name__ == '__main__':
    main()
    

相关文章

  • python sqlsever

  • sqlsever安装

    昨天装个sqlsever费了半天劲,今天想起来记下 sqlsever版本需要搭配服务器系统,之前装的是win200...

  • sqlsever问题

    1、如果短时间内不停连接,就会被SQL SERVER误认为是这是攻击,会将此账号锁定。 要用windows方式登录...

  • SQL Server 相关

    1 .执行sqlsever存储过程,消息:SQL Server 阻止了对组件“Ad Hoc Distributed...

  • sql语句

    SQL语句总结 SQLServer SQLSever提供了非常多的系统函数,利用该系统函数可以访问SQLServe...

  • 聊聊自动化测试工具TesWriter安装所需工具&环境配

    一、工具介绍:WEB平台测试:需要安装SQLsever 2008R2Andriod平台测试:1、下载工具JDK以及...

  • Sqlsever 触发器

    第一次使用触发器的时候发现批量插入数据时,只有一条数据会触发触发器 原来触发器不是数据单条去触发,而是一次操作会触...

  • SqlSever操作笔记

    获取最近一次更改时间 说明:test:数据库名TaskNew:表名

  • R语言连接sqlsever

    R语言连接ODBC驱动通过安装RODBC包。 设置好数据源控制面板-管理工具里面数据源ODBC,名字这里取stoc...

  • SQLsever 跨库查询

    实用场景:测试库dbA 在服务器 192.168.0.27正式库dbB 在服务器 192.168.0.89 如何从...

网友评论

    本文标题:python sqlsever

    本文链接:https://www.haomeiwen.com/subject/apphsftx.html