zoukankan      html  css  js  c++  java
  • pymssql

    用与连接sql server数据库的python接口

    import pymssql

    1.配置信息

    conf={

            "host": "118.190.41.846:9099",

            "user": "sa",

            "password": "123",

            "database": "water"} 

    如果是连接本地的数据库,host可以写为本机的数据库名例‘DESKTOP-K06BHO8’

     

    2.连接数据库

    conn=pymssql.connect(**conf)

    cur=conn.cursor()   #默认返回元组,使用as_dict='True'设置为返回字典形式的列表

    #用with功能,避免忘记关闭连接与游标

    # with pymssql.connect(**config["test2"]) as conn:

    #     with conn.cursor(as_dict=True) as cursor:

    #         cursor.execute('SELECT top 10 * FROM tbluserinfo WHERE userid=%s', 'John Doe')

    #         #通过迭代方式获取查询结果

    #         for row in cursor:

    #             print("ID=%d, Name=%s" % (row['id'], row['name']))

    # conn.commit()

    3.执行sql语句

    sql='select * from readdata'

    cur.execute(sql)

    execute('insert into test3(username,address,type) values(%s,%s,%d)',('wingwed','3 street 4 block',3))

    该方法有两个参数,可在sql语句中使用入参,字符型用%s,数字型用%d,

    第二个参数必须是元组或dict类型,列表类型会报错。

    也可一次写入多条记录

    executemany("INSERT INTO persons VALUES (%d, %s, %s)",

        [(1, 'John Smith', 'John Doe'),

        (2, 'Jane Doe', 'Joe Dog'),

        (3, 'Mike T.', 'Sarah H.')])

    4.获取执行结果

    data=cur.fetchall()#获取所有结果,返回每条记录元组组成的列表

    #data=cur.fetchone() 获取一条结果,返回单个元组,当查询结果记录数为0时,不会报错,会返回None.

    #通过迭代方式获取查询结果

    #         for row in cur:

    #             print("ID=%d, Name=%s" % (row['id'], row['name']))

     

    #5.调用存储过程

     # with conn.cursor(as_dict=True) as cursor:

     #        cursor.execute("""

     #        CREATE PROCEDURE FindPerson

     #            @name VARCHAR(100)

     #        AS BEGIN

     #            SELECT * FROM persons WHERE name = @name

     #        END

     #        """)

     #        cursor.callproc('FindPerson', ('Jane Doe',))

     #        for row in cursor:

     #            print("ID=%d, Name=%s" % (row['id'], row['name']))

     

  • 相关阅读:
    CTO干点啥?
    [转] 持续集成与持续交付备忘录
    [转]概率基础和R语言
    程序自信
    [转]Neural Networks, Manifolds, and Topology
    ubuntu14 + nginx + php
    [转]http://makefiletutorial.com/
    REDIS key notification
    GO RPC
    xpcall 安全调用
  • 原文地址:https://www.cnblogs.com/Ting-light/p/9547265.html
Copyright © 2011-2022 走看看