• 主键约束:主键又称主码,是表中一列或多列的组合。

      1. 特点:主键约束要求主键列的数据唯一,并且不允许为空。主键类型分为单字段主键、多字段联合主键。<br /> 单字段主键:<br /> 定义列的时候指定主键
      1. create table tb_emp1;
      2. (
      3. id int(11) primary key,指定主键
      4. name varchar(25),
      5. deptID int(11),
      6. salary float
      7. );

      定义完所有列之后指定主键

      1. create table tb_emp1;
      2. (
      3. id int(11),
      4. name varchar(25),
      5. deptID int(11),
      6. salary float,
      7. primary key(id)#指定主键
      8. );

      多字段联合主键:

      1. create table tb_emp1;
      2. (
      3. id int(11),
      4. name varchar(25),
      5. deptID int(11),
      6. salary float,
      7. primary key(name,deptID)#多字段联合形成主键
      8. );
    • 外键约束:表的外键可以为空值,不为空值时,外键值必须等于另一个表主键中的某个值,定义完外键后不允许删除在另一个表中具有关联关系的行。

      主要作用:保证数据的完整性,一致性。
      例:部门表tb_dept的主键是id,员工表tb_emp外键字段为deptID。
      主表(父表):两个具有关联关系的表中关联字段主键所处的表。
      从表(子表):两个具有关联关系的表中关联字段外键所处的表。
      创建部门表

      1. create table tb_dept(
      2. id int(11) primary key,#部门编号
      3. name varchar(22) not null,#部门名称
      4. location varchar(50)#部门位置
      5. )

      创建员工表,并将deptID作为外键字段关联到部门表的主键

      1. create table tb_emp(
      2. id int(11) primary key,
      3. name varchar(20),
      4. deptID int(11),
      5. salary float,
      6. constraint fk_name foreign key(deptID) references tb_dept(id)#外键约束添加方式
      7. )
    • 非空约束:对于使用了非空约束的字段,在添加字段值时如果为空则会报错。

      1. 例:创建学生表设置指定name字段为非空约束。
      1. create table stu_test(
      2. id int(11) primary key,
      3. name varchar(20) not null,#非空约束
      4. location varchar(25)
      5. )
    • 唯一性约束:保证一列或者多列不出现重复值,允许为空,但只允许出现一次空值。

      1. 例:<br /> 创建字段时指定部门名称字段唯一,创建部门表tb_dept
      1. create table tb_dept(
      2. id int(11) primary key,
      3. name varchar(22) unique,
      4. location varchar(40)
      5. )
      1. 定义完所有列之后指定唯一约束字段
      1. create table tb_dept(
      2. id int(11) primary key,
      3. name varchar(22),
      4. location varchar(40),
      5. constraint test unique(name)
      6. )
    • 默认约束:指定某列的默认字段值,在没有对此列进行新值插入时,字段值为设置好的默认值。

    例:创建部门表tb_empt,部门id默认为12345

    1. create table tb_empt(
    2. id int(11) primary key,
    3. deptID int(11) default 123456#默认约束,默认值为123456
    4. )
    • 属性值自动增加约束:被约束字段必须为主键的一部分,添加好之后属性值自动增加1,默认初始值为1。

    例:创建学生表,设置主键id字段为自动增加属性。

    1. create table stu_test(
    2. id int(11) primary key auto_increment,#自动增加约束
    3. name varchar(20),
    4. location varchar(50)
    5. )