create table student( sno int(6) primary key auto_increment, sname varchar(5) not null, sex char(1) default '男' check(sex='男'|| sex='女') , age int(3) check(age>=18 and age<=50), enterdate date, classname varchar(10), email varchar(15) unique ); 表级约束 create table student7( sno int(6) auto_increment, sname varchar(5) not null, sex char(1) default '男' , age int(3) , enterdate date, classname varchar(10), email varchar(15) , constraint pk_stu primary key (sno), constraint ck_se check (sex='男'|| sex='女'), constraint ck_ag check (age>=18 and age<=50), constraint uq_stu_email unique (email) ); drop table student; delete from student; select * from student; 1、auto_increment insert into student values (1108,'张三','男','18','2021-.9-1','java01','zs@1693.com'); > insert into student values (null,'张三','男','18','2021-.9-1','java01','zs@164.com'); 2、primary key insert into student values (1101,'张三','男','18','2021-.9-1','java01','zs@165.com'); 3、not null insert into student values (null,null,'女','18','2021-.9-1','java01','zs@166.com'); > 1048 - Column 'sname' cannot be null 4、default insert into student values (null,'张三',null,'18','2021-.9-1','java01','zs@169.com'); insert into student (sno,sname,age,enterdate,classname,email) values (null,'张三','19','2021-.9-1','java01','zs@166.com'); 5、check(sex='男'|| sex='女') insert into student values (null,'张三','南','18','2021-.9-1','java01','zs@160.com'); > 3819 - Check constraint 'student_chk_1' is violated. 3819 - Check constraint 'student_chk_2' is violated. > 时间: 0s 6、check(age>=18 and age<=50) insert into student values (null,'张三','女','12','2021-.9-1','java01','zs@162.com'); 3819 - Check constraint 'student_chk_2' is violated. > 时间: 0s 7、unique select * from student; insert into student values (null,'张三','男','18','2021-.9-1','java01','zs@166.com'); > 1062 - Duplicate entry 'zs@166.com' for key 'student.email' 表级约束 create table student7( sno int(6) auto_increment, sname varchar(5) not null, sex char(1) default '男' , age int(3) , enterdate date, classname varchar(10), email varchar(15) , constraint pk_stu primary key (sno), constraint ck_se check (sex='男'|| sex='女'), constraint ck_ag check (age>=18 and age<=50), constraint uq_stu_email unique (email) );
时间: 2024-01-15 09:02:33 浏览: 147
MySQL之DDL语句
您好,这段SQL语句包含了创建表、表级约束以及一些插入数据的操作。下面是对这段SQL语句的解释和回答:
1. 创建表student和student7,student表中使用了auto_increment作为主键,而student7表中则使用了constraint pk_stu primary key (sno)作为主键。
2. 在student表中插入数据时,使用了auto_increment来自动生成主键,另外也可以使用null来插入数据,系统会自动分配一个新的主键。
3. 在student表中使用了not null约束,插入数据时必须保证该列有值,否则会报错。
4. 在student表中使用了default约束,如果插入数据时没有给定该列的值,则会使用默认值。
5. 在student表中使用了check约束,保证插入的数据符合指定的条件。
6. 在student表中使用了check约束,保证插入的数据符合指定的条件。
7. 在student表中使用了unique约束,保证插入的数据在该列中唯一。
总体来说,这段SQL语句主要是用于创建一个学生表,并对该表的字段进行了一些约束和限制,以确保插入的数据符合要求。同时,也演示了一些插入数据时可能出现的错误和异常情况。
阅读全文