用python开发学生数据库
时间: 2023-11-22 16:51:43 浏览: 44
好的,我们可以使用Python中的SQLite模块来创建一个学生数据库。SQLite是一个轻量级的关系型数据库,它不需要单独的服务器进程,数据存储在一个单一的文件中。
首先,我们需要导入SQLite模块:
```python
import sqlite3
```
接下来,我们可以创建一个连接对象并打开或创建数据库文件:
```python
conn = sqlite3.connect('students.db')
```
如果students.db文件不存在,它将被创建。现在,我们可以创建一个游标对象来执行SQL语句:
```python
c = conn.cursor()
```
我们可以使用CREATE TABLE语句来创建一个名为“students”的表来存储学生信息:
```python
c.execute('''CREATE TABLE students
(id INTEGER PRIMARY KEY, name TEXT, age INTEGER, major TEXT)''')
```
这将创建一个具有四个列的表:id、name、age和major。id列是主键,每个学生都有一个唯一的ID。其他列存储学生的姓名、年龄和专业。
现在,我们可以向表中插入学生信息:
```python
c.execute("INSERT INTO students (name, age, major) VALUES ('Alice', 20, 'Computer Science')")
c.execute("INSERT INTO students (name, age, major) VALUES ('Bob', 21, 'Mathematics')")
```
我们可以使用SELECT语句来检索学生信息:
```python
c.execute("SELECT * FROM students")
print(c.fetchall())
```
这将返回一个包含所有学生信息的元组列表:
```
[(1, 'Alice', 20, 'Computer Science'), (2, 'Bob', 21, 'Mathematics')]
```
最后,我们应该提交更改并关闭数据库连接:
```python
conn.commit()
conn.close()
```
完整的代码如下所示:
```python
import sqlite3
conn = sqlite3.connect('students.db')
c = conn.cursor()
c.execute('''CREATE TABLE students
(id INTEGER PRIMARY KEY, name TEXT, age INTEGER, major TEXT)''')
c.execute("INSERT INTO students (name, age, major) VALUES ('Alice', 20, 'Computer Science')")
c.execute("INSERT INTO students (name, age, major) VALUES ('Bob', 21, 'Mathematics')")
c.execute("SELECT * FROM students")
print(c.fetchall())
conn.commit()
conn.close()
```