在Python中使用pymssql库进行多行插入的示例代码
发布时间:2023-12-11 13:55:55
下面是一个使用pymssql库进行多行插入的示例代码:
import pymssql
# 连接数据库
conn = pymssql.connect(host='localhost', user='sa', password='password', database='testdb')
cursor = conn.cursor()
# 定义插入语句
insert_query = '''
INSERT INTO mytable (column1, column2, column3)
VALUES (%s, %s, %s)
'''
# 构建数据列表
data = [
('value1', 'value2', 'value3'),
('value4', 'value5', 'value6'),
('value7', 'value8', 'value9'),
# ...
]
# 执行多行插入
cursor.executemany(insert_query, data)
# 提交事务
conn.commit()
# 关闭连接
conn.close()
以上代码示例了如何插入多行数据到名为mytable的表中。首先,我们连接到数据库并创建一个游标对象。然后,我们定义了插入语句,使用占位符%s表示待插入的值。接下来,我们创建一个数据列表,每个元素代表一行数据。最后,我们使用executemany方法,将插入语句和数据列表作为参数,执行多行插入。最后,我们提交事务并关闭数据库连接。
如果你有一个包含大量数据的文件,你可以使用循环来逐行读取文件并将数据插入数据库:
import pymssql
# 连接数据库
conn = pymssql.connect(host='localhost', user='sa', password='password', database='testdb')
cursor = conn.cursor()
# 定义插入语句
insert_query = '''
INSERT INTO mytable (column1, column2, column3)
VALUES (%s, %s, %s)
'''
# 打开文件
with open('data.txt', 'r') as file:
# 逐行读取文件并插入数据
for line in file:
# 解析数据
values = line.strip().split(',')
# 执行插入
cursor.execute(insert_query, values)
# 提交事务
conn.commit()
# 关闭连接
conn.close()
在上述代码中,我们使用with open语句打开一个名为data.txt的文件,并使用循环逐行读取文件。对于每一行,我们需要先解析数据,然后执行插入操作。在这个例子中,我们假设数据文件使用逗号分隔每个值。你可以根据实际情况进行修改。最后,我们提交事务并关闭数据库连接。
希望以上示例代码对你有所帮助!请根据你的实际需求进行修改。
