mysql创建表问题

img


想问一下这里想用mysql创建一个这样的表,约束应该怎么设置呢?

以下是MySQL建立该表的语句:

CREATE TABLE student (
    sno char(8) PRIMARY KEY,
    name varchar(20) NOT NULL,
    gender char(2) CHECK (gender IN ('男', '女')),
    age smallint DEFAULT 20,
    class_id char(10),
    remark char(30),
    FOREIGN KEY (class_id) REFERENCES class(class_id)
);

其中,sno字段为主键,name字段不能为空,gender字段只能为男或女,使用CHECK约束来限制取值范围,age字段默认值为20,class_id字段为外键,与班级表的class_id字段关联。注意,需要在执行该语句前先建立班级表class,并在class表的class_id字段上建立主键约束。