1、设计一个学生通讯录,可以添加、删除、修改和查询相关信息,数据保存在sqlite3数据库mydb.db中的表telephone内;
时间: 2024-06-10 14:06:03 浏览: 133
好的,以下是设计一个学生通讯录的思路:
1. 首先,需要安装sqlite3数据库,并创建名为mydb.db的数据库。
2. 在该数据库中,创建名为telephone的表,包括以下字段:
- id:主键,自增长的整数型,表示每个学生的唯一编号;
- name:字符串型,表示学生的姓名;
- phone:字符串型,表示学生的电话号码;
- email:字符串型,表示学生的电子邮箱地址;
3. 通过Python的sqlite3模块连接数据库,并进行相应操作。
下面是代码实现:
```python
import sqlite3
def create_table():
conn = sqlite3.connect('mydb.db')
c = conn.cursor()
c.execute('''CREATE TABLE IF NOT EXISTS telephone
(id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT,
phone TEXT,
email TEXT)''')
conn.commit()
conn.close()
def add_student(name, phone, email):
conn = sqlite3.connect('mydb.db')
c = conn.cursor()
c.execute('''INSERT INTO telephone (name, phone, email)
VALUES (?, ?, ?)''', (name, phone, email))
conn.commit()
conn.close()
def delete_student(id):
conn = sqlite3.connect('mydb.db')
c = conn.cursor()
c.execute('''DELETE FROM telephone WHERE id=?''', (id,))
conn.commit()
conn.close()
def modify_student(id, name, phone, email):
conn = sqlite3.connect('mydb.db')
c = conn.cursor()
c.execute('''UPDATE telephone SET name=?, phone=?, email=?
WHERE id=?''', (name, phone, email, id))
conn.commit()
conn.close()
def search_student(id=None, name=None):
conn = sqlite3.connect('mydb.db')
c = conn.cursor()
if id is not None:
c.execute('''SELECT * FROM telephone WHERE id=?''', (id,))
elif name is not None:
c.execute('''SELECT * FROM telephone WHERE name=?''', (name,))
else:
c.execute('''SELECT * FROM telephone''')
result = c.fetchall()
conn.close()
return result
```
以上是基本的增删改查操作,可以根据需要进行调用。例如,可以添加一个学生信息:
```python
add_student('张三', '13888888888', 'zhangsan@example.com')
```
也可以查询所有的学生信息:
```python
search_student()
```
也可以查询某个学生的信息:
```python
search_student(id=1)
```
阅读全文