create table student(son varchar(20) primary key not null,sname varchar(20) not null,age int ,sex varchar);错在哪?
时间: 2023-11-22 22:51:58 浏览: 173
该语句有两处错误:
1. 缺少数据类型:在 sex 字段后面缺少数据类型定义,应该指定为 `varchar(10)` 或者其他适当的类型。
2. 缺少关键字:应该将 `son` 字段后面的 `not null` 改为 `not null unique`。
正确的语句应该是:
```
create table student(son varchar(20) not null unique primary key,sname varchar(20) not null,age int ,sex varchar(10) not null);
```
其中,`not null unique` 表示该字段不能为空且唯一。
相关问题
检索被学生选修的课程编号和课程名称。 分数 5 作者 白彦辉 单位 赤峰学院 题干: 检索被学生选修的课程编号和课程名称。 提示:请使用SELECT语句作答。 表结构: 定义表结构的SQL语句如下: CREATE TABLE student ( sno varchar(6) NOT NULL , sname varchar(10) , sex char(2) , nation char(2) , pnum char(18) , birth date , phone char(11) , dept varchar(20) , PRIMARY KEY (sno) ) ; CREATE TABLE course ( cno varchar(6) NOT NULL, cname varchar(20) , credit int(11) , attribute varchar(10) , PRIMARY KEY (cno) ) ; CREATE TABLE score ( sno varchar(6) NOT NULL, cno varchar(6) NOT NULL, term varchar(15), grade int(11), PRIMARY KEY (sno,cno) ) ; 表样例 student表: student.png course表: course.png score表: score.png 输出样例: 7-2.png
SELECT course.cno, course.cname
FROM course
JOIN score ON course.cno = score.cno
WHERE score.sno = '学生编号';
其中,将 '学生编号' 替换成实际的学生编号即可查询该学生所选修的课程编号和课程名称。
-- 切换到数据库 SC USE SC; -- 创建学生表 Students_8208210915 CREATE TABLE Students_8208210915 ( Sno INT PRIMARY KEY, Sname VARCHAR(20) NOT NULL, Gender CHAR(2) CHECK (Gender IN ('男', '女')), Birthday DATE NOT NULL ); -- 创建课程表 Courses_8208210915 CREATE TABLE Courses_8208210915 ( Cno INT PRIMARY KEY, Cname VARCHAR(20) NOT NULL, PCno INT, Hours INT NOT NULL, Credit INT NOT NULL, FOREIGN KEY (PCno) REFERENCES Courses_8208210915 (Cno) ); -- 创建选修表 Score_8208210915 CREATE TABLE Score_8208210915 ( Sno INT NOT NULL, Cno INT NOT NULL, Score INT NOT NULL, PRIMARY KEY (Sno, Cno), FOREIGN KEY (Sno) REFERENCES Students_8208210915 (Sno), FOREIGN KEY (Cno) REFERENCES Courses_8208210915 (Cno) );
好的,以上代码是用 SQL 语言在数据库 SC 中创建了三个表:Students_8208210915、Courses_8208210915 和 Score_8208210915。Students_8208210915 表包含学生的学号、姓名、性别和出生日期信息;Courses_8208210915 表包含课程的课程号、课程名、先修课程号、学时和学分信息;Score_8208210915 表包含学生选修课程的成绩信息,其中包括学生的学号、课程的课程号和成绩。表之间通过主键和外键进行关联。
阅读全文