#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import sqlite3
#"*.mdb, *.accdb"中间的空格不能少,少了就不识别,真是一个空格都不能少啊
def show_tables(chk='none'):
'''显示mdb数据库的所有表'''
conn = pyodbc.connect('Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=d:/mdb/tb.mdb', autocommit=False)
cur = conn.cursor()
tb = []
chk = chk
for i in cur.tables(tableType='table'):
print(i)
if i[2].find(chk) >= 0:
tb.append(i[2])
print(tb)
cur.close()
conn.close()
return tb
def drivers():
'''显示pyodbc支持的所有Drivers'''
for i in pyodbc.drivers():
def sqlite_02():
conn2 = sqlite3.connect('e:/files.db')
conn3 = sqlite3.connect('e:/files.db', timeout=5)
cur3 = conn3.cursor()
cur2 = conn2.cursor()
sql = '''CREATE TABLE if not exists t2(
id integer PRIMARY KEY,
ddd varchar(50)
) '''
cur2.execute(sql)
sql_in = "insert into t2('ddd') values (?)"
cur2.execute(sql_in,['aa'])
conn2.commit()
cur3.execute(sql_in,['dd'])
cur2.execute('select * from t2')
print(cur2.fetchall())
dd = cur2.execute("SELECT date('now')").fetchall()[0][0]
print(dd)
conn3.commit()
conn3.close()
conn2.close()
def sqlite_22():
conn2 = sqlite3.connect('e:/files2.db')
conn2.execute('attach database "e:\\files.db" as d;')
cur2.execute('select 2,* from t2 union all select 8,* from d.t2')
conn2.execute('detach d')
def sqlite_03():
f = r'e:\files.db'
d = f
db_name = d
print(f,d,db_name)
print(type(d))
conn_num = 5
conns = []
for i in range(0, conn_num):
try:
conn = sqlite3.connect(db_name)
conns.append(conn)
except Exception as e:
print('connect failed at %d' % i)
print(len(conns))
print(db_name)
if __name__ == '__main__':
sqlite_22()
#http://cn.voidcc.com/question/p-dpdhfyha-np.html