利用pymssql连接sqlserver进行数据存储

import pymssql
conn = pymssql.connect(host = ' ', user = ' ', password = ' ', database = 'spider')
cursor = conn.cursor()
if not cursor:
    print('数据库连接失败!')
else:
    cursor.execute('use spider')
    print('数据库连接成功!')
#sql = 'CREATE TABLE students(no varchar (20) NOT NULL, name nvarchar (20) NOT NULL, age int NOT NULL, primary key(no))'
#cursor.execute(sql)
data = {
    'no': '12345678',
    'name': '李明',
    'age': '3'
}
table = 'students'
keys = ','.join(data.keys())
values = ','.join(['%s'] * len(data))
sql = 'INSERT INTO {table}({keys}) VALUES ({values})'.format(table = table, keys = keys, values = values)
print(sql)
#数据库插入操作
try:
    cursor.execute(sql, tuple(data.values()))
    conn.commit()
    print('INSERT SUCCESSFUL!')
except:
    print('INSERT FAILED!')
    conn.rollback()
#数据库查询操作
try:
    cursor.execute('SELECT * FROM students')
    rows = cursor.fetchall()
    print('数据列表:\n')
    for row in rows:
        print('NO:%s, name:%s, age:%s' % (row[0], row[1], row[2]))
except:
    print('查询失败!')
conn.close()

问题:
连接数据库、查询数据库正常,但无法完成建表操作
解决方案:
和在DBMS里不一样,不是AUTOCOMMIT,所以要添加执行函数commit(),否则语句并未执行

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值