用sql语句约束男女
时间: 2023-11-21 20:55:06 浏览: 66
SQL语句可以使用约束来限制表中数据的类型和值。在这个问题中,我们可以使用检查约束来限制性别只能为男或女。下面是一个示例表和检查约束的SQL语句:
```sql
CREATE TABLE person (
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
gender VARCHAR(10) NOT NULL CHECK (gender IN ('男', '女'))
);
```
上面的SQL语句创建了一个名为person的表,其中包含id、name和gender三个列。其中,id是主键,name和gender都是非空列。gender列还包含一个检查约束,该约束限制gender列的值只能为'男'或'女'。
相关问题
怎么样用sql语句查看约束
要查看数据库中的约束,可以使用SQL语句查询系统表来实现。以下是一些常见的查询约束的SQL语句:
1. 查看所有表的约束:
```
SELECT
tc.constraint_name,
tc.table_name,
kcu.column_name,
ccu.table_name AS foreign_table_name,
ccu.column_name AS foreign_column_name
FROM
information_schema.table_constraints AS tc
JOIN information_schema.key_column_usage AS kcu ON tc.constraint_name = kcu.constraint_name
JOIN information_schema.constraint_column_usage AS ccu ON ccu.constraint_name = tc.constraint_name
WHERE
constraint_type = 'FOREIGN KEY';
```
2. 查看指定表的约束:
```
SELECT
tc.constraint_name,
tc.table_name,
kcu.column_name,
ccu.table_name AS foreign_table_name,
ccu.column_name AS foreign_column_name
FROM
information_schema.table_constraints AS tc
JOIN information_schema.key_column_usage AS kcu ON tc.constraint_name = kcu.constraint_name
JOIN information_schema.constraint_column_usage AS ccu ON ccu.constraint_name = tc.constraint_name
WHERE
constraint_type = 'FOREIGN KEY' AND tc.table_name = 'your_table_name';
```
以上SQL语句可以帮助你查询数据库中的所有或者指定表的约束信息。需要注意的是,不同的数据库管理系统可能存在细微差别,具体的语法可能会有所不同。
用sql 语句删除约束
使用 ALTER TABLE 语句可以删除约束。
删除主键约束:
```
ALTER TABLE table_name DROP CONSTRAINT constraint_name;
```
删除唯一约束:
```
ALTER TABLE table_name DROP CONSTRAINT constraint_name;
```
删除外键约束:
```
ALTER TABLE table_name DROP CONSTRAINT constraint_name;
```
删除检查约束:
```
ALTER TABLE table_name DROP CONSTRAINT constraint_name;
```