2022-10-20
阅读量:
385
mysql学习2-字段约束,主键约束,自增约束,非空约束,唯一约束,外键约束,默认约束
-- 5 创建数据表 create table dept( #创建dept部门表 deptno int primary key, #部门编号 dname varchar(10), #部门名称 loc varchar(15) #城市 ); create table emp( #创建emp员工表 empno int primary key auto_increment, #员工编号 ename varchar(10) unique key, #员工姓名 job varchar(15) not null, #职位 mgr int, #直属领导 hiredate date, #入职日期 sal decimal default 0, #工资 comm decimal, #提成 deptno int, #部门编号 foreign key(deptno) references dept(deptno) ); -- 6 查看当前数据库中有哪些表 show tables; -- 7 查看表结构 describe dept; desc emp; -- 8 删除数据表(慎用!) # drop table dept; 删除表的全部 # truncate table emp; # 清空表的数据,但保留表结构。 -- 9 插入数据: # 字段名与字段值的数据类型、个数、顺序必须一一对应 insert into dept(dname,deptno,loc) values ('accounting',10,'new york'),('research',20,'dallas'); # 与建表时的表结构字段顺序一一对应 insert into dept values (30,'sales','chicago'),(40,'operations','boston'); -- 10 查看表中的所有数据 select * from dept; select * from emp; -- 11 字段约束 #传入数据时受到字段约束 insert into emp values(1001,'a','operator',7369,'2021-02-01',8000,600,40); #符合约束条件可以传入 insert into emp(ename,job,sal,deptno) values('b','programmer',7000,40);#主键的自增约束分配了empno,如果无自增约束则报错触发主键约束 insert into emp(empno,ename,job,sal,deptno) values(1001,'c','acountant',6000,40);#报错:触发ename的主键约束 insert into emp(empno,ename,job,deptno) values(1003,'d','acountant',40);#默认约束,sal不输入时有默认值 insert into emp(empno,ename,job,sal,deptno) values(1004,'d','programmer',2100,40);#报错:触发唯一约束 insert into emp(empno,ename,sal,deptno) values(1005,'e',4000,40);#报错:触发非空约束, job要求非空,且无默认约束,所以必须给job传值 insert into emp(empno,ename,job,sal,deptno) values(106,'f','operator',3500,100);#报错:触发外键约束 insert into emp(empno,ename,job,sal,deptno) values(107,'g','operator','四千',40);#报错:数据类型不符






评论(0)


暂无数据
推荐帖子
0条评论
0条评论
0条评论