数据库--主键与外键

主键

  1. 主键的特点
    ·非空
    ·唯一
    ·被引用–外键

  2. 操作主键的四种种方法:
    1)创建表时指定主键:

    CREATE TABLE 表名(
    列名 类型 PRIMARY KEY
    );
    

    2)在后面添加

    CREATE TABLE 表名(
    	列名 类型,
    	PRIMARY KEY(列名)
    	);
    

    3)在表创建后添加主键:

    ALTER TABLE 表名 ADD PRIMARY KEY(列名);
    

    4)删除主键:

    ALTER TABLE 表名 DROP PRIMARY KEY;
    
  3. 主键自增长–因为主键的唯一性,通常设置主键为整型,然后设置其自动增长,这样可以保证主键在插入数据的时候的唯一性和非空性:
    1)创建主键自增长:

    CREATE TABLE 表名(
    列名 类型 PRIMARY KEY AUTO_INCREMENT,
    );
    

    2)修改表时设置主键增长:
    ALTER TABLE 表名 CHANGE 列名 INT AUTO_INCREMENT;//这样吧这个列该成整型,然后自增长。
    3)删除自增长:
    ALTER TABLE 表名 CHANGE 列名 INT;//即重新设置列的属性。
    主键即使设置了自增长,也可以自己设置。

  4. 非空特性–不是说主键而是NOT NULL:
    1)设置非空特性:

    CREATE TABLE 表名(
    列名 类型 NOT NULL
    );
    
  5. 唯一特性–不一定非空
    1)设置唯一特性:

    CREATE TABLE 表名(
    列名 类型 NOT NULL UNIQUE
    );
    

外键

外键特点:

  1. 外键必须是另一个表的主键的值(即外键要引用主键)
  2. 外键可以重复
  3. 外键可以为空
  4. 一张表可以有多个外键
  5. 当外键就是本表的主键的时候这个外键就是唯一的了,表示一对一关系。

如何指定外键:

  1. 创建表时:

    CREATE TABLE 表名(
    列名 属性,
    CONSTRAINT 别名 FOREIGN KEY(列名) REFERENCES 另一个表名(主键列名)
    );
    
  2. 修改表时:

    ALTER TABLE 表名 ADD 
    CONSTRAINT 别名 FOREIGN KEY(列名) REFERENCES 另一个表名(主键列名)
    

外键作用:
可以为设置外键的这个表添加约束,即如外键的特点所述,这个外键的值必须是它引用的主键的中的一个值,但是可以为空,可以重复。

你可能感兴趣的:(数据库,数据库)