小李:嘿,小王,我最近在做一个校友会管理系统,想让校友们能方便地查询和更新自己的信息。你能给我点建议吗?
小王:当然可以!首先你需要一个数据库来存储校友的信息。你打算用哪种语言开发呢?
小李:我想用Python,因为它简单易学,而且有很多现成的库可以用。
小王:那很好啊!你可以使用SQLite作为数据库,它轻便且不需要额外的服务器配置。我们先创建一个简单的表结构。
import sqlite3
def create_table():
conn = sqlite3.connect('alumni.db')
c = conn.cursor()
c.execute('''CREATE TABLE IF NOT EXISTS alumni (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
email TEXT UNIQUE,
phone TEXT,
graduation_year INTEGER)''')
conn.commit()
conn.close()
create_table()
小李:太棒了!这样我们就有了一个基本的校友信息表。接下来怎么添加数据进去呢?
def add_alumni(name, email, phone, year):
conn = sqlite3.connect('alumni.db')
c = conn.cursor()
c.execute("INSERT INTO alumni (name, email, phone, graduation_year) VALUES (?, ?, ?, ?)",
(name, email, phone, year))
conn.commit()
conn.close()
add_alumni('张三', 'zhangsan@example.com', '1234567890', 2000)
小王:现在我们可以向数据库中插入数据了。如果你想查询某个校友的信息怎么办?
def get_alumni(email):
conn = sqlite3.connect('alumni.db')
c = conn.cursor()
c.execute("SELECT * FROM alumni WHERE email=?", (email,))
result = c.fetchone()
conn.close()
return result
print(get_alumni('zhangsan@example.com'))
小李:这看起来很实用!如果校友的信息有变化,比如电话号码更新了,我们该怎么修改呢?
def update_alumni(email, new_phone):
conn = sqlite3.connect('alumni.db')
c = conn.cursor()
c.execute("UPDATE alumni SET phone=? WHERE email=?", (new_phone, email))
conn.commit()
conn.close()
update_alumni('zhangsan@example.com', '0987654321')
小王:好了,现在你的系统已经具备了基础的功能:添加、查询和更新校友信息。你可以继续扩展更多功能,比如批量导入数据或者提供Web界面。
小李:谢谢你的帮助,我现在对这个项目更有信心了!