请 [注册] 或 [登录]  | 返回主站

量化交易吧 /  量化平台 帖子:3364724 新帖:11

聚宽客户端连接SQL Server数据库,查询、插入、删除

蜡笔小新炒外汇发表于:5 月 10 日 06:29回复(1)

数据库:
数据库.png
1、查询(官网)

# 导入 mssql 连接信息
from jqdata.tp.db import mssql
# 返回表(table) money_flow 的前10条数据
mssql.run_query(query(mssql.test).limit(10))

QQ图片20190201102413.png
1、查询(Python)

# 查询 mssql 数据库
import pandas as pd
import pymssql

conn = pymssql.connect(host="127.0.0.1",charset="utf8",port=1433,database="JoinQuant",user="sa",password="你的密码")
cur = conn.cursor()
cur.execute("SELECT * from test")
resList = cur.fetchall()#fetchall()是接收全部的返回结果行
conn.close()
resList

查询.png
2、插入

# 插入 mssql 数据库
import pandas as pd
import pymssql

conn = pymssql.connect(host="127.0.0.1",charset="utf8",port=1433,database="JoinQuant",user="sa",password="你的密码")
cur = conn.cursor()
# 插入多行数据
cur.executemany(
    "INSERT INTO test (Name) VALUES (%s)",
    [('John Doe'),('Joe Dog'),('Sarah H.')])
# 你必须调用 commit() 来保持你数据的提交如果你没有将自动提交设置为true
conn.commit()
conn.close()
print('插入成功')

插入.png

3、删除

# 删除 mssql 数据库
import pandas as pd
import pymssql

def delete_test():
    #返回最后一次操作影响的行数,这里考虑右边对象是不是支持该属性,不支持的话则返回-1
    getRC = lambda cur:cur.rowcount if hasattr(cur,'rowcount') else -1
    conn = pymssql.connect(host="127.0.0.1",charset="utf8",port=1433,database="JoinQuant",user="sa",password="你的密码")
    cur = conn.cursor()
    cur.execute("delete from test")
    row = getRC(cur)
    conn.commit()
    conn.close()
    return row

delete_test()

全部回复

0/140

达人推荐

量化课程

    移动端课程