- 直接连接数据库和创建一个游标(cursor)
- 数据查询(SQL语句为 select …from..where)
1、pyodbc连接
import pyodbc
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=xxx;DATABASE=xxx;UID=xxx;PWD=xxx')
cursor = cnxn.cursor()
cursor.execute("SELECT id FROM datatable")
row = cursor.fetchone()
其中:
- pyodbc.connect中,SERVER是服务器名称
- cursor.execute为执行语句
- Row这个类,类似于一个元组,但是他们也可以通过字段名进行访问
其中:
execute执行的时候,
有很多SQL语句用单行来写并不是很方便,所以你也可以使用三引号的字符串来写:
cursor.execute("""
select user_id, user_name
from users
where last_logon < '2001-01-01'
and bill_overdue = 'y'
""")
2、row 中的数据抽取
有中文的时候,可以:
if row:
print ' '.join(row)
如果要抽取每一个内容,可以定位:
for rows in row:
print row.id
简易抽取:
假如你使用的是三引号,那么你也可以这样使用:
deleted = cursor.execute("""
delete
from products
where id <> 'pyodbc'
""").rowcount
3、简易命名
有些数据库(比如SQL Server)在计数时并没有产生列名,这种情况下,你想访问数据就必须使用下标。当然你也可以使用“as”关键字来取个列名
row = cursor.execute("select count(*) as user_count from users").fetchone()
print '%s users' % row.user_count