小明: 嘿,小李,听说你最近在研究校友管理系统?
小李: 是啊!我正在用Python实现一个校友信息管理系统,用来记录校友的基本信息。
小明: 听起来很有趣。你是怎么开始的呢?
小李: 首先,我用SQLite作为数据库来存储校友信息。首先安装了`sqlite3`模块。
小明: 那么,具体是如何创建数据库表的呢?
小李: 我写了下面这段代码来创建一个名为`alumni.db`的数据库,并定义了一个`Alumni`表:
import sqlite3
def create_table():
conn = sqlite3.connect('alumni.db')
cursor = conn.cursor()
cursor.execute('''
CREATE TABLE IF NOT EXISTS Alumni (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
email TEXT UNIQUE,
graduation_year INTEGER
)
''')
conn.commit()
conn.close()
create_table()
小明: 这样就创建好了表结构,接下来是如何添加校友信息呢?
小李: 添加数据也很简单,我编写了如下函数:
def add_alumni(name, email, year):
conn = sqlite3.connect('alumni.db')
cursor = conn.cursor()
cursor.execute('INSERT INTO Alumni (name, email, graduation_year) VALUES (?, ?, ?)',
(name, email, year))
conn.commit()
conn.close()
add_alumni('张三', 'zhangsan@example.com', 2010)
小明: 看起来不错。那么,如果我想查询某个校友的信息怎么办?
小李: 查询同样简单,只需要调用这个函数即可:
def get_alumni(email):
conn = sqlite3.connect('alumni.db')
cursor = conn.cursor()
cursor.execute('SELECT * FROM Alumni WHERE email=?', (email,))
result = cursor.fetchone()
conn.close()
return result
print(get_alumni('zhangsan@example.com'))
小明: 修改或者删除数据又是怎么实现的呢?
小李: 修改数据可以通过更新语句完成,而删除则直接执行删除语句。例如:
def update_alumni(email, new_email):
conn = sqlite3.connect('alumni.db')
cursor = conn.cursor()
cursor.execute('UPDATE Alumni SET email=? WHERE email=?', (new_email, email))
conn.commit()
conn.close()
update_alumni('zhangsan@example.com', 'zhangsan@newdomain.com')
def delete_alumni(email):
conn = sqlite3.connect('alumni.db')
cursor = conn.cursor()
cursor.execute('DELETE FROM Alumni WHERE email=?', (email,))
conn.commit()
conn.close()
delete_alumni('zhangsan@newdomain.com')
小明: 太棒了!你的系统看起来已经具备基本的功能了。
小李: 是的,这只是基础版本,未来还可以扩展更多功能,比如校友活动通知等。
]]>