Sql创建teacher表,定义性别列,默认男
时间: 2024-09-08 10:01:47 浏览: 42
在SQL中创建一个名为`teacher`的表,并且定义一个性别列,其默认值为“男”,可以使用以下SQL语句:
```sql
CREATE TABLE teacher (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100) NOT NULL,
gender CHAR(1) DEFAULT '男'
-- 其他列定义...
);
```
在这个例子中,`teacher`表包含三列:
1. `id`:这是一个整数类型的列,用作教师表的主键。`AUTO_INCREMENT`属性表示每当插入新的记录时,该列的值会自动递增,从而保证每条记录的唯一性。
2. `name`:这是一个变长字符串类型的列,用来存储教师的名字。`VARCHAR(100)`表示这个字段可以存储最多100个字符,`NOT NULL`表示该列不允许为空值。
3. `gender`:这是一个字符类型的列,用来存储教师的性别。`CHAR(1)`表示该列只能存储一个字符的长度,`DEFAULT '男'`表示如果在插入数据时没有指定性别,则默认为“男”。
当然,根据实际需求,`teacher`表可能还会有其他列,比如年龄、职称、部门等。这里只是提供了一个简单的示例。
相关问题
SQL创建学生表要求性别可取“男”或“女”的语句
可以使用以下 SQL 语句创建一个包含“性别”列的学生表,并设置“性别”列的限制条件:
CREATE TABLE StudentTable (
ID INT PRIMARY KEY,
Name VARCHAR(50) NOT NULL,
Gender ENUM('男', '女') NOT NULL,
Age INT NOT NULL,
Grade FLOAT NOT NULL
);
其中,ENUM('男', '女') 表示“性别”列只允许取值“男”或“女”。
SQLServer 创建表之后,设置默认约束
在 SQL Server 中,我们可以在创建表之后设置默认约束。默认约束是指在插入新记录时,如果某个字段没有被赋值,那么该字段将会被赋予默认值。下面是一个示例:
```
CREATE TABLE MyTable (
ID INT PRIMARY KEY,
Name VARCHAR(50),
Age INT DEFAULT 18
);
ALTER TABLE MyTable ADD CONSTRAINT DF_Age DEFAULT 18 FOR Age;
```
在上面的示例中,我们创建了一个名为 MyTable 的表,并添加了三个列:ID、Name 和 Age。其中,ID 列是主键列。我们还在 Age 列上设置了默认值为 18,并且为该列添加了一个名为 DF_Age 的默认约束。
当我们向 MyTable 表中插入一条记录时,如果没有为 Age 列赋值,那么该列将会被自动赋值为 18。例如:
```
INSERT INTO MyTable (ID, Name) VALUES (1, 'Tom');
```
在上面的示例中,我们只为 ID 和 Name 列赋值,而没有为 Age 列赋值。因此,插入的记录中 Age 列的值将会是默认值 18。