在已经创建了学生表,班级表,专业表,系别表,学生会表,入会信息表的基础上,设计两种角色(管理员、普通用户),分配角色的数据库对象的操作权限,用mysql语句来写
时间: 2023-03-09 18:17:51 浏览: 126
管理员角色:
GRANT ALL PRIVILEGES ON students, classes, majors, departments, student_clubs, membership TO 'admin'@'localhost';普通用户角色:
GRANT SELECT, INSERT, UPDATE, DELETE ON students, classes, majors, departments, student_clubs, membership TO 'user'@'localhost';
相关问题
创建学生信息表 班级姓名 专业课程 课程成绩 多表查询
假设我们需要创建三张表:学生表(student)、班级表(class)、课程表(course),并进行多表查询,具体步骤如下:
1. 创建学生表
```
CREATE TABLE student (
id INT PRIMARY KEY,
name VARCHAR(20),
class_id INT REFERENCES class(id)
);
```
2. 创建班级表
```
CREATE TABLE class (
id INT PRIMARY KEY,
name VARCHAR(20),
major VARCHAR(20)
);
```
3. 创建课程表
```
CREATE TABLE course (
id INT PRIMARY KEY,
name VARCHAR(20),
student_id INT REFERENCES student(id),
score INT
);
```
4. 插入数据
在学生表中插入数据:
```
INSERT INTO student (id, name, class_id) VALUES
(1, '张三', 1),
(2, '李四', 2),
(3, '王五', 1),
(4, '赵六', 2);
```
在班级表中插入数据:
```
INSERT INTO class (id, name, major) VALUES
(1, '一班', '计算机科学'),
(2, '二班', '信息工程');
```
在课程表中插入数据:
```
INSERT INTO course (id, name, student_id, score) VALUES
(1, '数据库', 1, 90),
(2, '计算机网络', 1, 85),
(3, '数据结构', 2, 95),
(4, '算法分析', 2, 80),
(5, '操作系统', 3, 88),
(6, '人工智能', 4, 92);
```
5. 多表查询
查询每个学生的姓名、班级名称和专业:
```
SELECT s.name AS '学生姓名', c.name AS '班级名称', c.major AS '专业'
FROM student s
JOIN class c ON s.class_id=c.id;
```
查询每个学生的姓名、课程名称和成绩:
```
SELECT s.name AS '学生姓名', c.name AS '课程名称', co.score AS '成绩'
FROM student s
JOIN course co ON s.id=co.student_id
JOIN class c ON s.class_id=c.id;
```
以上是一个简单的学生信息表的创建和多表查询的示例,具体的查询语句可以根据实际需求进行调整。
sql中在学生信息表中创建计算机系的学生视图jsj
在 SQL 中创建计算机系的学生视图 jsj 可以按照以下步骤进行:
1. 首先创建学生信息表,表结构如下:
```
CREATE TABLE student (
id INT PRIMARY KEY,
name VARCHAR(50),
department VARCHAR(50),
major VARCHAR(50),
grade INT
);
```
2. 插入学生信息数据,例如:
```
INSERT INTO student VALUES (1, '张三', '计算机系', '软件工程', 2018);
INSERT INTO student VALUES (2, '李四', '数学系', '应用数学', 2017);
INSERT INTO student VALUES (3, '王五', '计算机系', '计算机科学与技术', 2019);
INSERT INTO student VALUES (4, '赵六', '物理系', '物理学', 2018);
```
3. 创建计算机系的学生视图 jsj,可以使用以下 SQL 语句:
```
CREATE VIEW jsj AS
SELECT id, name, grade
FROM student
WHERE department = '计算机系';
```
这样就创建了一个名为 jsj 的视图,它只包含计算机系学生的 id、name 和 grade 信息。可以通过以下 SQL 语句查询 jsj 视图的内容:
```
SELECT * FROM jsj;
```
希望这个回答能够帮助到你!
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)