python数据库编程 ODBC方式实现通讯录

1. 数据库概述及ODBC介绍

数据库是一组相关数据和处理这些数据的应用程序的集合,通常由与它们有关的人组成。无论是从事企业管理、市场营销、教育、医疗、工程等哪个领域的人员都应该掌握数据库的基本知识。

在数据库编程中,ODBC全称为“Open Database Connectivity”,中文翻译为“数据库连接开放性”,是数据库应用程序的接口。ODBC是为Windows提供的数据库连接标准接口,它使得数据库应用程序能够访问各种数据库。ODBC是一种访问数据源的标准协议,支持多种数据源(如:Access、FoxPro、DB2、Oracle等)和多种客户软件(如:VB、Word等),因此被广泛应用于各种系统。ODBC提供了一个程序,叫做“ODBC驱动程序”,用于连接DBMS和应用程序。

2. Python ODBC模块介绍

Python ODBC模块是Python数据库编程模块之一,用于实现Python程序与相关数据库之间的连接。Python ODBC模块是一个开放源代码的组件,直接使用Python ODBC模块可以与多种类型的数据库进行互联。

Python ODBC模块是基于ODBC标准接口,实现了Python程序与ODBC兼容的数据库连接,包括Access、Foxpro、DB2、Oracle、MS SQL Server等多种类型数据库系统。Python ODBC模块具有方便、易用的优点,并允许使用Python编写的程序与数据库之间进行交互。Python ODBC模块提供了丰富的API,能够很好地支持Python与数据库之间的通讯。

3. ODBC方式实现通讯录

3.1 数据库结构设计

在进行通讯录的数据库编程之前,需要先设计数据库结构。该通讯录的数据库结构包括两个表:联系人信息表和联系人详细信息表。

联系人信息表设计:

CREATE TABLE contacts_info(

id INT PRIMARY KEY IDENTITY(1,1),

name VARCHAR (20) NOT NULL,

phone_number VARCHAR (11) NOT NULL,

email VARCHAR (50),

company VARCHAR (50),

address VARCHAR (100)

);

联系人详细信息表设计:

CREATE TABLE contacts_detail(

id INT PRIMARY KEY,

birthday DATE,

group_name VARCHAR(50),

notes VARCHAR(100)

);

3.2 Python ODBC实现数据库连接

在Python ODBC中,使用pyodbc模块来访问数据库。使用pyodbc.py的connect() 方法来连接ODBC数据源。该方法接收连接ODBC数据源所需要的信息,例如:数据库名称、用户名和密码等等。

示例代码如下:

import pyodbc

conn = pyodbc.connect('DRIVER={SQL Server Native Client 11.0};SERVER=localhost;DATABASE=AddressBook;UID=admin;PWD=123456')

cursor = conn.cursor()

以上代码实现了Python ODBC与SQL Server的连接,其中:

DRIVER:ODBC 驱动名称

SERVER:服务器名

DATABASE:数据库名称

UID:登录用户名

PWD:用户密码

3.3 Python ODBC实现数据的增、删、改、查

用Python ODBC实现对数据的增、删、改、查操作十分简单,只需在Python中实现SQL语句,即可对数据库进行相关操作。示例代码如下:

实现对联系人信息表中的数据添加操作

try:

cursor.execute("INSERT INTO contacts_info(name, phone_number, email, company, address) VALUES (?, ?, ?, ?, ?)", ('Jack', '13788888888', 'jack@test.com', 'XX Company', 'XX Street'))

conn.commit()

except Exception as e:

conn.rollback()

实现对联系人信息表中的数据删除操作

try:

cursor.execute("DELETE FROM contacts_info WHERE name= ?", ('Jack',))

conn.commit()

except Exception as e:

conn.rollback()

实现对联系人信息表中的数据修改操作

try:

cursor.execute("UPDATE contacts_info SET email=? WHERE name=?", ('new-email@test.com','Jack'))

conn.commit()

except Exception as e:

conn.rollback()

实现对联系人信息表中的数据查询操作

try:

cursor.execute("SELECT * FROM contacts_info WHERE phone_number=?", ('13788888888',))

result = cursor.fetchall()

for row in result:

print(row)

except Exception as e:

print(e)

4. 总结

Python ODBC模块提供了一种简单的方式来与ODBC兼容的数据库进行交互,使得Python程序员能够轻松访问和操作数据库。在本文中,我们介绍了Python ODBC的基本概念和使用方法,并以联系人数据库为例,详细演示了Python ODBC实现数据的增、删、改、查等操作。通过学习本文,您可以掌握Python ODBC的基本使用方法,以便在实际的开发中灵活应用。

后端开发标签