如何使用pyodbc将变量插入数据库?

时间:2018-04-09 07:13:02

标签: sql-server python-3.x pyodbc

highscore= score
cursor.execute("insert into tble values (hscore) hishscore.getvalue"):

que:得分将保存为变量高分。该高分需要保存到hscore字段中的数据库。插入和获取值的正确代码是什么。

4 个答案:

答案 0 :(得分:1)

您想使用?占位符绑定参数:

cursor.execute("INSERT INTO tble (hscore) VALUES (?)", highscore)

如果您想插入多个值,请选择更长的格式:

cursor.execute(
    """
    INSERT INTO table_name
    (column_1, column_2, column_3)
    VALUES (?, ?, ?)
    """,
    (value_1, value_2, value_3)
)

VALUES的订单也不合适。祝你好运!

答案 1 :(得分:0)

cursor.execute("insert into tablename(column1,column2) values (?,?);",var1,var2)

我需要分号才能为我工作。

答案 2 :(得分:0)

假设列名称为“ hscore”,并且要插入值的变量为“ highscore”:

Data_science[~Data_science['Experience'].isnull()]['Experience'].mean()
Data_science[~Data_science['Experience'].isnull()]['Experience'].median()

答案 3 :(得分:0)

you can follow the below code this is going write column values from csv , good example for your use case

import pyodbc
import io

#credential file for server,database,username,password
with io.open('cred.txt','r',encoding='utf-8')as f2:
    cred_data=f2.read()
    f2.close()
cred_data=cred_data.split(',')
server=cred_data[0]
database=cred_data[1]
username=cred_data[2]
pwd=cred_data[3]



con_obj=pyodbc.connect("DRIVER={SQL Server};SERVER="+server+";DATABASE="+database+";UID="+username+";PWD="+pwd)
data_obj=con_obj.cursor()

#data file with 5 columns
with io.open('data.csv','r',encoding='utf-8')as f1:
    data=f1.read()
    f1.close()
data=data.split('\n')[1:]
i=1001
for row in data:
    lines=row.split(',')
    emp=i
    fname=lines[0].split(' ')[0]
    sname=lines[0].split(' ')[1]
    com=lines[1]
    dep=lines[2]
    job=lines[3]
    email=lines[4]
    data_obj.execute("insert into dbo.EMP(EMPID,FNAME,SNAME,COMPANY,DEPARTMENT,JOB,EMAIL) values(?,?,?,?,?,?,?)", emp,fname,sname,com,dep,job,email)
    con_obj.commit()
    i=i+1