Skip to content

Latest commit

 

History

History
50 lines (35 loc) · 1.07 KB

File metadata and controls

50 lines (35 loc) · 1.07 KB

批量插入

运行方式

python docs/examples/scripts/bulk_insert.py

示例代码

# docs/examples/scripts/bulk_insert.py
import os
import dmPython


def conn_params():
    return {
        "server": os.getenv("DM_HOST", "localhost"),
        "port": int(os.getenv("DM_PORT", "5236")),
        "user": os.getenv("DM_USER", "SYSDBA"),
        "password": os.getenv("DM_PASSWORD", "SYSDBA001"),
    }


def main() -> None:
    table = "SKH70_BULK"
    rows = [(i, f"user_{i}", i * 10) for i in range(1, 1001)]

    conn = dmPython.connect(**conn_params())
    cur = conn.cursor()

    cur.execute(f"DROP TABLE IF EXISTS {table}")
    cur.execute(f"CREATE TABLE {table} (id INT PRIMARY KEY, name VARCHAR(100), score INT)")

    cur.executemany(f"INSERT INTO {table}(id, name, score) VALUES (?, ?, ?)", rows)
    conn.commit()

    cur.execute(f"SELECT COUNT(*) FROM {table}")
    print("inserted rows:", cur.fetchone()[0])

    cur.execute(f"DROP TABLE IF EXISTS {table}")
    conn.commit()
    cur.close()
    conn.close()


if __name__ == "__main__":
    main()