设计一个学生通讯录,可以添加、删除、修改和查询相关信息,数据保存在MySQL数据库mydb.db中的表telephone内
时间: 2024-06-09 08:12:02 浏览: 188
好的,以下是一个简单的学生通讯录的设计方案:
1. 首先需要创建一个MySQL数据库和一个名为telephone的表,表中包含以下字段:id、name、phone_number、email、address。其中id为主键,自增长,可以使用以下SQL语句创建:
```
CREATE DATABASE mydb;
USE mydb;
CREATE TABLE telephone (
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
phone_number VARCHAR(20) NOT NULL,
email VARCHAR(255),
address VARCHAR(255),
PRIMARY KEY (id)
);
```
2. 编写Python程序连接到MySQL数据库,并且实现添加、删除、修改和查询相关信息的功能:
```
import mysql.connector
# 连接到MySQL数据库
mydb = mysql.connector.connect(
host="localhost",
user="root",
password="",
database="mydb"
)
# 添加学生信息
def add_student(name, phone_number, email, address):
cursor = mydb.cursor()
sql = "INSERT INTO telephone (name, phone_number, email, address) VALUES (%s, %s, %s, %s)"
val = (name, phone_number, email, address)
cursor.execute(sql, val)
mydb.commit()
print(cursor.rowcount, "record inserted.")
# 删除学生信息
def delete_student(id):
cursor = mydb.cursor()
sql = "DELETE FROM telephone WHERE id = %s"
val = (id,)
cursor.execute(sql, val)
mydb.commit()
print(cursor.rowcount, "record(s) deleted.")
# 修改学生信息
def update_student(id, name, phone_number, email, address):
cursor = mydb.cursor()
sql = "UPDATE telephone SET name = %s, phone_number = %s, email = %s, address = %s WHERE id = %s"
val = (name, phone_number, email, address, id)
cursor.execute(sql, val)
mydb.commit()
print(cursor.rowcount, "record(s) updated.")
# 查询学生信息
def query_student(id):
cursor = mydb.cursor()
sql = "SELECT * FROM telephone WHERE id = %s"
val = (id,)
cursor.execute(sql, val)
result = cursor.fetchone()
print(result)
# 测试代码
add_student('Tom', '1234567890', 'tom@email.com', 'USA')
update_student(1, 'Tommy', '0987654321', 'tommy@email.com', 'USA')
query_student(1)
delete_student(1)
```
以上程序实现了添加学生信息、删除学生信息、修改学生信息和查询学生信息的功能。请注意,代码中的MySQL连接参数需要根据实际情况进行修改。
阅读全文