欢迎访问宙启技术站
智能推送

在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的文件,并使用循环逐行读取文件。对于每一行,我们需要先解析数据,然后执行插入操作。在这个例子中,我们假设数据文件使用逗号分隔每个值。你可以根据实际情况进行修改。最后,我们提交事务并关闭数据库连接。

希望以上示例代码对你有所帮助!请根据你的实际需求进行修改。