创建一个student表的代码包含唯一约束,主键约束,非空约束,自动增长
时间: 2024-05-10 22:14:30 浏览: 81
下面是一个创建student表的SQL代码,其中包含唯一约束、主键约束、非空约束和自动增长:
```sql
CREATE TABLE student (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
age INT NOT NULL,
email VARCHAR(50) UNIQUE,
PRIMARY KEY (id)
);
```
其中,id列是主键列,由于指定了AUTO_INCREMENT关键字,每次插入数据时,id列的值都会自动递增。name和age列都是非空列,因为它们没有指定NULL关键字。email列是唯一列,因为它在定义时使用了UNIQUE关键字。
相关问题
【例1】为学生表(student_1)学号添加主键约束,姓名添加非空约束,性别添加检查约束
你可以使用以下的 SQL 语句来为学生表(student_1)添加主键约束、非空约束和检查约束:
```sql
-- 添加主键约束
ALTER TABLE student_1
ADD CONSTRAINT pk_student_id PRIMARY KEY (学号);
-- 添加非空约束
ALTER TABLE student_1
ALTER COLUMN 姓名 SET NOT NULL;
-- 添加检查约束
ALTER TABLE student_1
ADD CONSTRAINT chk_gender CHECK (性别 IN ('男', '女'));
```
请注意,上述语句中的字段名称(学号、姓名、性别)应根据实际情况进行替换。另外,如果表中已经存在重复的学号或不符合检查约束的性别值,则执行上述语句时会失败。在执行之前,建议先备份数据或者确保数据符合约束要求。
数据库下创建三个表:student(sno主键 自动增长、sname唯一性约束、sage、ssex、sdept非空)、teacher(tno主键、tname、tgender、tcourse、tage)、course(cno主键、cname、class)
在数据库中创建这三个表格的SQL语句可能会看起来像这样:
1. 学生表 (student)
```sql
CREATE TABLE student (
sno INT PRIMARY KEY AUTO_INCREMENT,
sname VARCHAR(255) NOT NULL UNIQUE,
sage INT NOT NULL,
ssex ENUM('男', '女') NOT NULL,
sdept VARCHAR(255) NOT NULL
);
```
在这个表里,`sno`是自动递增的主键,`sname`字段有唯一的约束,不允许有重复值;`sage`、`ssex`和`sdept`都是非空字段。
2. 教师表 (teacher)
```sql
CREATE TABLE teacher (
tno INT PRIMARY KEY,
tname VARCHAR(255) NOT NULL,
tgender ENUM('男', '女') NOT NULL,
tcourse VARCHAR(255) NOT NULL,
tage INT NOT NULL
);
```
这里,`tno`作为主键,同样不允许为空;`tcourse`是非空字段,表示教师的专业课程。
3. 课程表 (course)
```sql
CREATE TABLE course (
cno INT PRIMARY KEY,
cname VARCHAR(255) NOT NULL,
class INT NOT NULL
);
```
`cno`是课程的主键,`cname`和`class`也是非空字段,分别代表课程名称和班级。
阅读全文