用SQL语句6、设置约束: 表1:字段sid为主键,sname为唯一键并且非空,ssex的取值只能取男或者女,默认值为男 表2、3:字段sid为外键,sname为唯一键并且非空,数学成绩的取值范围在0-100之间
时间: 2023-05-23 12:07:03 浏览: 76
表1的创建语句如下:
```
CREATE TABLE table1 (
sid INT PRIMARY KEY,
sname VARCHAR(50) UNIQUE NOT NULL,
ssex ENUM('男', '女') DEFAULT '男'
);
```
表2和表3的创建语句如下:
```
CREATE TABLE table2 (
sid INT,
sname VARCHAR(50) UNIQUE NOT NULL,
math_score INT CHECK (math_score >= 0 AND math_score <= 100),
FOREIGN KEY (sid) REFERENCES table1(sid)
);
CREATE TABLE table3 (
sid INT,
sname VARCHAR(50) UNIQUE NOT NULL,
math_score INT CHECK (math_score >= 0 AND math_score <= 100),
FOREIGN KEY (sid) REFERENCES table1(sid)
);
```
注意:当一个字段设置了 UNIQUE 和 NOT NULL 约束时,实际上该字段就是唯一键了。同时,字段的类型定义中也可以包含 CHECK 约束,以实现进一步的取值限制。
相关问题
用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语句把student_info_625这个表修改sid为主键,sname为唯一键并且非空,ssex的取值只能取男或者女,默认值为男。
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类型,取值只能为男或女,默认值为男。