如何用sql语句将其值只能为“男”或“女”,默认值为“男”
时间: 2023-11-22 11:05:16 浏览: 674
您可以使用以下 SQL 语句创建只允许值为“男”或“女”的列,并将其默认值设置为“男”:
CREATE TABLE table_name(
id int PRIMARY KEY,
name varchar(255) NOT NULL,
gender ENUM("男", "女") DEFAULT "男"
);
在上述 SQL 语句中,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语句把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类型,取值只能为男或女,默认值为男。
阅读全文