mysql里面查询女教师所教课程的课程号和名称
时间: 2023-06-14 12:08:27 浏览: 360
可以使用如下的 SQL 查询语句来查询女教师所教课程的课程号和名称:
```sql
SELECT course.course_id, course.course_name
FROM course
INNER JOIN teacher ON course.teacher_id = teacher.teacher_id
WHERE teacher.gender = 'female';
```
上述 SQL 查询语句使用了 INNER JOIN 语句来连接 course 和 teacher 两张表,并使用 WHERE 子句来筛选出 gender 为 female 的教师。最终查询结果包括课程号和课程名称两个字段。
相关问题
MySQL全方位练习(学生表 教师表 课程表 分数表)
好的,这是一个关于MySQL的问题,我会尽力回答。以下是一个简单的MySQL练习,包括四个表:学生表、教师表、课程表和分数表。每个表都具有不同的字段,用于存储有关学生、教师、课程和分数的信息。可以使用这些表来练习MySQL查询和操作。
学生表(student):
| 字段名 | 类型 | 描述 |
| --- | --- | --- |
| id | int | 学生编号 |
| name | varchar | 学生姓名 |
| gender | varchar | 学生性别 |
| age | int | 学生年龄 |
教师表(teacher):
| 字段名 | 类型 | 描述 |
| --- | --- | --- |
| id | int | 教师编号 |
| name | varchar | 教师姓名 |
| gender | varchar | 教师性别 |
| age | int | 教师年龄 |
| subject | varchar | 教授课程 |
课程表(course):
| 字段名 | 类型 | 描述 |
| --- | --- | --- |
| id | int | 课程编号 |
| name | varchar | 课程名称 |
| teacher_id | int | 教师编号 |
分数表(score):
| 字段名 | 类型 | 描述 |
| --- | --- | --- |
| id | int | 分数编号 |
| student_id | int | 学生编号 |
| course_id | int | 课程编号 |
| score | int | 学生分数 |
可以使用以下MySQL语句创建这些表:
```
CREATE TABLE student (
id INT PRIMARY KEY,
name VARCHAR(20),
gender VARCHAR(10),
age INT
);
CREATE TABLE teacher (
id INT PRIMARY KEY,
name VARCHAR(20),
gender VARCHAR(10),
age INT,
subject VARCHAR(20)
);
CREATE TABLE course (
id INT PRIMARY KEY,
name VARCHAR(20),
teacher_id INT,
FOREIGN KEY (teacher_id) REFERENCES teacher(id)
);
CREATE TABLE score (
id INT PRIMARY KEY,
student_id INT,
course_id INT,
score INT,
FOREIGN KEY (student_id) REFERENCES student(id),
FOREIGN KEY (course_id) REFERENCES course(id)
);
```
然后,您可以插入一些数据进行练习:
```
INSERT INTO student VALUES (1, '张三', '男', 18);
INSERT INTO student VALUES (2, '李四', '女', 19);
INSERT INTO student VALUES (3, '王五', '男', 20);
INSERT INTO teacher VALUES (1, '张老师', '男', 35, '数学');
INSERT INTO teacher VALUES (2, '李老师', '女', 30, '英语');
INSERT INTO teacher VALUES (3, '王老师', '男', 40, '物理');
INSERT INTO course VALUES (1, '数学', 1);
INSERT INTO course VALUES (2, '英语', 2);
INSERT INTO course VALUES (3, '物理', 3);
INSERT INTO score VALUES (1, 1, 1, 90);
INSERT INTO score VALUES (2, 1, 2, 80);
INSERT INTO score VALUES (3, 2, 1, 85);
INSERT INTO score VALUES (4, 2, 2, 95);
INSERT INTO score VALUES (5, 3, 3, 75);
```
接下来,您可以使用MySQL查询语句来练习对这些表的查询和操作。例如:
- 查询所有学生的姓名和年龄:
```
SELECT name, age FROM student;
```
- 查询所有选修数学课的学生的姓名和分数:
```
SELECT student.name, score.score
FROM student, score, course
WHERE student.id = score.student_id
AND score.course_id = course.id
AND course.name = '数学';
```
- 查询所有教授课程的教师的姓名和课程名称:
```
SELECT teacher.name, course.name
FROM teacher, course
WHERE teacher.id = course.teacher_id;
```
这些只是一些例子,您可以根据需要编写更多的查询语句来练习MySQL。希望这些可以帮助您进一步了解MySQL的使用。
帮我写一个可以直接使用的PHP加MYSQL课程查询管理系统
好的,下面是一个简单的PHP和MySQL课程查询管理系统的代码示例:
数据库设计:
首先,我们需要设计 MySQL 数据库表格,这个例子中我们需要两个表格:学生表格 `students` 和课程表格 `courses`。
学生表格:
```sql
CREATE TABLE students (
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
age INT(11) NOT NULL,
gender ENUM('male', 'female') NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
```
课程表格:
```sql
CREATE TABLE courses (
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
teacher VARCHAR(255) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
```
PHP 文件:
下面是一个简单的 PHP 文件 `index.php`,用于展示学生和课程信息,并提供添加和删除功能。
```php
<?php
// 连接 MySQL 数据库
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "database_name";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 处理添加学生的请求
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["add_student"])) {
$name = $_POST["name"];
$age = $_POST["age"];
$gender = $_POST["gender"];
$sql = "INSERT INTO students (name, age, gender) VALUES ('$name', '$age', '$gender')";
if ($conn->query($sql) === false) {
echo "Error: " . $sql . "<br>" . $conn->error;
}
}
// 处理添加课程的请求
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["add_course"])) {
$name = $_POST["name"];
$teacher = $_POST["teacher"];
$sql = "INSERT INTO courses (name, teacher) VALUES ('$name', '$teacher')";
if ($conn->query($sql) === false) {
echo "Error: " . $sql . "<br>" . $conn->error;
}
}
// 处理删除学生的请求
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["delete_student"])) {
$id = $_POST["id"];
$sql = "DELETE FROM students WHERE id=$id";
if ($conn->query($sql) === false) {
echo "Error: " . $sql . "<br>" . $conn->error;
}
}
// 处理删除课程的请求
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["delete_course"])) {
$id = $_POST["id"];
$sql = "DELETE FROM courses WHERE id=$id";
if ($conn->query($sql) === false) {
echo "Error: " . $sql . "<br>" . $conn->error;
}
}
// 显示学生信息
echo "<h2>学生信息</h2>";
echo "<table>";
echo "<tr><th>ID</th><th>姓名</th><th>年龄</th><th>性别</th><th>操作</th></tr>";
$sql = "SELECT * FROM students";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "<tr>";
echo "<td>" . $row["id"] . "</td>";
echo "<td>" . $row["name"] . "</td>";
echo "<td>" . $row["age"] . "</td>";
echo "<td>" . $row["gender"] . "</td>";
echo "<td><form method='post'><input type='hidden' name='id' value='".$row["id"]."'><button type='submit' name='delete_student'>删除</button></form></td>";
echo "</tr>";
}
} else {
echo "0 结果";
}
echo "</table>";
// 显示课程信息
echo "<h2>课程信息</h2>";
echo "<table>";
echo "<tr><th>ID</th><th>名称</th><th>教师</th><th>操作</th></tr>";
$sql = "SELECT * FROM courses";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "<tr>";
echo "<td>" . $row["id"] . "</td>";
echo "<td>" . $row["name"] . "</td>";
echo "<td>" . $row["teacher"] . "</td>";
echo "<td><form method='post'><input type='hidden' name='id' value='".$row["id"]."'><button type='submit' name='delete_course'>删除</button></form></td>";
echo "</tr>";
}
} else {
echo "0 结果";
}
echo "</table>";
// 添加学生表格
echo "<h2>添加学生</h2>";
echo "<form method='post'>";
echo "<label>姓名:<input type='text' name='name'></label>";
echo "<label>年龄:<input type='number' name='age'></label>";
echo "<label>性别:<select name='gender'><option value='male'>男</option><option value='female'>女</option></select></label>";
echo "<button type='submit' name='add_student'>添加</button>";
echo "</form>";
// 添加课程表格
echo "<h2>添加课程</h2>";
echo "<form method='post'>";
echo "<label>名称:<input type='text' name='name'></label>";
echo "<label>教师:<input type='text' name='teacher'></label>";
echo "<button type='submit' name='add_course'>添加</button>";
echo "</form>";
$conn->close();
?>
```
这个 PHP 文件中,我们使用了 `mysqli` 扩展连接 MySQL 数据库,并根据 HTTP 请求的方法处理添加和删除的请求。同时,我们使用 HTML 表格和表单来展示和输入信息。
注意:这只是一个简单的示例代码,实际情况中需要根据具体需求进行修改和完善。同时,为了保证安全性,需要对用户输入的信息进行过滤和验证。