在studentsdb数据库下创建表stu(需要对各属性通过comment进行注释),并同时为学号创建主键约束,主键约束命名为pk_no,
时间: 2024-09-26 08:17:33 浏览: 59
在studentsdb数据库下创建名为stu的表,我们需要按照规范设定各个字段及其描述,并添加学号为主键。以下是创建表的SQL语句示例:
```sql
CREATE TABLE stu (
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '学生ID (自增长,自动编号)', -- 主键,用于唯一标识每个学生
no VARCHAR(20) NOT NULL UNIQUE COMMENT '学号 (必需,不允许重复)',
name VARCHAR(50) NOT NULL COMMENT '姓名',
gender ENUM('Male', 'Female') DEFAULT 'Male' COMMENT '性别',
age INT COMMENT '年龄',
class_id INT REFERENCES classes(id) COMMENT '班级ID (外键关联classes表)'
) ENGINE=InnoDB; -- 使用InnoDB引擎以支持事务处理
-- Comment: 这里假设有一个名为classes的表,包含id字段。
--
相关问题
(1)使用Transact-SQL语句为studentsdb数据库的student_info表和curriculum表创建主键索引。 (3)使用Transact-SQL语句为studentsdb数据库的grade表的“分数”字段创建一个非聚集索引,命名为grade_index。 (7)使用Transact-SQL语句Drop index删除索引grade_index。 (9)在studentsdb数据库中,使用Transact-SQL语句CREATE VIEW建立一个名为v_stu_c的视图,显示学生的学号、姓名、所学课程的课程编号,并利用视图查询学号为0003的学生情况。
(1)为student_info表创建主键索引:
```
ALTER TABLE student_info ADD CONSTRAINT PK_student_info PRIMARY KEY (student_id);
```
为curriculum表创建主键索引:
```
ALTER TABLE curriculum ADD CONSTRAINT PK_curriculum PRIMARY KEY (course_id);
```
(3)为grade表的“分数”字段创建一个非聚集索引:
```
CREATE NONCLUSTERED INDEX grade_index ON grade (score);
```
(7)删除索引grade_index:
```
DROP INDEX grade_index ON grade;
```
(9)创建视图v_stu_c并查询学号为0003的学生情况:
```
CREATE VIEW v_stu_c
AS
SELECT student_info.student_id, student_info.student_name, curriculum.course_id
FROM student_info
INNER JOIN grade
ON student_info.student_id = grade.student_id
INNER JOIN curriculum
ON grade.course_id = curriculum.course_id;
SELECT *
FROM v_stu_c
WHERE student_id = '0003';
```
阅读全文