MySQL5.5.21学习教程之二(三)

2015-01-21 11:12:23 · 作者: · 浏览: 28
ault | Extra | +--------+-------------+------+-----+---------+-------+ | deptno | int(11) | NO | PRI | 0 | | | dname | varchar(20) | NO | PRI | | | | loc | varchar(40) | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ drop table t_dept; 设置字段值自动增加 create table t_dept( deptno INTEGER auto_increment, dname VARCHAR(20), loc VARCHAR(40), constraint uk_dname unique(dname), constraint pk_dname_depno primary key(deptno,dname) ); desc t_dept; +--------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+----------------+ | deptno | int(11) | NO | PRI | NULL | auto_increment | | dname | varchar(20) | NO | PRI | | | | loc | varchar(40) | YES | | NULL | | +--------+-------------+------+-----+---------+----------------+ 设置外键约束通常能表示多个表之间的参照性的完整性约束,即构建于两个 表的两个字段之间的参照关系 设置外键约束的两个表之间会具有父子关系,即子表中某个字段的取值范围由 父表决定,表示一种部门和雇员关系,即每个部分有多少雇员。 首先应该有两个表:部门表和雇员表,雇员表中有一个字段表示部门编号的字段deptno 其依赖于部门表的主键,这样字段deptno就是雇员表的外键,通过该字段部门编号的字段deptno 其依赖于部门表的主键,这样字段deptno就是雇员表的外键。 create table table_name ( 属性名 数据类型, 属性名 数据类型, ...... constraint 外键约束名 foreign key (属性名1) references 表明(属性名2) ); create table t_employee( empno INTEGER primary key, ename VARCHAR(20), job VARCHAR(20), MGR INTEGER, Hiredate date, sal double(10,2), comm double(10,2), deptno INTEGER, constraint fk_deptno foreign key(deptno) references t_dept(deptno) ); show tables; +-------------------+ | Tables_in_company | +-------------------+ | t_dept | | t_employee | +-------------------+ desc t_employee; +----------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+--------------+------+-----+---------+-------+ | empno | int(11) | NO | PRI | NULL | | | ename | varchar(20) | YES | | NULL | | | job | varchar(20) | YES | | NULL | | | MGR | int(11) | YES | | NULL | | | Hiredate | date | YES | | NULL | | | sal | double(10,2) | YES | | NULL | | | comm | double(10,2) | YES | | NULL | | | deptno | int(11) | YES | MUL | NULL | | +----------+--------------+------+-----+---------+-------+