用SQL语句把student_info_625这个表修改sid为主键,sname为唯一键并且非空,ssex的取值只能取男或者女,默认值为男。
时间: 2023-05-23 14:07:24 浏览: 62
A:
修改sid为主键,sname为唯一键并且非空,ssex的取值只能取男或者女,默认值为男的SQL语句如下:
```
ALTER TABLE student_info_625 MODIFY sid INT PRIMARY KEY;
ALTER TABLE student_info_625 MODIFY sname VARCHAR(50) NOT NULL UNIQUE;
ALTER TABLE student_info_625 MODIFY ssex ENUM('男','女') DEFAULT '男';
```
解释:
- ALTER TABLE student_info_625 MODIFY sid INT PRIMARY KEY;:将sid列修改为主键,数据类型为INT。
- ALTER TABLE student_info_625 MODIFY sname VARCHAR(50) NOT NULL UNIQUE;:将sname列修改为唯一键并且非空,数据类型为VARCHAR,长度为50。
- ALTER TABLE student_info_625 MODIFY ssex ENUM('男','女') DEFAULT '男';:将ssex列修改为ENUM类型,取值只能为男或女,默认值为男。
相关问题
用SQL语句6、设置约束: 表1:字段sid为主键,sname为唯一键并且非空,ssex的取值只能取男或者女,默认值为男 表2
:字段cid为主键,cname为唯一键并且非空,ctype的取值只能取A或者B,默认值为A
创建表1的SQL语句:
```
CREATE TABLE Table1 (
sid int PRIMARY KEY,
sname varchar(50) UNIQUE NOT NULL,
ssex varchar(10) DEFAULT '男' CHECK (ssex IN ('男','女'))
);
```
创建表2的SQL语句:
```
CREATE TABLE Table2 (
cid int PRIMARY KEY,
cname varchar(50) UNIQUE NOT NULL,
ctype varchar(10) DEFAULT 'A' CHECK (ctype IN ('A','B'))
);
```
用SQL语句把sc1_625这个表修改为字段sid为外键,sname为唯一键并且非空,数学成绩的取值范围在0-100之间
A:
可以参考下面的SQL语句:
```
ALTER TABLE sc1_625
ADD CONSTRAINT fk_sid
FOREIGN KEY (sid)
REFERENCES student(sid);
ALTER TABLE sc1_625
ADD CONSTRAINT uc_sname
UNIQUE (sname);
ALTER TABLE sc1_625
MODIFY math_score INT(3)
CHECK (math_score BETWEEN 0 AND 100)
NOT NULL;
```
这里分为三个部分:
第一部分添加外键,添加一个名为fk_sid的外键,将表中的sid列关联到student表的sid列上。
第二部分添加唯一键,添加一个名为uc_sname的唯一键,将表中的sname列设置为唯一键。
第三部分修改数学分数列,将math_score列的数据类型设置为INT(3),并添加一个CHECK约束,确保取值范围在0-100之间,并设置为非空。