PyPyODBC 使用

0、新建Access数据库
import pypyodbc
pypyodbc.win_create_mdb('d:\\test_db.mdb')   #注意是绝对路径
1、连接数据库并创建游标
1)连本地Access数据库
connStr = 'Driver={Microsoft Access Driver (*.mdb)};DBQ=d:\\test_db.mdb' #同样是绝对路径
conn = pypyodbc.win_connect_mdb(connStr)
# 注意这里使用的win_connect_mdb方法,如果使用connect则会出错,IM002
2)连ODBC数据库
connStr = (
    r'Driver={SQL Server};'
    r'Server=sqlserver;'
    r'Database=testdb;'
    r'UID=sa;'
    r'PWD=sapassword'
)
conn = pypyodbc.connect(connStr)
3)创建游标
cur = conn.cursor()
2、数据查询
0)所有的 SQL 语句都用 cursor.execute 函数运行。

如果语句返回行,比如一个查询语句返回的行,你可以通过游标的 fetch 函数来获取数据,这些函数有(fetchone,fetchall,fetchmany)。如果返回空行,fetchone 函数将返回 None,而 fetchall 和 fetchmany 将返回一个空列。

3、数据插入
sql_insert = '''INSERT INTO saleout(customer_name,product_name,price,volume,sell_time) 
    VALUES(?,?,?,?,?)'''
insert_value = ('江文', 'Huawei Ascend mate', '5000.5', 2, '2012-1-21')
cur.execute(sql, insert_value)
cur.commit()  # 别忘了立即提交
4、数据更新

基础用法:

sql_update = """
    UPDATE A
    SET value = 'xxxx'
    WHERE id = '1111';
"""

通过子查询的结果来更新:

sql_update = """
    UPDATE A
        LEFT JOIN (SELECT id, value
                            FROM B) param
        ON A.id = param.id
    SET A.value = param.value;
"""

参考文章:
https://my.oschina.net/zhengyijie/blog/35587

你可能感兴趣的:(PyPyODBC 使用)