学生表,课程表,成绩表,教师表四个表假定数据库连接对象是conn,请用两种写法执行查
时间: 2023-09-10 19:01:23 浏览: 52
第一种写法是使用SQL语句执行查询操作:
1. 学生表查询示例:
```python
cursor = conn.cursor()
sql = "SELECT * FROM 学生表"
cursor.execute(sql)
result = cursor.fetchall()
for row in result:
print(row)
cursor.close()
```
使用`cursor.fetchall()`获取查询结果,并通过循环遍历输出每一行的数据。
2. 课程表查询示例:
```python
cursor = conn.cursor()
sql = "SELECT * FROM 课程表"
cursor.execute(sql)
result = cursor.fetchall()
for row in result:
print(row)
cursor.close()
```
3. 成绩表查询示例:
```python
cursor = conn.cursor()
sql = "SELECT * FROM 成绩表"
cursor.execute(sql)
result = cursor.fetchall()
for row in result:
print(row)
cursor.close()
```
4. 教师表查询示例:
```python
cursor = conn.cursor()
sql = "SELECT * FROM 教师表"
cursor.execute(sql)
result = cursor.fetchall()
for row in result:
print(row)
cursor.close()
```
第二种写法是使用ORM(对象关系映射)执行查询操作:
1. 学生表查询示例:
```python
from sqlalchemy import Table, select
students = Table('学生表', metadata, autoload=True, autoload_with=conn)
stmt = select([students])
result = conn.execute(stmt)
for row in result:
print(row)
result.close()
```
2. 课程表查询示例:
```python
from sqlalchemy import Table, select
courses = Table('课程表', metadata, autoload=True, autoload_with=conn)
stmt = select([courses])
result = conn.execute(stmt)
for row in result:
print(row)
result.close()
```
3. 成绩表查询示例:
```python
from sqlalchemy import Table, select
scores = Table('成绩表', metadata, autoload=True, autoload_with=conn)
stmt = select([scores])
result = conn.execute(stmt)
for row in result:
print(row)
result.close()
```
4. 教师表查询示例:
```python
from sqlalchemy import Table, select
teachers = Table('教师表', metadata, autoload=True, autoload_with=conn)
stmt = select([teachers])
result = conn.execute(stmt)
for row in result:
print(row)
result.close()
```
以上两种写法都能实现对学生表、课程表、成绩表和教师表的查询操作。如果使用ORM,需要先创建相应的Table对象,并通过`autoload=True`自动加载表结构。然后,使用`select`方法创建查询语句,并通过`execute`方法执行查询,再通过循环遍历输出结果。最后,记得关闭查询结果的连接。