1. 在MySQL数据库中建表student,添加name,stundentID,birth,class,remarks字段 2. 读取第二题的数据文件document.txt 3. 连接数据库,将文件中的内容全部存入student表中,学号作为主键 4. 查询数据库中student中的信息内容,并打印 5. 查询student中的信息并重新写入到新的文件student.txt中
时间: 2023-10-11 09:06:40 浏览: 158
.Net Core使用MongoDB的详细教程
以下是实现上述任务的Python代码:
```python
import pymysql
# 连接数据库
conn = pymysql.connect(host='localhost', port=3306, user='root', password='your_password', db='your_database', charset='utf8mb4')
cursor = conn.cursor()
# 建表
create_table_sql = '''CREATE TABLE IF NOT EXISTS `student` (
`studentID` varchar(20) NOT NULL,
`name` varchar(20) DEFAULT NULL,
`birth` varchar(20) DEFAULT NULL,
`class` varchar(20) DEFAULT NULL,
`remarks` varchar(100) DEFAULT NULL,
PRIMARY KEY (`studentID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4'''
cursor.execute(create_table_sql)
# 读取数据文件
with open('document.txt', 'r', encoding='utf-8') as f:
lines = f.readlines()
# 插入数据
for line in lines:
row = line.strip().split(',')
studentID = row[0]
name = row[1]
birth = row[2]
class_ = row[3]
remarks = row[4]
insert_sql = f'''INSERT INTO `student` (`studentID`, `name`, `birth`, `class`, `remarks`)
VALUES ('{studentID}', '{name}', '{birth}', '{class_}', '{remarks}')'''
cursor.execute(insert_sql)
# 提交事务
conn.commit()
# 查询数据并打印
select_sql = '''SELECT * FROM `student`'''
cursor.execute(select_sql)
rows = cursor.fetchall()
for row in rows:
print(row)
# 查询数据并写入新文件
with open('student.txt', 'w', encoding='utf-8') as f:
for row in rows:
f.write(','.join(row) + '\n')
# 关闭连接
cursor.close()
conn.close()
```
需要注意的是,本代码中的数据库连接信息需要根据实际情况进行修改,同时需要提前安装好PyMySQL库。
阅读全文